@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
@@ -1 +1 @@
1
- {"version":3,"file":"popup-content-animation.styles-Dc6d9quJ.js","names":[],"sources":["../../src/styles/popup-content-animation.styles.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Placement-aware popup enter/exit motion — mirrors plugin-kit-react DropdownMenu\n * (fade + zoom + side slide on enter; fade + zoom only on exit).\n *\n * Keyframes stay outside `@layer` so constructed stylesheets resolve animation\n * names reliably (Chrome DevTools otherwise reports them as undefined).\n */\nexport const popupContentAnimationStyles = css`\n @layer pk-component {\n .pk-popup-content {\n transform-origin: var(--pk-transform-origin, top);\n }\n\n .pk-popup-content[data-open] {\n animation: pk-popup-content-in 100ms ease-out;\n }\n\n .pk-popup-content[data-open][data-side='bottom'] {\n animation-name: pk-popup-content-in-bottom;\n }\n\n .pk-popup-content[data-open][data-side='top'] {\n animation-name: pk-popup-content-in-top;\n }\n\n .pk-popup-content[data-open][data-side='left'] {\n animation-name: pk-popup-content-in-left;\n }\n\n .pk-popup-content[data-open][data-side='right'] {\n animation-name: pk-popup-content-in-right;\n }\n\n /* Exit: fade + zoom only — matches tw-animate animate-out / tooltip motion. */\n .pk-popup-content.closing {\n animation: pk-popup-content-out 100ms ease-in forwards;\n }\n }\n\n @keyframes pk-popup-content-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n @keyframes pk-popup-content-out {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n\n @keyframes pk-popup-content-in-bottom {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes pk-popup-content-in-top {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes pk-popup-content-in-left {\n from {\n opacity: 0;\n transform: scale(0.95) translateX(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateX(0);\n }\n }\n\n @keyframes pk-popup-content-in-right {\n from {\n opacity: 0;\n transform: scale(0.95) translateX(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateX(0);\n }\n }\n`;\n"],"mappings":";;;;;;;;;AASA,IAAa,8BAA8B,GAAG"}
1
+ {"version":3,"file":"popup-content-animation.styles-BnNiguJo.js","names":[],"sources":["../../src/styles/popup-content-animation.styles.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Placement-aware popup enter/exit motion — mirrors plugin-kit-react DropdownMenu\n * (fade + zoom + side slide on enter; fade + zoom only on exit).\n *\n * Keyframes stay outside `@layer` so constructed stylesheets resolve animation\n * names reliably (Chrome DevTools otherwise reports them as undefined).\n */\nexport const popupContentAnimationStyles = css`\n @layer pk-component {\n .pk-popup-content {\n transform-origin: var(--pk-transform-origin, top);\n }\n\n .pk-popup-content[data-open] {\n animation: pk-popup-content-in 100ms ease-out;\n }\n\n .pk-popup-content[data-open][data-side='bottom'] {\n animation-name: pk-popup-content-in-bottom;\n }\n\n .pk-popup-content[data-open][data-side='top'] {\n animation-name: pk-popup-content-in-top;\n }\n\n .pk-popup-content[data-open][data-side='left'] {\n animation-name: pk-popup-content-in-left;\n }\n\n .pk-popup-content[data-open][data-side='right'] {\n animation-name: pk-popup-content-in-right;\n }\n\n /* Exit: fade + zoom only — matches tw-animate animate-out / tooltip motion. */\n .pk-popup-content.closing {\n animation: pk-popup-content-out 100ms ease-in forwards;\n }\n }\n\n @keyframes pk-popup-content-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n @keyframes pk-popup-content-out {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n\n @keyframes pk-popup-content-in-bottom {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes pk-popup-content-in-top {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes pk-popup-content-in-left {\n from {\n opacity: 0;\n transform: scale(0.95) translateX(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateX(0);\n }\n }\n\n @keyframes pk-popup-content-in-right {\n from {\n opacity: 0;\n transform: scale(0.95) translateX(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: scale(1) translateX(0);\n }\n }\n`;\n"],"mappings":";;;;;;;;;AASA,IAAa,8BAA8B,GAAG"}
@@ -31,4 +31,4 @@ function isPointerInsideOverlay(event, options = {}) {
31
31
  //#endregion
32
32
  export { isPointerInsideOverlay as n, isEventInsideOverlay as t };
33
33
 
34
- //# sourceMappingURL=popup-pointer-DMnuZDQl.js.map
34
+ //# sourceMappingURL=popup-pointer-CuLjk1th.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popup-pointer-DMnuZDQl.js","names":[],"sources":["../../src/utils/popup-pointer.ts"],"sourcesContent":["/**\n * Returns true when a pointer event occurred on pk-popup content.\n *\n * Intentionally matches *any* popup surface — callers that need overlay-scoped\n * hit testing should use {@link isEventInsideOverlay} instead.\n */\nexport function isPointerInPopupSurface(event: PointerEvent): boolean {\n return event.composedPath().some((node) => {\n if (!(node instanceof HTMLElement)) {\n return false;\n }\n\n return node.classList.contains('popup')\n || node.localName === 'pk-popup';\n });\n}\n\nexport type PointerInsideOverlayOptions = {\n host?: HTMLElement;\n anchor?: Element | null;\n panel?: Element | null;\n extraMatches?: (element: HTMLElement) => boolean;\n};\n\n/** Resolve the pk-popup that owns this overlay's panel (or the host's popup). */\nfunction resolveOwnPopup(options: PointerInsideOverlayOptions): Element | null {\n if (options.panel instanceof Element) {\n const closest = options.panel.closest('pk-popup');\n\n if (closest) {\n return closest;\n }\n\n // Panel may live in a shadow tree whose host is pk-popup.\n const root = options.panel.getRootNode();\n\n if (root instanceof ShadowRoot && root.host.localName === 'pk-popup') {\n return root.host;\n }\n }\n\n if (options.host instanceof HTMLElement) {\n return options.host.shadowRoot?.querySelector('pk-popup')\n ?? options.host.querySelector(':scope > pk-popup')\n ?? options.host.querySelector('pk-popup');\n }\n\n return null;\n}\n\n/** Shared hit/focus-path testing for pk-popup consumers (pointer or keyboard events). */\nexport function isEventInsideOverlay(\n event: Event,\n options: PointerInsideOverlayOptions = {},\n): boolean {\n const path = event.composedPath();\n\n if (options.host && path.includes(options.host)) {\n return true;\n }\n\n if (options.anchor && path.includes(options.anchor)) {\n return true;\n }\n\n if (options.panel && path.includes(options.panel)) {\n return true;\n }\n\n // Only *this* overlay's popup counts. Dropdown menus slot their trigger inside\n // pk-popup as the anchor — matching any pk-popup here would treat a click on\n // another menu's trigger as \"inside\" and block light-dismiss (two menus open).\n const ownPopup = resolveOwnPopup(options);\n\n if (ownPopup && path.includes(ownPopup)) {\n return true;\n }\n\n return path.some((node) => {\n if (!(node instanceof HTMLElement)) {\n return false;\n }\n\n // Own popup internals may use a `.popup` surface node that is not the\n // custom element itself — still scoped via ancestry to ownPopup.\n if (\n ownPopup\n && node.classList.contains('popup')\n && (node === ownPopup || ownPopup.contains(node))\n ) {\n return true;\n }\n\n return options.extraMatches?.(node) ?? false;\n });\n}\n\n/** Shared light-dismiss hit testing for pk-popup consumers. */\nexport function isPointerInsideOverlay(\n event: PointerEvent,\n options: PointerInsideOverlayOptions = {},\n): boolean {\n return isEventInsideOverlay(event, options);\n}\n"],"mappings":";;AAyBA,SAAS,gBAAgB,SAAsD;AAC3E,KAAI,QAAQ,iBAAiB,SAAS;EAClC,MAAM,UAAU,QAAQ,MAAM,QAAQ,WAAW;AAEjD,MAAI,QACA,QAAO;EAIX,MAAM,OAAO,QAAQ,MAAM,aAAa;AAExC,MAAI,gBAAgB,cAAc,KAAK,KAAK,cAAc,WACtD,QAAO,KAAK;;AAIpB,KAAI,QAAQ,gBAAgB,YACxB,QAAO,QAAQ,KAAK,YAAY,cAAc,WAAW,IAClD,QAAQ,KAAK,cAAc,oBAAoB,IAC/C,QAAQ,KAAK,cAAc,WAAW;AAGjD,QAAO;;;AAIX,SAAgB,qBACZ,OACA,UAAuC,EAAE,EAClC;CACP,MAAM,OAAO,MAAM,cAAc;AAEjC,KAAI,QAAQ,QAAQ,KAAK,SAAS,QAAQ,KAAK,CAC3C,QAAO;AAGX,KAAI,QAAQ,UAAU,KAAK,SAAS,QAAQ,OAAO,CAC/C,QAAO;AAGX,KAAI,QAAQ,SAAS,KAAK,SAAS,QAAQ,MAAM,CAC7C,QAAO;CAMX,MAAM,WAAW,gBAAgB,QAAQ;AAEzC,KAAI,YAAY,KAAK,SAAS,SAAS,CACnC,QAAO;AAGX,QAAO,KAAK,MAAM,SAAS;AACvB,MAAI,EAAE,gBAAgB,aAClB,QAAO;AAKX,MACI,YACG,KAAK,UAAU,SAAS,QAAQ,KAC/B,SAAS,YAAY,SAAS,SAAS,KAAK,EAEhD,QAAO;AAGX,SAAO,QAAQ,eAAe,KAAK,IAAI;GACzC;;;AAIN,SAAgB,uBACZ,OACA,UAAuC,EAAE,EAClC;AACP,QAAO,qBAAqB,OAAO,QAAQ"}
1
+ {"version":3,"file":"popup-pointer-CuLjk1th.js","names":[],"sources":["../../src/utils/popup-pointer.ts"],"sourcesContent":["/**\n * Returns true when a pointer event occurred on pk-popup content.\n *\n * Intentionally matches *any* popup surface — callers that need overlay-scoped\n * hit testing should use {@link isEventInsideOverlay} instead.\n */\nexport function isPointerInPopupSurface(event: PointerEvent): boolean {\n return event.composedPath().some((node) => {\n if (!(node instanceof HTMLElement)) {\n return false;\n }\n\n return node.classList.contains('popup')\n || node.localName === 'pk-popup';\n });\n}\n\nexport type PointerInsideOverlayOptions = {\n host?: HTMLElement;\n anchor?: Element | null;\n panel?: Element | null;\n extraMatches?: (element: HTMLElement) => boolean;\n};\n\n/** Resolve the pk-popup that owns this overlay's panel (or the host's popup). */\nfunction resolveOwnPopup(options: PointerInsideOverlayOptions): Element | null {\n if (options.panel instanceof Element) {\n const closest = options.panel.closest('pk-popup');\n\n if (closest) {\n return closest;\n }\n\n // Panel may live in a shadow tree whose host is pk-popup.\n const root = options.panel.getRootNode();\n\n if (root instanceof ShadowRoot && root.host.localName === 'pk-popup') {\n return root.host;\n }\n }\n\n if (options.host instanceof HTMLElement) {\n return options.host.shadowRoot?.querySelector('pk-popup')\n ?? options.host.querySelector(':scope > pk-popup')\n ?? options.host.querySelector('pk-popup');\n }\n\n return null;\n}\n\n/** Shared hit/focus-path testing for pk-popup consumers (pointer or keyboard events). */\nexport function isEventInsideOverlay(\n event: Event,\n options: PointerInsideOverlayOptions = {},\n): boolean {\n const path = event.composedPath();\n\n if (options.host && path.includes(options.host)) {\n return true;\n }\n\n if (options.anchor && path.includes(options.anchor)) {\n return true;\n }\n\n if (options.panel && path.includes(options.panel)) {\n return true;\n }\n\n // Only *this* overlay's popup counts. Dropdown menus slot their trigger inside\n // pk-popup as the anchor — matching any pk-popup here would treat a click on\n // another menu's trigger as \"inside\" and block light-dismiss (two menus open).\n const ownPopup = resolveOwnPopup(options);\n\n if (ownPopup && path.includes(ownPopup)) {\n return true;\n }\n\n return path.some((node) => {\n if (!(node instanceof HTMLElement)) {\n return false;\n }\n\n // Own popup internals may use a `.popup` surface node that is not the\n // custom element itself — still scoped via ancestry to ownPopup.\n if (\n ownPopup\n && node.classList.contains('popup')\n && (node === ownPopup || ownPopup.contains(node))\n ) {\n return true;\n }\n\n return options.extraMatches?.(node) ?? false;\n });\n}\n\n/** Shared light-dismiss hit testing for pk-popup consumers. */\nexport function isPointerInsideOverlay(\n event: PointerEvent,\n options: PointerInsideOverlayOptions = {},\n): boolean {\n return isEventInsideOverlay(event, options);\n}\n"],"mappings":";;AAyBA,SAAS,gBAAgB,SAAsD;AAC3E,KAAI,QAAQ,iBAAiB,SAAS;EAClC,MAAM,UAAU,QAAQ,MAAM,QAAQ,WAAW;AAEjD,MAAI,QACA,QAAO;EAIX,MAAM,OAAO,QAAQ,MAAM,aAAa;AAExC,MAAI,gBAAgB,cAAc,KAAK,KAAK,cAAc,WACtD,QAAO,KAAK;;AAIpB,KAAI,QAAQ,gBAAgB,YACxB,QAAO,QAAQ,KAAK,YAAY,cAAc,WAAW,IAClD,QAAQ,KAAK,cAAc,oBAAoB,IAC/C,QAAQ,KAAK,cAAc,WAAW;AAGjD,QAAO;;;AAIX,SAAgB,qBACZ,OACA,UAAuC,EAAE,EAClC;CACP,MAAM,OAAO,MAAM,cAAc;AAEjC,KAAI,QAAQ,QAAQ,KAAK,SAAS,QAAQ,KAAK,CAC3C,QAAO;AAGX,KAAI,QAAQ,UAAU,KAAK,SAAS,QAAQ,OAAO,CAC/C,QAAO;AAGX,KAAI,QAAQ,SAAS,KAAK,SAAS,QAAQ,MAAM,CAC7C,QAAO;CAMX,MAAM,WAAW,gBAAgB,QAAQ;AAEzC,KAAI,YAAY,KAAK,SAAS,SAAS,CACnC,QAAO;AAGX,QAAO,KAAK,MAAM,SAAS;AACvB,MAAI,EAAE,gBAAgB,aAClB,QAAO;AAKX,MACI,YACG,KAAK,UAAU,SAAS,QAAQ,KAC/B,SAAS,YAAY,SAAS,SAAS,KAAK,EAEhD,QAAO;AAGX,SAAO,QAAQ,eAAe,KAAK,IAAI;GACzC;;;AAIN,SAAgB,uBACZ,OACA,UAAuC,EAAE,EAClC;AACP,QAAO,qBAAqB,OAAO,QAAQ"}
@@ -1,86 +1,86 @@
1
1
  import { t as PkSpinner } from "./pk-spinner-DweuYJ_Z.js";
2
- import { t as PkButton } from "./pk-button-BWGDkuzc.js";
2
+ import { t as PkButton } from "./pk-button-BrH4u4Qr.js";
3
3
  import "../components/button.js";
4
4
  import { t as PkButtonGroup } from "./pk-button-group-BSz5T5iS.js";
5
5
  import { t as PkButtonGroupSeparator } from "./pk-button-group-separator-DH3Rl24b.js";
6
6
  import { t as PkButtonGroupText } from "./pk-button-group-text-Qro_KmZb.js";
7
7
  import "../components/button-group.js";
8
- import { t as PkCheckbox } from "./pk-checkbox-CvZwJZn_.js";
8
+ import { t as PkCheckbox } from "./pk-checkbox-CfV1uDdC.js";
9
9
  import "../components/checkbox.js";
10
- import { n as PkCheckboxSelect } from "./pk-checkbox-select-DclPoyDM.js";
10
+ import { n as PkCheckboxSelect } from "./pk-checkbox-select-DeCaI3a0.js";
11
11
  import "../components/checkbox-select.js";
12
- import { t as PkCodeEditor } from "./pk-code-editor-CrKnJUyi.js";
12
+ import { t as PkCodeEditor } from "./pk-code-editor-BG9sG_Fy.js";
13
13
  import "../components/code-editor.js";
14
- import { t as PkCombobox } from "./pk-combobox-BLft8AXy.js";
15
- import { t as PkPopup } from "./pk-popup-B9AgBC2V.js";
16
- import { t as PkInput } from "./pk-input-DDkIXOkt.js";
14
+ import { t as PkCombobox } from "./pk-combobox-CL9En0J-.js";
15
+ import { t as PkPopup } from "./pk-popup-B65tZMQH.js";
16
+ import { t as PkInput } from "./pk-input-CF_icEtR.js";
17
17
  import "../components/input.js";
18
- import { t as PkInputGroup } from "./pk-input-group-CRPSBFhX.js";
19
- import { t as PkInputGroupAddon } from "./pk-input-group-addon-B0StOmTJ.js";
20
- import { t as PkInputGroupButton } from "./pk-input-group-button-CnKajvsP.js";
21
- import { t as PkInputGroupInput } from "./pk-input-group-input-mllffsjQ.js";
22
- import { t as PkInputGroupText } from "./pk-input-group-text-DvaPJvh2.js";
23
- import { t as PkInputGroupTextarea } from "./pk-input-group-textarea-CqYv8tUQ.js";
18
+ import { t as PkInputGroup } from "./pk-input-group-BLqKPnfc.js";
19
+ import { t as PkInputGroupAddon } from "./pk-input-group-addon-ClBkGmAw.js";
20
+ import { t as PkInputGroupButton } from "./pk-input-group-button-CHQHsWd4.js";
21
+ import { t as PkInputGroupInput } from "./pk-input-group-input-oNnqMBGU.js";
22
+ import { t as PkInputGroupText } from "./pk-input-group-text-HUxlXROB.js";
23
+ import { t as PkInputGroupTextarea } from "./pk-input-group-textarea-Cl2FNuw-.js";
24
24
  import "../components/input-group.js";
25
- import { t as PkTextarea } from "./pk-textarea-BcAyZYC-.js";
25
+ import { t as PkTextarea } from "./pk-textarea-CYM2tK88.js";
26
26
  import "../components/textarea.js";
27
- import { t as PkSeparator } from "./pk-separator-CHij3vEG.js";
27
+ import { t as PkSeparator } from "./pk-separator-N-VyjYE6.js";
28
28
  import "../components/separator.js";
29
- import { t as PkStatus } from "./pk-status-D1IzTSI2.js";
29
+ import { t as PkStatus } from "./pk-status-BehQARDv.js";
30
30
  import "../components/status.js";
31
- import { t as PkToggle } from "./pk-toggle-CW-lflrh.js";
31
+ import { t as PkToggle } from "./pk-toggle-BthhH7vl.js";
32
32
  import "../components/toggle.js";
33
- import { t as PkToggleGroup } from "./pk-toggle-group-BKymefo3.js";
33
+ import { t as PkToggleGroup } from "./pk-toggle-group-D2Quux8D.js";
34
34
  import "../components/toggle-group.js";
35
- import { t as PkLightswitch } from "./pk-lightswitch-DI1BeCmA.js";
35
+ import { t as PkLightswitch } from "./pk-lightswitch-D1qEFRxK.js";
36
36
  import "../components/lightswitch.js";
37
- import { t as PkDialog } from "./pk-dialog-BbEfvb0g.js";
37
+ import { t as PkDialog } from "./pk-dialog-VMQqLW1f.js";
38
38
  import { PkIcon } from "../components/icon/pk-icon.js";
39
39
  import { PkConnect } from "../components/connect/pk-connect.js";
40
40
  import { PkConnectOauth } from "../components/connect/pk-connect-oauth.js";
41
41
  import "../components/connect.js";
42
- import { t as PkCopyButton } from "./pk-copy-button-asOLQkqk.js";
42
+ import { t as PkCopyButton } from "./pk-copy-button-BVaOLtYG.js";
43
43
  import "../components/copy-button.js";
44
44
  import "../components/dialog.js";
45
- import { t as PkDropdownItem } from "./pk-dropdown-item-BoZTGWMU.js";
46
- import { t as PkDropdownMenu } from "./pk-dropdown-menu-CfZc7dIz.js";
47
- import { t as PkDropdownLabel } from "./pk-dropdown-label-Da28F917.js";
45
+ import { t as PkDropdownItem } from "./pk-dropdown-item-D9OaG5o-.js";
46
+ import { t as PkDropdownMenu } from "./pk-dropdown-menu-DW1wI8xQ.js";
47
+ import { t as PkDropdownLabel } from "./pk-dropdown-label-CRNWMWQd.js";
48
48
  import { PkDropdownSeparator } from "../components/dropdown-menu/pk-dropdown-separator.js";
49
49
  import "../components/dropdown-menu.js";
50
- import { t as PkColorInput } from "./pk-color-input-DXdqNCK7.js";
51
- import { t as PkCalendar } from "./pk-calendar-enTOUCRD.js";
52
- import { t as PkDatePicker } from "./pk-date-picker-Bri3kZ6x.js";
53
- import { t as PkOption } from "./pk-option-MGj9SKOK.js";
54
- import { t as PkSelect } from "./pk-select-C1s0OJr0.js";
55
- import { t as PkTimePicker } from "./pk-time-picker-5D4nmig2.js";
56
- import { t as PkEditableTable } from "./pk-editable-table-Cn4WXqAo.js";
57
- import { t as PkField } from "./pk-field-NL4KdFZC.js";
50
+ import { t as PkColorInput } from "./pk-color-input-CncNce1C.js";
51
+ import { t as PkCalendar } from "./pk-calendar-Z7Y0PjeY.js";
52
+ import { t as PkDatePicker } from "./pk-date-picker-BEAd4Ngl.js";
53
+ import { t as PkOption } from "./pk-option-DQZHV9jL.js";
54
+ import { t as PkSelect } from "./pk-select-CdQdhnZN.js";
55
+ import { t as PkTimePicker } from "./pk-time-picker-CebRqydV.js";
56
+ import { t as PkEditableTable } from "./pk-editable-table-BoqfveXO.js";
57
+ import { t as PkField } from "./pk-field-UAlMq6mQ.js";
58
58
  import "../components/field.js";
59
- import { t as PkPopover } from "./pk-popover-duyNosk2.js";
59
+ import { t as PkPopover } from "./pk-popover-D3jkHfwB.js";
60
60
  import "../components/popover.js";
61
61
  import "../components/popup.js";
62
- import { t as PkTooltip } from "./pk-tooltip-BoDq8YVe.js";
62
+ import { t as PkTooltip } from "./pk-tooltip--QBV6puX.js";
63
63
  import "../components/tooltip.js";
64
- import { t as PkRadio } from "./pk-radio-BK4D2Htu.js";
65
- import { t as PkRadioGroup } from "./pk-radio-group-BRJIjOsR.js";
64
+ import { t as PkRadio } from "./pk-radio-B5XkMHy3.js";
65
+ import { t as PkRadioGroup } from "./pk-radio-group-ByrxGLdX.js";
66
66
  import "../components/radio-group.js";
67
- import { t as PkTab } from "./pk-tab-2MHunhlF.js";
68
- import { t as PkTabHeading } from "./pk-tab-heading-BV6m_sT-.js";
69
- import { t as PkTabPanel } from "./pk-tab-panel-C6FxQw9q.js";
70
- import { t as PkTabs } from "./pk-tabs-BTE63uK9.js";
67
+ import { t as PkTab } from "./pk-tab-CTloD18e.js";
68
+ import { t as PkTabHeading } from "./pk-tab-heading-Cjcgebxn.js";
69
+ import { t as PkTabPanel } from "./pk-tab-panel-CkKU5-Ah.js";
70
+ import { t as PkTabs } from "./pk-tabs-BgEBki1q.js";
71
71
  import "../components/tabs.js";
72
- import { t as PkScrollArea } from "./pk-scroll-area-BR6ckorh.js";
72
+ import { t as PkScrollArea } from "./pk-scroll-area-CdfNxYz8.js";
73
73
  import "../components/scroll-area.js";
74
74
  import "../components/color-input.js";
75
75
  import "../components/calendar.js";
76
76
  import "../components/date-picker.js";
77
- import { t as PkOptionGroup } from "./pk-option-group-Cs6N7mlP.js";
77
+ import { t as PkOptionGroup } from "./pk-option-group-CCzJkBFp.js";
78
78
  import "../components/select.js";
79
79
  import "../components/time-picker.js";
80
80
  import "../components/spinner.js";
81
- import { t as PkTiptapContent } from "./pk-tiptap-content-BPd4GO6c.js";
82
- import { t as PkTiptapEditor } from "./pk-tiptap-editor-tG67Vegc.js";
83
- import { t as PkTiptapInput } from "./pk-tiptap-input-CtefNnaK.js";
81
+ import { t as PkTiptapContent } from "./pk-tiptap-content-CL8smjGi.js";
82
+ import { t as PkTiptapEditor } from "./pk-tiptap-editor-CTz-yfHL.js";
83
+ import { t as PkTiptapInput } from "./pk-tiptap-input-Y9eog9Zn.js";
84
84
  import "@verbb/plugin-kit-icons/all.js";
85
85
  //#region src/register.ts
86
86
  var COMPONENTS = [
@@ -145,4 +145,4 @@ function registerAll() {
145
145
  //#endregion
146
146
  export { registerAll as t };
147
147
 
148
- //# sourceMappingURL=register-CQodpTWT.js.map
148
+ //# sourceMappingURL=register-aJw-9RWi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-CQodpTWT.js","names":[],"sources":["../../src/register.ts"],"sourcesContent":["// Full-library path: every curated glyph is available to `<pk-icon icon=\"…\">`.\nimport '@verbb/plugin-kit-icons/all.js';\n\nimport { PkButton } from './components/button/pk-button.js';\nimport { PkButtonGroup } from './components/button-group/pk-button-group.js';\nimport { PkButtonGroupSeparator } from './components/button-group/pk-button-group-separator.js';\nimport { PkButtonGroupText } from './components/button-group/pk-button-group-text.js';\nimport { PkCheckbox } from './components/checkbox/pk-checkbox.js';\nimport { PkCheckboxSelect } from './components/checkbox-select/pk-checkbox-select.js';\nimport { PkCodeEditor } from './components/code-editor/pk-code-editor.js';\nimport { PkColorInput } from './components/color-input/pk-color-input.js';\nimport { PkCalendar } from './components/calendar/pk-calendar.js';\nimport { PkDatePicker } from './components/date-picker/pk-date-picker.js';\nimport { PkCombobox } from './components/combobox/pk-combobox.js';\nimport { PkConnect } from './components/connect/pk-connect.js';\nimport { PkConnectOauth } from './components/connect/pk-connect-oauth.js';\nimport { PkCopyButton } from './components/copy-button/pk-copy-button.js';\nimport { PkDialog } from './components/dialog/pk-dialog.js';\nimport { PkDropdownLabel } from './components/dropdown-menu/pk-dropdown-label.js';\nimport { PkDropdownMenu } from './components/dropdown-menu/pk-dropdown-menu.js';\nimport { PkDropdownItem } from './components/dropdown-menu/pk-dropdown-item.js';\nimport { PkDropdownSeparator } from './components/dropdown-menu/pk-dropdown-separator.js';\nimport { PkEditableTable } from './components/editable-table/pk-editable-table.js';\nimport { PkField } from './components/field/pk-field.js';\nimport { PkIcon } from './components/icon/pk-icon.js';\nimport { PkInput } from './components/input/pk-input.js';\nimport { PkInputGroup } from './components/input-group/pk-input-group.js';\nimport { PkInputGroupAddon } from './components/input-group/pk-input-group-addon.js';\nimport { PkInputGroupButton } from './components/input-group/pk-input-group-button.js';\nimport { PkInputGroupInput } from './components/input-group/pk-input-group-input.js';\nimport { PkInputGroupText } from './components/input-group/pk-input-group-text.js';\nimport { PkInputGroupTextarea } from './components/input-group/pk-input-group-textarea.js';\nimport { PkLightswitch } from './components/lightswitch/pk-lightswitch.js';\nimport { PkOption } from './components/select/pk-option.js';\nimport { PkOptionGroup } from './components/select/pk-option-group.js';\nimport { PkPopover } from './components/popover/pk-popover.js';\nimport { PkPopup } from './components/popup/pk-popup.js';\nimport { PkRadio } from './components/radio-group/pk-radio.js';\nimport { PkRadioGroup } from './components/radio-group/pk-radio-group.js';\nimport { PkScrollArea } from './components/scroll-area/pk-scroll-area.js';\nimport { PkSelect } from './components/select/pk-select.js';\nimport { PkSeparator } from './components/separator/pk-separator.js';\nimport { PkSpinner } from './components/spinner/pk-spinner.js';\nimport { PkStatus } from './components/status/pk-status.js';\nimport { PkTab } from './components/tabs/pk-tab.js';\nimport { PkTabHeading } from './components/tabs/pk-tab-heading.js';\nimport { PkTabPanel } from './components/tabs/pk-tab-panel.js';\nimport { PkTabs } from './components/tabs/pk-tabs.js';\nimport { PkTextarea } from './components/textarea/pk-textarea.js';\nimport { PkTiptapContent } from './components/tiptap/pk-tiptap-content.js';\nimport { PkTiptapEditor } from './components/tiptap/pk-tiptap-editor.js';\nimport { PkTiptapInput } from './components/tiptap/pk-tiptap-input.js';\nimport { PkTimePicker } from './components/time-picker/pk-time-picker.js';\nimport { PkToggle } from './components/toggle/pk-toggle.js';\nimport { PkToggleGroup } from './components/toggle-group/pk-toggle-group.js';\nimport { PkTooltip } from './components/tooltip/pk-tooltip.js';\n\nexport * from './components/button/index.js';\nexport * from './components/button-group/index.js';\nexport * from './components/checkbox/index.js';\nexport * from './components/checkbox-select/index.js';\nexport * from './components/input/index.js';\nexport * from './components/input-group/index.js';\nexport * from './components/textarea/index.js';\nexport * from './components/separator/index.js';\nexport * from './components/status/index.js';\nexport * from './components/toggle/index.js';\nexport * from './components/toggle-group/index.js';\nexport * from './components/lightswitch/index.js';\nexport * from './components/connect/index.js';\nexport * from './components/copy-button/index.js';\nexport * from './components/dialog/index.js';\nexport * from './components/dropdown-menu/index.js';\nexport * from './components/field/index.js';\nexport * from './components/popover/index.js';\nexport * from './components/popup/index.js';\nexport * from './components/tooltip/index.js';\nexport * from './components/radio-group/index.js';\nexport * from './components/tabs/index.js';\nexport * from './components/scroll-area/index.js';\nexport * from './components/color-input/index.js';\nexport * from './components/code-editor/index.js';\nexport * from './components/calendar/index.js';\nexport * from './components/date-picker/index.js';\nexport * from './components/select/index.js';\nexport * from './components/spinner/index.js';\nexport * from './components/time-picker/index.js';\nexport * from './components/tiptap/index.js';\n\nexport {\n PkButton,\n PkButtonGroup,\n PkButtonGroupSeparator,\n PkButtonGroupText,\n PkCheckbox,\n PkCheckboxSelect,\n PkColorInput,\n PkCodeEditor,\n PkCalendar,\n PkDatePicker,\n PkCombobox,\n PkConnect,\n PkConnectOauth,\n PkCopyButton,\n PkDialog,\n PkDropdownMenu,\n PkDropdownItem,\n PkDropdownSeparator,\n PkEditableTable,\n PkField,\n PkIcon,\n PkInput,\n PkInputGroup,\n PkInputGroupAddon,\n PkInputGroupButton,\n PkInputGroupInput,\n PkInputGroupText,\n PkInputGroupTextarea,\n PkLightswitch,\n PkOption,\n PkOptionGroup,\n PkPopover,\n PkPopup,\n PkRadio,\n PkRadioGroup,\n PkScrollArea,\n PkSelect,\n PkSeparator,\n PkSpinner,\n PkStatus,\n PkTab,\n PkTabPanel,\n PkTabs,\n PkTextarea,\n PkTimePicker,\n PkTiptapContent,\n PkTiptapEditor,\n PkTiptapInput,\n PkToggle,\n PkToggleGroup,\n PkTooltip,\n};\n\nconst COMPONENTS: [string, CustomElementConstructor][] = [\n ['pk-spinner', PkSpinner],\n ['pk-icon', PkIcon],\n ['pk-button', PkButton],\n ['pk-checkbox', PkCheckbox],\n ['pk-checkbox-select', PkCheckboxSelect],\n ['pk-color-input', PkColorInput],\n ['pk-code-editor', PkCodeEditor],\n ['pk-input', PkInput],\n ['pk-input-group', PkInputGroup],\n ['pk-input-group-addon', PkInputGroupAddon],\n ['pk-input-group-button', PkInputGroupButton],\n ['pk-input-group-input', PkInputGroupInput],\n ['pk-input-group-text', PkInputGroupText],\n ['pk-input-group-textarea', PkInputGroupTextarea],\n ['pk-textarea', PkTextarea],\n ['pk-tiptap-editor', PkTiptapEditor],\n ['pk-tiptap-input', PkTiptapInput],\n ['pk-tiptap-content', PkTiptapContent],\n ['pk-field', PkField],\n ['pk-separator', PkSeparator],\n ['pk-status', PkStatus],\n ['pk-toggle', PkToggle],\n ['pk-toggle-group', PkToggleGroup],\n ['pk-lightswitch', PkLightswitch],\n ['pk-button-group', PkButtonGroup],\n ['pk-button-group-separator', PkButtonGroupSeparator],\n ['pk-button-group-text', PkButtonGroupText],\n ['pk-dialog', PkDialog],\n ['pk-popup', PkPopup],\n ['pk-dropdown-label', PkDropdownLabel],\n ['pk-dropdown-item', PkDropdownItem],\n ['pk-dropdown-separator', PkDropdownSeparator],\n ['pk-dropdown-menu', PkDropdownMenu],\n ['pk-editable-table', PkEditableTable],\n ['pk-popover', PkPopover],\n ['pk-tooltip', PkTooltip],\n ['pk-radio', PkRadio],\n ['pk-radio-group', PkRadioGroup],\n ['pk-tab', PkTab],\n ['pk-tab-heading', PkTabHeading],\n ['pk-tab-panel', PkTabPanel],\n ['pk-tabs', PkTabs],\n ['pk-scroll-area', PkScrollArea],\n ['pk-option', PkOption],\n ['pk-option-group', PkOptionGroup],\n ['pk-select', PkSelect],\n ['pk-calendar', PkCalendar],\n ['pk-date-picker', PkDatePicker],\n ['pk-combobox', PkCombobox],\n ['pk-connect', PkConnect],\n ['pk-connect-oauth', PkConnectOauth],\n ['pk-time-picker', PkTimePicker],\n ['pk-copy-button', PkCopyButton],\n];\n\n/** Side-effect registration for all Plugin Kit web components. */\nexport function registerAll(): void {\n for (const [tag, ctor] of COMPONENTS) {\n if (!customElements.get(tag)) {\n customElements.define(tag, ctor);\n }\n }\n}\n\nexport {\n createRegisterComponents,\n type PkComponentTag,\n} from './register-components.js';\n\nexport { BUNDLER_TAG_IMPORT_PATHS as componentImportPaths } from './component-registry.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IA,IAAM,aAAmD;CACrD,CAAC,cAAc,UAAU;CACzB,CAAC,WAAW,OAAO;CACnB,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,sBAAsB,iBAAiB;CACxC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CAChC,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,yBAAyB,mBAAmB;CAC7C,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,uBAAuB,iBAAiB;CACzC,CAAC,2BAA2B,qBAAqB;CACjD,CAAC,eAAe,WAAW;CAC3B,CAAC,oBAAoB,eAAe;CACpC,CAAC,mBAAmB,cAAc;CAClC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,YAAY,QAAQ;CACrB,CAAC,gBAAgB,YAAY;CAC7B,CAAC,aAAa,SAAS;CACvB,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,kBAAkB,cAAc;CACjC,CAAC,mBAAmB,cAAc;CAClC,CAAC,6BAA6B,uBAAuB;CACrD,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,aAAa,SAAS;CACvB,CAAC,YAAY,QAAQ;CACrB,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,oBAAoB,eAAe;CACpC,CAAC,yBAAyB,oBAAoB;CAC9C,CAAC,oBAAoB,eAAe;CACpC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,cAAc,UAAU;CACzB,CAAC,cAAc,UAAU;CACzB,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,UAAU,MAAM;CACjB,CAAC,kBAAkB,aAAa;CAChC,CAAC,gBAAgB,WAAW;CAC5B,CAAC,WAAW,OAAO;CACnB,CAAC,kBAAkB,aAAa;CAChC,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,kBAAkB,aAAa;CAChC,CAAC,eAAe,WAAW;CAC3B,CAAC,cAAc,UAAU;CACzB,CAAC,oBAAoB,eAAe;CACpC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CACnC;;AAGD,SAAgB,cAAoB;AAChC,MAAK,MAAM,CAAC,KAAK,SAAS,WACtB,KAAI,CAAC,eAAe,IAAI,IAAI,CACxB,gBAAe,OAAO,KAAK,KAAK"}
1
+ {"version":3,"file":"register-aJw-9RWi.js","names":[],"sources":["../../src/register.ts"],"sourcesContent":["// Full-library path: every curated glyph is available to `<pk-icon icon=\"…\">`.\nimport '@verbb/plugin-kit-icons/all.js';\n\nimport { PkButton } from './components/button/pk-button.js';\nimport { PkButtonGroup } from './components/button-group/pk-button-group.js';\nimport { PkButtonGroupSeparator } from './components/button-group/pk-button-group-separator.js';\nimport { PkButtonGroupText } from './components/button-group/pk-button-group-text.js';\nimport { PkCheckbox } from './components/checkbox/pk-checkbox.js';\nimport { PkCheckboxSelect } from './components/checkbox-select/pk-checkbox-select.js';\nimport { PkCodeEditor } from './components/code-editor/pk-code-editor.js';\nimport { PkColorInput } from './components/color-input/pk-color-input.js';\nimport { PkCalendar } from './components/calendar/pk-calendar.js';\nimport { PkDatePicker } from './components/date-picker/pk-date-picker.js';\nimport { PkCombobox } from './components/combobox/pk-combobox.js';\nimport { PkConnect } from './components/connect/pk-connect.js';\nimport { PkConnectOauth } from './components/connect/pk-connect-oauth.js';\nimport { PkCopyButton } from './components/copy-button/pk-copy-button.js';\nimport { PkDialog } from './components/dialog/pk-dialog.js';\nimport { PkDropdownLabel } from './components/dropdown-menu/pk-dropdown-label.js';\nimport { PkDropdownMenu } from './components/dropdown-menu/pk-dropdown-menu.js';\nimport { PkDropdownItem } from './components/dropdown-menu/pk-dropdown-item.js';\nimport { PkDropdownSeparator } from './components/dropdown-menu/pk-dropdown-separator.js';\nimport { PkEditableTable } from './components/editable-table/pk-editable-table.js';\nimport { PkField } from './components/field/pk-field.js';\nimport { PkIcon } from './components/icon/pk-icon.js';\nimport { PkInput } from './components/input/pk-input.js';\nimport { PkInputGroup } from './components/input-group/pk-input-group.js';\nimport { PkInputGroupAddon } from './components/input-group/pk-input-group-addon.js';\nimport { PkInputGroupButton } from './components/input-group/pk-input-group-button.js';\nimport { PkInputGroupInput } from './components/input-group/pk-input-group-input.js';\nimport { PkInputGroupText } from './components/input-group/pk-input-group-text.js';\nimport { PkInputGroupTextarea } from './components/input-group/pk-input-group-textarea.js';\nimport { PkLightswitch } from './components/lightswitch/pk-lightswitch.js';\nimport { PkOption } from './components/select/pk-option.js';\nimport { PkOptionGroup } from './components/select/pk-option-group.js';\nimport { PkPopover } from './components/popover/pk-popover.js';\nimport { PkPopup } from './components/popup/pk-popup.js';\nimport { PkRadio } from './components/radio-group/pk-radio.js';\nimport { PkRadioGroup } from './components/radio-group/pk-radio-group.js';\nimport { PkScrollArea } from './components/scroll-area/pk-scroll-area.js';\nimport { PkSelect } from './components/select/pk-select.js';\nimport { PkSeparator } from './components/separator/pk-separator.js';\nimport { PkSpinner } from './components/spinner/pk-spinner.js';\nimport { PkStatus } from './components/status/pk-status.js';\nimport { PkTab } from './components/tabs/pk-tab.js';\nimport { PkTabHeading } from './components/tabs/pk-tab-heading.js';\nimport { PkTabPanel } from './components/tabs/pk-tab-panel.js';\nimport { PkTabs } from './components/tabs/pk-tabs.js';\nimport { PkTextarea } from './components/textarea/pk-textarea.js';\nimport { PkTiptapContent } from './components/tiptap/pk-tiptap-content.js';\nimport { PkTiptapEditor } from './components/tiptap/pk-tiptap-editor.js';\nimport { PkTiptapInput } from './components/tiptap/pk-tiptap-input.js';\nimport { PkTimePicker } from './components/time-picker/pk-time-picker.js';\nimport { PkToggle } from './components/toggle/pk-toggle.js';\nimport { PkToggleGroup } from './components/toggle-group/pk-toggle-group.js';\nimport { PkTooltip } from './components/tooltip/pk-tooltip.js';\n\nexport * from './components/button/index.js';\nexport * from './components/button-group/index.js';\nexport * from './components/checkbox/index.js';\nexport * from './components/checkbox-select/index.js';\nexport * from './components/input/index.js';\nexport * from './components/input-group/index.js';\nexport * from './components/textarea/index.js';\nexport * from './components/separator/index.js';\nexport * from './components/status/index.js';\nexport * from './components/toggle/index.js';\nexport * from './components/toggle-group/index.js';\nexport * from './components/lightswitch/index.js';\nexport * from './components/connect/index.js';\nexport * from './components/copy-button/index.js';\nexport * from './components/dialog/index.js';\nexport * from './components/dropdown-menu/index.js';\nexport * from './components/field/index.js';\nexport * from './components/popover/index.js';\nexport * from './components/popup/index.js';\nexport * from './components/tooltip/index.js';\nexport * from './components/radio-group/index.js';\nexport * from './components/tabs/index.js';\nexport * from './components/scroll-area/index.js';\nexport * from './components/color-input/index.js';\nexport * from './components/code-editor/index.js';\nexport * from './components/calendar/index.js';\nexport * from './components/date-picker/index.js';\nexport * from './components/select/index.js';\nexport * from './components/spinner/index.js';\nexport * from './components/time-picker/index.js';\nexport * from './components/tiptap/index.js';\n\nexport {\n PkButton,\n PkButtonGroup,\n PkButtonGroupSeparator,\n PkButtonGroupText,\n PkCheckbox,\n PkCheckboxSelect,\n PkColorInput,\n PkCodeEditor,\n PkCalendar,\n PkDatePicker,\n PkCombobox,\n PkConnect,\n PkConnectOauth,\n PkCopyButton,\n PkDialog,\n PkDropdownMenu,\n PkDropdownItem,\n PkDropdownSeparator,\n PkEditableTable,\n PkField,\n PkIcon,\n PkInput,\n PkInputGroup,\n PkInputGroupAddon,\n PkInputGroupButton,\n PkInputGroupInput,\n PkInputGroupText,\n PkInputGroupTextarea,\n PkLightswitch,\n PkOption,\n PkOptionGroup,\n PkPopover,\n PkPopup,\n PkRadio,\n PkRadioGroup,\n PkScrollArea,\n PkSelect,\n PkSeparator,\n PkSpinner,\n PkStatus,\n PkTab,\n PkTabPanel,\n PkTabs,\n PkTextarea,\n PkTimePicker,\n PkTiptapContent,\n PkTiptapEditor,\n PkTiptapInput,\n PkToggle,\n PkToggleGroup,\n PkTooltip,\n};\n\nconst COMPONENTS: [string, CustomElementConstructor][] = [\n ['pk-spinner', PkSpinner],\n ['pk-icon', PkIcon],\n ['pk-button', PkButton],\n ['pk-checkbox', PkCheckbox],\n ['pk-checkbox-select', PkCheckboxSelect],\n ['pk-color-input', PkColorInput],\n ['pk-code-editor', PkCodeEditor],\n ['pk-input', PkInput],\n ['pk-input-group', PkInputGroup],\n ['pk-input-group-addon', PkInputGroupAddon],\n ['pk-input-group-button', PkInputGroupButton],\n ['pk-input-group-input', PkInputGroupInput],\n ['pk-input-group-text', PkInputGroupText],\n ['pk-input-group-textarea', PkInputGroupTextarea],\n ['pk-textarea', PkTextarea],\n ['pk-tiptap-editor', PkTiptapEditor],\n ['pk-tiptap-input', PkTiptapInput],\n ['pk-tiptap-content', PkTiptapContent],\n ['pk-field', PkField],\n ['pk-separator', PkSeparator],\n ['pk-status', PkStatus],\n ['pk-toggle', PkToggle],\n ['pk-toggle-group', PkToggleGroup],\n ['pk-lightswitch', PkLightswitch],\n ['pk-button-group', PkButtonGroup],\n ['pk-button-group-separator', PkButtonGroupSeparator],\n ['pk-button-group-text', PkButtonGroupText],\n ['pk-dialog', PkDialog],\n ['pk-popup', PkPopup],\n ['pk-dropdown-label', PkDropdownLabel],\n ['pk-dropdown-item', PkDropdownItem],\n ['pk-dropdown-separator', PkDropdownSeparator],\n ['pk-dropdown-menu', PkDropdownMenu],\n ['pk-editable-table', PkEditableTable],\n ['pk-popover', PkPopover],\n ['pk-tooltip', PkTooltip],\n ['pk-radio', PkRadio],\n ['pk-radio-group', PkRadioGroup],\n ['pk-tab', PkTab],\n ['pk-tab-heading', PkTabHeading],\n ['pk-tab-panel', PkTabPanel],\n ['pk-tabs', PkTabs],\n ['pk-scroll-area', PkScrollArea],\n ['pk-option', PkOption],\n ['pk-option-group', PkOptionGroup],\n ['pk-select', PkSelect],\n ['pk-calendar', PkCalendar],\n ['pk-date-picker', PkDatePicker],\n ['pk-combobox', PkCombobox],\n ['pk-connect', PkConnect],\n ['pk-connect-oauth', PkConnectOauth],\n ['pk-time-picker', PkTimePicker],\n ['pk-copy-button', PkCopyButton],\n];\n\n/** Side-effect registration for all Plugin Kit web components. */\nexport function registerAll(): void {\n for (const [tag, ctor] of COMPONENTS) {\n if (!customElements.get(tag)) {\n customElements.define(tag, ctor);\n }\n }\n}\n\nexport {\n createRegisterComponents,\n type PkComponentTag,\n} from './register-components.js';\n\nexport { BUNDLER_TAG_IMPORT_PATHS as componentImportPaths } from './component-registry.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IA,IAAM,aAAmD;CACrD,CAAC,cAAc,UAAU;CACzB,CAAC,WAAW,OAAO;CACnB,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,sBAAsB,iBAAiB;CACxC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CAChC,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,yBAAyB,mBAAmB;CAC7C,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,uBAAuB,iBAAiB;CACzC,CAAC,2BAA2B,qBAAqB;CACjD,CAAC,eAAe,WAAW;CAC3B,CAAC,oBAAoB,eAAe;CACpC,CAAC,mBAAmB,cAAc;CAClC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,YAAY,QAAQ;CACrB,CAAC,gBAAgB,YAAY;CAC7B,CAAC,aAAa,SAAS;CACvB,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,kBAAkB,cAAc;CACjC,CAAC,mBAAmB,cAAc;CAClC,CAAC,6BAA6B,uBAAuB;CACrD,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,aAAa,SAAS;CACvB,CAAC,YAAY,QAAQ;CACrB,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,oBAAoB,eAAe;CACpC,CAAC,yBAAyB,oBAAoB;CAC9C,CAAC,oBAAoB,eAAe;CACpC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,cAAc,UAAU;CACzB,CAAC,cAAc,UAAU;CACzB,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,UAAU,MAAM;CACjB,CAAC,kBAAkB,aAAa;CAChC,CAAC,gBAAgB,WAAW;CAC5B,CAAC,WAAW,OAAO;CACnB,CAAC,kBAAkB,aAAa;CAChC,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,kBAAkB,aAAa;CAChC,CAAC,eAAe,WAAW;CAC3B,CAAC,cAAc,UAAU;CACzB,CAAC,oBAAoB,eAAe;CACpC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CACnC;;AAGD,SAAgB,cAAoB;AAChC,MAAK,MAAM,CAAC,KAAK,SAAS,WACtB,KAAI,CAAC,eAAe,IAAI,IAAI,CACxB,gBAAe,OAAO,KAAK,KAAK"}
@@ -12,4 +12,4 @@ function createRegisterComponents(loaders) {
12
12
  //#endregion
13
13
  export { createRegisterComponents as t };
14
14
 
15
- //# sourceMappingURL=register-components-B-qCPFFh.js.map
15
+ //# sourceMappingURL=register-components-BT9THgdh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-components-B-qCPFFh.js","names":[],"sources":["../../src/create-register-components.ts"],"sourcesContent":["/**\n * Tiny helper for building a local async registrar from an explicit loader map.\n * Prefer short family side-effect imports for Craft CP bundles:\n * `import '@verbb/plugin-kit-web/components/button.js'`.\n */\nexport function createRegisterComponents<T extends string>(\n loaders: Record<T, () => Promise<unknown>>,\n): (tags: readonly T[]) => Promise<void> {\n return async (tags) => {\n await Promise.all(tags.map((tag) => loaders[tag]()));\n };\n}\n"],"mappings":";;;;;;AAKA,SAAgB,yBACZ,SACqC;AACrC,QAAO,OAAO,SAAS;AACnB,QAAM,QAAQ,IAAI,KAAK,KAAK,QAAQ,QAAQ,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"register-components-BT9THgdh.js","names":[],"sources":["../../src/create-register-components.ts"],"sourcesContent":["/**\n * Tiny helper for building a local async registrar from an explicit loader map.\n * Prefer short family side-effect imports for Craft CP bundles:\n * `import '@verbb/plugin-kit-web/components/button.js'`.\n */\nexport function createRegisterComponents<T extends string>(\n loaders: Record<T, () => Promise<unknown>>,\n): (tags: readonly T[]) => Promise<void> {\n return async (tags) => {\n await Promise.all(tags.map((tag) => loaders[tag]()));\n };\n}\n"],"mappings":";;;;;;AAKA,SAAgB,yBACZ,SACqC;AACrC,QAAO,OAAO,SAAS;AACnB,QAAM,QAAQ,IAAI,KAAK,KAAK,QAAQ,QAAQ,MAAM,CAAC,CAAC"}
@@ -83,11 +83,12 @@ function createVariableTagDomNodeView() {
83
83
  dom.classList.toggle("pk-variable-tag--unresolved", unresolved);
84
84
  if (unresolved) {
85
85
  dom.dataset.unresolved = "true";
86
- dom.title = token ? `Unknown or missing reference — ${token}` : "Unknown or missing reference";
86
+ const description = token ? `Unknown or missing reference — ${token}` : "Unknown or missing reference";
87
+ dom.setAttribute("aria-description", description);
87
88
  label.setAttribute("aria-invalid", "true");
88
89
  } else {
89
90
  delete dom.dataset.unresolved;
90
- dom.removeAttribute("title");
91
+ dom.removeAttribute("aria-description");
91
92
  label.removeAttribute("aria-invalid");
92
93
  }
93
94
  label.textContent = chipLabel;
@@ -460,4 +461,4 @@ var tiptapContentProseMirrorStyles = css`
460
461
  //#endregion
461
462
  export { createVariableTagDomNodeView as i, tiptapInputProseMirrorStyles as n, tiptapProseMirrorStyles as r, tiptapContentProseMirrorStyles as t };
462
463
 
463
- //# sourceMappingURL=tiptap.styles-ChAfyVi9.js.map
464
+ //# sourceMappingURL=tiptap.styles-CPRows--.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiptap.styles-CPRows--.js","names":[],"sources":["../../src/components/tiptap/variable-tag-node-view.ts","../../src/components/tiptap/tiptap.styles.ts"],"sourcesContent":["import type { Editor, NodeViewRenderer, NodeViewRendererProps } from '@tiptap/core';\nimport type { Node as ProseMirrorNode } from '@tiptap/pm/model';\nimport { uniqueId } from '../../a11y/focus.js';\n\n/** Match kit v1 VariableTagView chip chrome (indigo + remove). */\nconst REMOVE_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M2.1 1.4 5 4.3l2.9-2.9.7.7L5.7 5l2.9 2.9-.7.7L5 5.7l-2.9 2.9-.7-.7L4.3 5 1.4 2.1z\"/>\n</svg>\n`.trim();\n\nexport const PK_VARIABLE_TAG_CONFIGURE_EVENT = 'pk-variable-tag-configure';\n\nexport type PkVariableTagConfigureDetail = {\n editor: Editor;\n anchor: HTMLElement;\n attrs: Record<string, unknown>;\n getPos: () => number | undefined;\n updateAttributes: (attributes: Record<string, unknown>) => void;\n deleteNode: () => void;\n};\n\nconst findTiptapHost = (viewDom: HTMLElement): HTMLElement | null => {\n let node: Node | null = viewDom;\n while (node) {\n if (node instanceof HTMLElement && node.localName.startsWith('pk-tiptap')) {\n return node;\n }\n\n node = node.parentNode instanceof ShadowRoot\n ? node.parentNode.host\n : node.parentNode;\n }\n\n return null;\n};\n\nconst emitConfigure = (\n editor: Editor,\n detail: PkVariableTagConfigureDetail,\n) => {\n const viewDom = editor.view.dom;\n const host = findTiptapHost(viewDom);\n\n // Preferred bridge for React/Formie: property callback on <pk-tiptap-*>.\n const configure = host && 'variableTagConfigure' in host\n ? (host as HTMLElement & {\n variableTagConfigure?: ((detail: PkVariableTagConfigureDetail) => void) | null;\n }).variableTagConfigure\n : null;\n\n if (typeof configure === 'function') {\n configure(detail);\n }\n\n // Composed event is the reliable Formie path (document capture listener).\n const target = host ?? viewDom;\n target.dispatchEvent(new CustomEvent(PK_VARIABLE_TAG_CONFIGURE_EVENT, {\n bubbles: true,\n composed: true,\n detail,\n }));\n};\n\n/**\n * DOM NodeViewRendererProps do NOT include React's `deleteNode` / `updateAttributes`\n * (those live on NodeViewProps for ReactNodeViewRenderer only). Build them from\n * editor + getPos — same operations ReactNodeViewRenderer wires for VariableTagView.\n */\nfunction createNodeViewCommands(\n editor: Editor,\n getPos: NodeViewRendererProps['getPos'],\n) {\n const resolvePos = (): number | undefined => {\n const pos = typeof getPos === 'function' ? getPos() : getPos;\n return typeof pos === 'number' ? pos : undefined;\n };\n\n const deleteNode = () => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .focus()\n .deleteRange({ from: pos, to: pos + live.nodeSize })\n .run();\n };\n\n const updateAttributes = (attributes: Record<string, unknown>) => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .command(({ tr, dispatch }) => {\n if (dispatch) {\n tr.setNodeMarkup(pos, undefined, {\n ...live.attrs,\n ...attributes,\n });\n }\n return true;\n })\n .run();\n };\n\n return { deleteNode, updateAttributes, resolvePos };\n}\n\n/**\n * DOM node view for variable tags in vanilla editors.\n * Chip + remove match kit v1; configure UI is opened via `pk-variable-tag-configure`\n * (Formie mounts the edit overlay beside the WC editor).\n */\nexport function createVariableTagDomNodeView(): NodeViewRenderer {\n return (props) => {\n const { editor, getPos } = props;\n const { deleteNode, updateAttributes, resolvePos } = createNodeViewCommands(editor, getPos);\n\n let currentNode: ProseMirrorNode = props.node;\n\n const syncUnresolvedPresentation = (attrs: Record<string, unknown>) => {\n const unresolved = Boolean(attrs.unresolved);\n const token = String(attrs.value ?? '');\n const chipLabel = String(attrs.label || attrs.value || '');\n\n dom.classList.toggle('pk-variable-tag--unresolved', unresolved);\n if (unresolved) {\n dom.dataset.unresolved = 'true';\n // Extra context for AT — not HTML title (avoids native hover tooltip).\n const description = token\n ? `Unknown or missing reference — ${token}`\n : 'Unknown or missing reference';\n dom.setAttribute('aria-description', description);\n label.setAttribute('aria-invalid', 'true');\n } else {\n delete dom.dataset.unresolved;\n dom.removeAttribute('aria-description');\n label.removeAttribute('aria-invalid');\n }\n\n label.textContent = chipLabel;\n };\n\n const dom = document.createElement('span');\n dom.className = 'pk-variable-tag';\n dom.id = uniqueId('pk-variable-tag');\n dom.setAttribute('contenteditable', 'false');\n // Do NOT set draggable=true permanently — HTML5-draggable hosts suppress click,\n // which kills configure. ProseMirror sets draggable temporarily on mousedown drag.\n // TipTap React node views use data-drag-handle on a TipTap NodeView class; keep the\n // attr for parity, but drag itself is PM's selectable+draggable atom behavior.\n dom.setAttribute('data-drag-handle', '');\n dom.dataset.label = String(currentNode.attrs.label ?? '');\n dom.dataset.variableValue = String(currentNode.attrs.value ?? '');\n\n // Match kit v1 VariableTagView: real button for activate.\n const label = document.createElement('button');\n label.type = 'button';\n label.className = 'pk-variable-tag__label';\n label.draggable = false;\n dom.append(label);\n syncUnresolvedPresentation(currentNode.attrs);\n\n let removeButton: HTMLButtonElement | null = null;\n let openOnInsertHandled = false;\n let openedAt = 0;\n\n const readLiveAttrs = () => {\n const pos = resolvePos();\n if (typeof pos === 'number') {\n const live = editor.state.doc.nodeAt(pos);\n if (live?.type.name === 'variableTag') {\n return { ...live.attrs };\n }\n }\n\n return { ...currentNode.attrs };\n };\n\n const openConfigure = () => {\n if (!editor.isEditable) {\n return;\n }\n\n // Dedupe repeated emits from nested handlers / openOnInsert.\n const now = Date.now();\n if (now - openedAt < 300) {\n return;\n }\n openedAt = now;\n\n // Strip any HTML5-draggable PM may have armed so configure stays clickable\n // after this interaction (draggable hosts suppress subsequent clicks).\n dom.removeAttribute('draggable');\n\n emitConfigure(editor, {\n editor,\n anchor: dom,\n attrs: readLiveAttrs(),\n getPos: resolvePos,\n updateAttributes,\n deleteNode,\n });\n };\n\n // Open on pointerdown — before ProseMirror can arm HTML5 drag on the atom.\n label.addEventListener('pointerdown', (event) => {\n if (event.button !== 0) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n label.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n\n const syncRemoveButton = (editable: boolean) => {\n if (editable) {\n if (removeButton) {\n return;\n }\n\n removeButton = document.createElement('button');\n removeButton.type = 'button';\n removeButton.className = 'pk-variable-tag__remove';\n removeButton.setAttribute('aria-label', 'Remove');\n removeButton.draggable = false;\n removeButton.innerHTML = REMOVE_ICON;\n removeButton.addEventListener('pointerdown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n });\n removeButton.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n deleteNode();\n });\n dom.append(removeButton);\n return;\n }\n\n removeButton?.remove();\n removeButton = null;\n };\n\n syncRemoveButton(editor.isEditable);\n\n if (currentNode.attrs.openOnInsert && editor.isEditable && !openOnInsertHandled) {\n openOnInsertHandled = true;\n queueMicrotask(() => {\n updateAttributes({ openOnInsert: false });\n openConfigure();\n });\n }\n\n return {\n dom,\n // TipTap React node views stop PM from handling events inside the chip —\n // that prevents `draggable=true` arming, which otherwise kills configure.\n // Drag still works via outer NodeSelection + data-drag-handle when the\n // pointer starts on the chip chrome (not the label/remove controls).\n stopEvent: (event) => {\n const target = event.target as Node | null;\n if (!(target instanceof Element)) {\n return false;\n }\n\n return Boolean(\n target.closest('.pk-variable-tag__label')\n || target.closest('.pk-variable-tag__remove'),\n );\n },\n selectNode: () => {\n dom.classList.add('ProseMirror-selectednode');\n // Never keep HTML5-draggable while selected — it suppresses clicks.\n dom.removeAttribute('draggable');\n },\n deselectNode: () => {\n dom.classList.remove('ProseMirror-selectednode');\n dom.removeAttribute('draggable');\n },\n update(updatedNode) {\n if (updatedNode.type.name !== 'variableTag') {\n return false;\n }\n\n currentNode = updatedNode;\n dom.dataset.label = String(updatedNode.attrs.label ?? '');\n dom.dataset.variableValue = String(updatedNode.attrs.value ?? '');\n syncUnresolvedPresentation(updatedNode.attrs);\n syncRemoveButton(editor.isEditable);\n return true;\n },\n };\n };\n}\n","import { css } from 'lit';\n\n/**\n * Indigo chip matching kit v1 VariableTagView (`bg-[#5C6BC0] text-white rounded-[2px]`).\n * Shared by rich editor + single-line input ProseMirror hosts.\n */\nconst variableTagStyles = css`\n .pk-variable-tag {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n max-width: 100%;\n margin-inline: 1px;\n margin-block-start: -3px;\n padding: 0;\n border-radius: 2px;\n background: #5c6bc0;\n color: #fff;\n font-size: 11px;\n font-weight: 400;\n line-height: 1;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n cursor: default;\n box-sizing: border-box;\n }\n\n /* Unresolved / missing reference — muted grey (not alarm yellow). */\n .pk-variable-tag--unresolved {\n background: var(--pk-color-gray-100, #f3f4f6);\n color: var(--pk-color-gray-600, #4b5563);\n box-shadow: inset 0 0 0 1px var(--pk-color-gray-300, #d1d5db);\n }\n\n .pk-variable-tag--unresolved.ProseMirror-selectednode {\n box-shadow:\n inset 0 0 0 1px var(--pk-color-gray-400, #9ca3af),\n 0 0 0 2px rgba(156, 163, 175, 0.45);\n }\n\n .pk-variable-tag.ProseMirror-selectednode {\n outline: none;\n box-shadow: 0 0 0 2px rgba(123, 140, 232, 0.5);\n }\n\n .pk-variable-tag__label {\n display: inline-flex;\n align-items: center;\n max-width: 220px;\n margin: 0;\n padding: 4px 5px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-size: inherit;\n line-height: inherit;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n user-select: none;\n }\n\n .pk-variable-tag__remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n margin: 0;\n padding: 4px 5px 4px 4px;\n border: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n line-height: 0;\n appearance: none;\n }\n\n .pk-variable-tag__remove svg {\n display: block;\n width: 10px;\n height: 10px;\n pointer-events: none;\n }\n`;\n\nexport const tiptapProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n min-height: 2rem;\n padding: 1rem;\n background: rgb(251, 252, 254);\n /* Craft CP body text (~gray-700), not gray-900. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n /* Match pk-input / body (14px). sm (13px) matched field instructions and looked undersized vs v1. */\n font-size: var(--pk-font-size-base);\n line-height: 1.5;\n white-space: pre-wrap;\n box-sizing: border-box;\n }\n\n .ProseMirror p {\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror p:last-child {\n margin-bottom: 0;\n }\n\n .ProseMirror h1 {\n font-size: 1.25rem;\n font-weight: 700;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h2 {\n font-size: 1.125rem;\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h3,\n .ProseMirror h4,\n .ProseMirror h5,\n .ProseMirror h6 {\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror a {\n color: var(--pk-color-blue-600);\n text-decoration: underline;\n cursor: pointer;\n }\n\n .ProseMirror ul,\n .ProseMirror ol {\n margin: 0 0 0.5rem;\n padding-left: 1.25rem;\n }\n\n .ProseMirror blockquote {\n margin: 0 0 0.5rem;\n padding-left: 0.75rem;\n border-left: 3px solid var(--pk-color-gray-300);\n color: var(--pk-color-gray-600);\n }\n\n .ProseMirror code {\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n background: var(--pk-color-gray-100);\n border-radius: 0.2rem;\n padding: 0.1rem 0.25rem;\n }\n\n .ProseMirror pre {\n margin: 0 0 0.5rem;\n padding: 0.75rem;\n background: var(--pk-color-gray-900);\n color: var(--pk-color-gray-50);\n border-radius: var(--pk-radius-md);\n overflow-x: auto;\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n }\n\n ${variableTagStyles}\n }\n`;\n\n/**\n * Single-line TipTap field — same box metrics as `pk-input` .input\n * (14px / line-height 1.4 / padding 6px 8px).\n *\n * ProseMirror always injects `br.ProseMirror-trailingBreak` for the caret.\n * Never `display: none` it — that freezes one-liner docs after the first character.\n * Clip to one line height instead so the break cannot inflate the control.\n */\nexport const tiptapInputProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n margin: 0;\n /* Match stock pk-input padding by default. Hosts can override density via\n * --pk-tiptap-input-* (light DOM cannot style .ProseMirror in the shadow tree).\n */\n padding-block: var(--pk-tiptap-input-padding-block, 6px);\n padding-inline-start: var(--pk-tiptap-input-padding-inline-start, 8px);\n padding-inline-end: var(--pk-tiptap-input-padding-inline-end, 8px);\n /* One-liner clip: padding + control line-height (v1 text-sm), not a fixed shell token. */\n height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n max-height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n background: var(--pk-input-bg);\n /* Craft CP body / field value text. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n font-size: var(--pk-tiptap-input-font-size, var(--pk-font-size-base));\n line-height: var(--pk-tiptap-input-line-height, var(--pk-input-control-line-height, 1.25rem));\n white-space: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n box-sizing: border-box;\n scrollbar-width: none;\n }\n\n .ProseMirror::-webkit-scrollbar {\n display: none;\n }\n\n /* OneLinerDocument is inline-only; keep p inline if a schema ever wraps text. */\n .ProseMirror p {\n margin: 0;\n display: inline;\n line-height: inherit;\n }\n\n /* Read-only display: no input padding/height box (v1 skipped chrome when readOnly).\n * Inherit color/weight so list name links (text-blue-600 font-bold) show through. */\n :host([readonly]) .ProseMirror {\n padding-block: 0;\n padding-inline: 0;\n height: auto;\n max-height: none;\n background: transparent;\n overflow: visible;\n white-space: normal;\n color: inherit;\n font-weight: inherit;\n font-size: inherit;\n }\n\n ${variableTagStyles}\n }\n`;\n\nexport const tiptapContentProseMirrorStyles = css`\n @layer pk-component {\n /* Inherit host color/size so light-DOM wrappers (warning banners, badges)\n can restyle read-only TipTap without piercing the shadow tree. */\n .ProseMirror {\n outline: none;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .ProseMirror p {\n margin: 0;\n }\n }\n`;\n"],"mappings":";;;;AAKA,IAAM,cAAc;;;;EAIlB,MAAM;AAER,IAAa,kCAAkC;AAW/C,IAAM,kBAAkB,YAA6C;CACjE,IAAI,OAAoB;AACxB,QAAO,MAAM;AACT,MAAI,gBAAgB,eAAe,KAAK,UAAU,WAAW,YAAY,CACrE,QAAO;AAGX,SAAO,KAAK,sBAAsB,aAC5B,KAAK,WAAW,OAChB,KAAK;;AAGf,QAAO;;AAGX,IAAM,iBACF,QACA,WACC;CACD,MAAM,UAAU,OAAO,KAAK;CAC5B,MAAM,OAAO,eAAe,QAAQ;CAGpC,MAAM,YAAY,QAAQ,0BAA0B,OAC7C,KAEA,uBACD;AAEN,KAAI,OAAO,cAAc,WACrB,WAAU,OAAO;AAKrB,EADe,QAAQ,SAChB,cAAc,IAAI,YAAY,iCAAiC;EAClE,SAAS;EACT,UAAU;EACV;EACH,CAAC,CAAC;;;;;;;AAQP,SAAS,uBACL,QACA,QACF;CACE,MAAM,mBAAuC;EACzC,MAAM,MAAM,OAAO,WAAW,aAAa,QAAQ,GAAG;AACtD,SAAO,OAAO,QAAQ,WAAW,MAAM,KAAA;;CAG3C,MAAM,mBAAmB;EACrB,MAAM,MAAM,YAAY;AACxB,MAAI,OAAO,QAAQ,SACf;EAGJ,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,MAAI,CAAC,QAAQ,KAAK,KAAK,SAAS,cAC5B;AAGJ,SACK,OAAO,CACP,OAAO,CACP,YAAY;GAAE,MAAM;GAAK,IAAI,MAAM,KAAK;GAAU,CAAC,CACnD,KAAK;;CAGd,MAAM,oBAAoB,eAAwC;EAC9D,MAAM,MAAM,YAAY;AACxB,MAAI,OAAO,QAAQ,SACf;EAGJ,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,MAAI,CAAC,QAAQ,KAAK,KAAK,SAAS,cAC5B;AAGJ,SACK,OAAO,CACP,SAAS,EAAE,IAAI,eAAe;AAC3B,OAAI,SACA,IAAG,cAAc,KAAK,KAAA,GAAW;IAC7B,GAAG,KAAK;IACR,GAAG;IACN,CAAC;AAEN,UAAO;IACT,CACD,KAAK;;AAGd,QAAO;EAAE;EAAY;EAAkB;EAAY;;;;;;;AAQvD,SAAgB,+BAAiD;AAC7D,SAAQ,UAAU;EACd,MAAM,EAAE,QAAQ,WAAW;EAC3B,MAAM,EAAE,YAAY,kBAAkB,eAAe,uBAAuB,QAAQ,OAAO;EAE3F,IAAI,cAA+B,MAAM;EAEzC,MAAM,8BAA8B,UAAmC;GACnE,MAAM,aAAa,QAAQ,MAAM,WAAW;GAC5C,MAAM,QAAQ,OAAO,MAAM,SAAS,GAAG;GACvC,MAAM,YAAY,OAAO,MAAM,SAAS,MAAM,SAAS,GAAG;AAE1D,OAAI,UAAU,OAAO,+BAA+B,WAAW;AAC/D,OAAI,YAAY;AACZ,QAAI,QAAQ,aAAa;IAEzB,MAAM,cAAc,QACd,kCAAkC,UAClC;AACN,QAAI,aAAa,oBAAoB,YAAY;AACjD,UAAM,aAAa,gBAAgB,OAAO;UACvC;AACH,WAAO,IAAI,QAAQ;AACnB,QAAI,gBAAgB,mBAAmB;AACvC,UAAM,gBAAgB,eAAe;;AAGzC,SAAM,cAAc;;EAGxB,MAAM,MAAM,SAAS,cAAc,OAAO;AAC1C,MAAI,YAAY;AAChB,MAAI,KAAK,SAAS,kBAAkB;AACpC,MAAI,aAAa,mBAAmB,QAAQ;AAK5C,MAAI,aAAa,oBAAoB,GAAG;AACxC,MAAI,QAAQ,QAAQ,OAAO,YAAY,MAAM,SAAS,GAAG;AACzD,MAAI,QAAQ,gBAAgB,OAAO,YAAY,MAAM,SAAS,GAAG;EAGjE,MAAM,QAAQ,SAAS,cAAc,SAAS;AAC9C,QAAM,OAAO;AACb,QAAM,YAAY;AAClB,QAAM,YAAY;AAClB,MAAI,OAAO,MAAM;AACjB,6BAA2B,YAAY,MAAM;EAE7C,IAAI,eAAyC;EAC7C,IAAI,sBAAsB;EAC1B,IAAI,WAAW;EAEf,MAAM,sBAAsB;GACxB,MAAM,MAAM,YAAY;AACxB,OAAI,OAAO,QAAQ,UAAU;IACzB,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,QAAI,MAAM,KAAK,SAAS,cACpB,QAAO,EAAE,GAAG,KAAK,OAAO;;AAIhC,UAAO,EAAE,GAAG,YAAY,OAAO;;EAGnC,MAAM,sBAAsB;AACxB,OAAI,CAAC,OAAO,WACR;GAIJ,MAAM,MAAM,KAAK,KAAK;AACtB,OAAI,MAAM,WAAW,IACjB;AAEJ,cAAW;AAIX,OAAI,gBAAgB,YAAY;AAEhC,iBAAc,QAAQ;IAClB;IACA,QAAQ;IACR,OAAO,eAAe;IACtB,QAAQ;IACR;IACA;IACH,CAAC;;AAIN,QAAM,iBAAiB,gBAAgB,UAAU;AAC7C,OAAI,MAAM,WAAW,EACjB;AAGJ,SAAM,gBAAgB;AACtB,SAAM,iBAAiB;AACvB,kBAAe;IACjB;AACF,QAAM,iBAAiB,UAAU,UAAU;AACvC,SAAM,gBAAgB;AACtB,SAAM,iBAAiB;AACvB,kBAAe;IACjB;EAEF,MAAM,oBAAoB,aAAsB;AAC5C,OAAI,UAAU;AACV,QAAI,aACA;AAGJ,mBAAe,SAAS,cAAc,SAAS;AAC/C,iBAAa,OAAO;AACpB,iBAAa,YAAY;AACzB,iBAAa,aAAa,cAAc,SAAS;AACjD,iBAAa,YAAY;AACzB,iBAAa,YAAY;AACzB,iBAAa,iBAAiB,gBAAgB,UAAU;AACpD,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;MACzB;AACF,iBAAa,iBAAiB,UAAU,UAAU;AAC9C,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;AACvB,iBAAY;MACd;AACF,QAAI,OAAO,aAAa;AACxB;;AAGJ,iBAAc,QAAQ;AACtB,kBAAe;;AAGnB,mBAAiB,OAAO,WAAW;AAEnC,MAAI,YAAY,MAAM,gBAAgB,OAAO,cAAc,CAAC,qBAAqB;AAC7E,yBAAsB;AACtB,wBAAqB;AACjB,qBAAiB,EAAE,cAAc,OAAO,CAAC;AACzC,mBAAe;KACjB;;AAGN,SAAO;GACH;GAKA,YAAY,UAAU;IAClB,MAAM,SAAS,MAAM;AACrB,QAAI,EAAE,kBAAkB,SACpB,QAAO;AAGX,WAAO,QACH,OAAO,QAAQ,0BAA0B,IACtC,OAAO,QAAQ,2BAA2B,CAChD;;GAEL,kBAAkB;AACd,QAAI,UAAU,IAAI,2BAA2B;AAE7C,QAAI,gBAAgB,YAAY;;GAEpC,oBAAoB;AAChB,QAAI,UAAU,OAAO,2BAA2B;AAChD,QAAI,gBAAgB,YAAY;;GAEpC,OAAO,aAAa;AAChB,QAAI,YAAY,KAAK,SAAS,cAC1B,QAAO;AAGX,kBAAc;AACd,QAAI,QAAQ,QAAQ,OAAO,YAAY,MAAM,SAAS,GAAG;AACzD,QAAI,QAAQ,gBAAgB,OAAO,YAAY,MAAM,SAAS,GAAG;AACjE,+BAA2B,YAAY,MAAM;AAC7C,qBAAiB,OAAO,WAAW;AACnC,WAAO;;GAEd;;;;;;;;;ACpTT,IAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkF7B,IAAa,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqFhC,kBAAkB;;;;;;;;;;;AAY5B,IAAa,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqDrC,kBAAkB;;;AAI5B,IAAa,iCAAiC,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../src/component-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsDzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAwC,CAAC;AAExF,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuD3D,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqC3D,CAAC"}
1
+ {"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../src/component-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwDzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAwC,CAAC;AAExF,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyD3D,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PkAutocomplete, type PkAutocompleteAsyncOption, type PkAutocompleteFetchHandler, type PkAutocompleteFilter, type PkAutocompleteSize, } from './pk-autocomplete.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GAC1B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,150 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { PkFormAssociatedElement } from '../../base/pk-form-associated-element.js';
3
+ import { PkOverlaySource } from '../../events/overlay-lifecycle.js';
4
+ import { PkValidator } from '../../validators/types.js';
5
+ import { PkPopupPlacement } from '../popup/pk-popup.js';
6
+ import { PkAsyncOptionFetchHandler, PkAsyncOptionItem } from '../../utils/async-option-fetch.js';
7
+ import { PkOptionFilter } from '../../utils/option-filter.js';
8
+ export type PkAutocompleteSize = 'xs' | 'sm' | 'default' | 'lg' | 'xl';
9
+ export type PkAutocompleteFilter = PkOptionFilter;
10
+ export type PkAutocompleteAsyncOption = PkAsyncOptionItem;
11
+ export type PkAutocompleteFetchHandler = PkAsyncOptionFetchHandler;
12
+ /**
13
+ * Autocomplete — freeform text field with optional list suggestions.
14
+ *
15
+ * Unlike Combobox, the committed `value` *is* the input text. Choosing a
16
+ * suggestion inserts that option’s value into the field; typing always wins.
17
+ *
18
+ * @slot start - Presentational decoration before the input (e.g. icons)
19
+ * @slot end - Presentational decoration before the clear control
20
+ * @slot - `pk-option` and `pk-option-group` items
21
+ *
22
+ * @csspart control - Input control wrapper
23
+ * @csspart start - Host start decoration container
24
+ * @csspart end - Host end decoration container
25
+ * @csspart input - Autocomplete text input
26
+ * @csspart clear-button - Clear value button
27
+ * @csspart panel-body - Scrollable listbox region inside the popup panel
28
+ * @csspart empty - Empty-state message
29
+ * @csspart async-status - Async search status message
30
+ *
31
+ * @dependency pk-popup - Positioned suggestion panel host.
32
+ */
33
+ export declare class PkAutocomplete extends PkFormAssociatedElement {
34
+ static styles: import('lit').CSSResult[];
35
+ static get validators(): PkValidator[];
36
+ assumeInteractionOn: string[];
37
+ open: boolean;
38
+ placement: PkPopupPlacement;
39
+ /** Gap between the control and listbox panel in px (default: 6). */
40
+ sideOffset: number;
41
+ clearable: boolean;
42
+ withClear: boolean;
43
+ /** When true, the first matching option is highlighted on open or when filtering. */
44
+ autoHighlight: boolean;
45
+ invalid: boolean;
46
+ size: PkAutocompleteSize;
47
+ /** When `full`, the control stretches to the host width. */
48
+ width?: 'full';
49
+ /** Empty by default — consumers opt in when a prompt is useful. */
50
+ placeholder: string;
51
+ emptyMessage: string;
52
+ /** Freeform field value — always mirrors the visible input text. */
53
+ value: string;
54
+ defaultValue: string;
55
+ label: string;
56
+ instructions: string;
57
+ ariaLabel: string | null;
58
+ /**
59
+ * Whether arrow-key focus loops from the last option back to the first (and vice versa).
60
+ * Default: `true` (same as Combobox).
61
+ */
62
+ loopFocus: boolean;
63
+ /** Custom filter — `(option, query) => boolean`. Defaults to label/value substring match. */
64
+ filter: PkAutocompleteFilter | null;
65
+ /**
66
+ * When true, options are loaded via `fetchOptions` as the user types instead of
67
+ * filtering static `pk-option` children.
68
+ */
69
+ async: boolean;
70
+ /** Message shown while async results are loading. */
71
+ loadingMessage: string;
72
+ /** Message shown before the user types in async mode. */
73
+ startTypingMessage: string;
74
+ /** Remote search handler — `(query, signal) => Promise<options>`. */
75
+ fetchOptions: PkAutocompleteFetchHandler | null;
76
+ private readonly hasSlotController;
77
+ private readonly listboxId;
78
+ private readonly inputId;
79
+ private popupElement;
80
+ private controlElement;
81
+ private controlInput?;
82
+ input: HTMLInputElement;
83
+ private get panelElement();
84
+ private get panelBodyElement();
85
+ private get listScrollContainer();
86
+ private options;
87
+ private highlightedIndex;
88
+ private closing;
89
+ private panelAnimated;
90
+ private dismissRegistered;
91
+ private panelEventTarget;
92
+ private optionsObserver?;
93
+ private liveRegion?;
94
+ private asyncFetcher;
95
+ private asyncLoading;
96
+ private asyncError;
97
+ connectedCallback(): void;
98
+ disconnectedCallback(): void;
99
+ firstUpdated(changed: PropertyValues): void;
100
+ updated(changed: PropertyValues): void;
101
+ protected get validationTarget(): HTMLElement | undefined;
102
+ protected getAriaMirrorTarget(): HTMLElement | null;
103
+ protected syncFormValue(): void;
104
+ private syncHasValueAttribute;
105
+ private refreshOptions;
106
+ private handleOptionsMutation;
107
+ private bindPanelEvents;
108
+ private unbindPanelEvents;
109
+ private isOptionInHiddenGroup;
110
+ private getFilterQuery;
111
+ private get usesAsyncSearch();
112
+ private getVisibleOptions;
113
+ private getEnabledVisibleOptions;
114
+ private clearAsyncOptionNodes;
115
+ private renderAsyncOptionNodes;
116
+ private scheduleAsyncFetch;
117
+ private ensureAsyncFetcher;
118
+ private getAsyncStatusMessage;
119
+ private applyOptionState;
120
+ private syncValueInput;
121
+ private resetHighlightedIndexOnOpen;
122
+ private syncHighlight;
123
+ private getActiveDescendantId;
124
+ private announceFilterResults;
125
+ private openPanel;
126
+ private closePanel;
127
+ private registerDismissHandlers;
128
+ private unregisterDismissHandlers;
129
+ private onDocumentPointerDown;
130
+ private onDocumentKeyDown;
131
+ private handleOptionSelect;
132
+ private handleOptionHighlight;
133
+ private commitValue;
134
+ private handleClear;
135
+ private emitValueChange;
136
+ private handleInput;
137
+ private handleControlMouseDown;
138
+ private handleInputKeyDown;
139
+ private onListboxKeyDown;
140
+ private handleListboxKeyDownEvent;
141
+ hide(source?: PkOverlaySource): Promise<void>;
142
+ private renderHostDecorationSlot;
143
+ render(): import('lit-html').TemplateResult<1>;
144
+ }
145
+ declare global {
146
+ interface HTMLElementTagNameMap {
147
+ 'pk-autocomplete': PkAutocomplete;
148
+ }
149
+ }
150
+ //# sourceMappingURL=pk-autocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pk-autocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/pk-autocomplete.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAGnF,OAAO,EAKH,KAAK,eAAe,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAW,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAatE,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAMxF,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAE1D,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAInE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,cAAe,SAAQ,uBAAuB;IACvD,OAAgB,MAAM,4BAAwB;IAE9C,WAAoB,UAAU,IAAI,WAAW,EAAE,CAwB9C;IAEQ,mBAAmB,WAAqB;IAGjD,IAAI,UAAS;IAGb,SAAS,EAAE,gBAAgB,CAAkB;IAE7C,oEAAoE;IAEpE,UAAU,SAAK;IAGf,SAAS,UAAS;IAGlB,SAAS,UAAS;IAElB,qFAAqF;IAErF,aAAa,UAAS;IAGtB,OAAO,UAAS;IAGhB,IAAI,EAAE,kBAAkB,CAAa;IAErC,4DAA4D;IAE5D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mEAAmE;IAEnE,WAAW,SAAM;IAGjB,YAAY,SAAuB;IAEnC,oEAAoE;IAEpE,KAAK,SAAM;IAGX,YAAY,SAAM;IAGlB,KAAK,SAAM;IAGX,YAAY,SAAM;IAGlB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,SAAS,UAAQ;IAEjB,6FAA6F;IAE7F,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAE3C;;;OAGG;IAEH,KAAK,UAAS;IAEd,qDAAqD;IAErD,cAAc,SAAgB;IAE9B,yDAAyD;IAEzD,kBAAkB,SAA6B;IAE/C,qEAAqE;IAErE,YAAY,EAAE,0BAA0B,GAAG,IAAI,CAAQ;IAEvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+C;IAEjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAG7D,OAAO,CAAC,YAAY,CAAW;IAG/B,OAAO,CAAC,cAAc,CAAe;IAGrC,OAAO,CAAC,YAAY,CAAC,CAAmB;IAG/B,KAAK,EAAG,gBAAgB,CAAC;IAElC,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,CAAC,OAAO,CAAkB;IAGjC,OAAO,CAAC,gBAAgB,CAAM;IAG9B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,YAAY,CAAmC;IAGvD,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,UAAU,CAAuB;IAEhC,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAW5B,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAU3C,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAS/C,cAAuB,gBAAgB,IAAI,WAAW,GAAG,SAAS,CAEjE;cAEkB,mBAAmB,IAAI,WAAW,GAAG,IAAI;cAIzC,aAAa,IAAI,IAAI;IASxC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,cAAc;IAQtB,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,SAAS;YAqEH,UAAU;IAkDxB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,iBAAiB,CAwCvB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEF,OAAO,CAAC,qBAAqB,CAc3B;IAEF,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,sBAAsB,CAkC5B;IAEF,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,yBAAyB,CAE/B;IAEI,IAAI,CAAC,MAAM,GAAE,eAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,OAAO,CAAC,wBAAwB;IAQvB,MAAM;CAyGlB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ"}
@@ -0,0 +1,2 @@
1
+ import { t as PkAutocomplete } from "../../chunks/pk-autocomplete-IFL-u-RF.js";
2
+ export { PkAutocomplete };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Autocomplete chrome matches `pk-input` (text field), not Combobox’s slate
3
+ * select fill / chevron affordance. Panel / listbox tokens stay shared with
4
+ * Combobox so suggestion rows look the same.
5
+ */
6
+ export declare const pkAutocompleteStyles: import('lit').CSSResult[];
7
+ //# sourceMappingURL=pk-autocomplete.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pk-autocomplete.styles.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/pk-autocomplete.styles.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,2BAsShC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './autocomplete/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { t as PkAutocomplete } from "../chunks/pk-autocomplete-IFL-u-RF.js";
2
+ export { PkAutocomplete };