@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,24 +1,25 @@
1
1
  import { t as icons_exports } from "./icons-BR8JcQj2.js";
2
2
  import { a as query, i as property, o as state, s as customElement, t as __decorate } from "./decorate-R0X811qp.js";
3
- import "./pk-button-BWGDkuzc.js";
4
- import { t as PkFormAssociatedElement } from "./pk-form-associated-element-9M2NzOE2.js";
3
+ import "./pk-button-BrH4u4Qr.js";
4
+ import { t as PkFormAssociatedElement } from "./pk-form-associated-element-CCQALRGB.js";
5
5
  import { t as MirrorValidator } from "./mirror-validator-DCjNYrrx.js";
6
- import "./pk-checkbox-CvZwJZn_.js";
6
+ import "./pk-checkbox-CfV1uDdC.js";
7
7
  import { t as formControlStyles } from "./form-control.styles-BQdimE5o.js";
8
8
  import { n as renderIconHtml } from "./render-Dvc3MHQR.js";
9
9
  import { i as uniqueId } from "./focus-aa5dlv8k.js";
10
- import "./pk-input-DDkIXOkt.js";
11
- import "./pk-dialog-BbEfvb0g.js";
12
- import "./pk-dropdown-item-BoZTGWMU.js";
13
- import "./pk-dropdown-menu-CfZc7dIz.js";
10
+ import "./pk-input-CF_icEtR.js";
11
+ import "./pk-dialog-VMQqLW1f.js";
12
+ import "./pk-dropdown-item-D9OaG5o-.js";
13
+ import "./pk-dropdown-menu-DW1wI8xQ.js";
14
+ import "./pk-dropdown-label-CRNWMWQd.js";
14
15
  import "../components/dropdown-menu/pk-dropdown-separator.js";
15
- import "./pk-field-NL4KdFZC.js";
16
- import "./pk-tooltip-BoDq8YVe.js";
17
- import { i as createVariableTagDomNodeView, r as tiptapProseMirrorStyles } from "./tiptap.styles-ChAfyVi9.js";
16
+ import "./pk-field-UAlMq6mQ.js";
17
+ import "./pk-tooltip--QBV6puX.js";
18
+ import { i as createVariableTagDomNodeView, r as tiptapProseMirrorStyles } from "./tiptap.styles-CPRows--.js";
18
19
  import { css, html, nothing } from "lit";
19
20
  import { unsafeSVG } from "lit/directives/unsafe-svg.js";
20
21
  import { Editor, getMarkRange, posToDOMRect } from "@tiptap/core";
21
- import { applyLinkToEditor, createTiptapExtensions, getCraftLinkOptions, getFatalTiptapContentError, getLinkEditState, getLinkOpenInNewTab, getLinkOptionsElementSiteId, getSelectedText, getToolbarGroupDefaultIcon, getToolbarGroupMenuItems, getToolbarGroupTriggerState, isFormattingToolbarPreset, isHeadingsOnlyToolbarPreset, isTiptapButtonActive, isToolbarButtonActive, normalizeContentArray, openCraftElementLinkSelector, parseToolbarConfig, runToolbarButton, toolbarIncludesButton, unsetLinkFromEditor, valueToContent } from "@verbb/plugin-kit-tiptap-core";
22
+ import { applyLinkToEditor, createTiptapExtensions, getCraftLinkOptions, getFatalTiptapContentError, getLinkEditState, getLinkOpenInNewTab, getLinkOptionsElementSiteId, getRegisteredTiptapToolbarControl, getSelectedText, getToolbarGroupDefaultIcon, getToolbarGroupMenuItems, getToolbarGroupTriggerState, isFormattingToolbarPreset, isHeadingsOnlyToolbarPreset, isTiptapButtonActive, isToolbarButtonActive, normalizeContentArray, openCraftElementLinkSelector, parseToolbarConfig, resolveTiptapTextStyleToolbarConfig, runToolbarButton, toolbarIncludesButton, unsetLinkFromEditor, valueToContent } from "@verbb/plugin-kit-tiptap-core";
22
23
  //#region src/components/tiptap/tiptap-editor-host.ts
23
24
  function serializeTiptapDocumentContent(content) {
24
25
  return JSON.stringify(normalizeContentArray(content));
@@ -121,6 +122,7 @@ var TOOLBAR_ICONS = {
121
122
  strikethrough: renderIconHtml(icons_exports.strikethrough),
122
123
  subscript: renderIconHtml(icons_exports.subscript),
123
124
  superscript: renderIconHtml(icons_exports.superscript),
125
+ "small-caps": renderIconHtml(icons_exports.smallCaps),
124
126
  code: renderIconHtml(icons_exports.bracketsCurly),
125
127
  "code-block": renderIconHtml(icons_exports.code),
126
128
  highlight: renderIconHtml(icons_exports.highlighter),
@@ -154,6 +156,11 @@ var TOOLBAR_LABELS = {
154
156
  strikethrough: "Strikethrough",
155
157
  subscript: "Subscript",
156
158
  superscript: "Superscript",
159
+ "small-caps": "Small caps",
160
+ "font-family": "Font family",
161
+ "font-size": "Font size",
162
+ "text-color": "Text and background color",
163
+ "line-height": "Line height",
157
164
  code: "Inline code",
158
165
  "code-block": "Code block",
159
166
  highlight: "Highlight",
@@ -180,11 +187,15 @@ var TOOLBAR_LABELS = {
180
187
  redo: "Redo"
181
188
  };
182
189
  function getToolbarMenuItemLabel(buttonName) {
183
- return TOOLBAR_LABELS[buttonName] ?? buttonName;
190
+ return TOOLBAR_LABELS[buttonName] ?? getRegisteredTiptapToolbarControl(buttonName)?.label ?? buttonName;
191
+ }
192
+ function getToolbarButtonIcon(buttonName) {
193
+ const registeredIcon = getRegisteredTiptapToolbarControl(buttonName)?.icon;
194
+ return TOOLBAR_ICONS[buttonName] ?? (registeredIcon ? renderIconHtml(registeredIcon) : void 0);
184
195
  }
185
196
  /** Prefix icon for `pk-dropdown-item` — SVG must carry `slot="prefix"` directly. */
186
197
  function createToolbarPrefixIcon(buttonName) {
187
- const iconHtml = TOOLBAR_ICONS[buttonName];
198
+ const iconHtml = getToolbarButtonIcon(buttonName);
188
199
  if (!iconHtml) return null;
189
200
  const template = document.createElement("template");
190
201
  template.innerHTML = iconHtml.trim();
@@ -315,6 +326,136 @@ var pkTiptapEditorStyles = css`
315
326
  letter-spacing: 0.02em;
316
327
  }
317
328
 
329
+ .toolbar-btn--text-style {
330
+ max-width: 9rem;
331
+ padding-inline: 0.5rem;
332
+ }
333
+
334
+ .toolbar-btn__text-style-value {
335
+ overflow: hidden;
336
+ font-size: var(--pk-font-size-xs);
337
+ line-height: 1;
338
+ text-overflow: ellipsis;
339
+ white-space: nowrap;
340
+ }
341
+
342
+ .toolbar-btn--color .toolbar-btn__text-style-value {
343
+ min-width: 1rem;
344
+ border-bottom: 2px solid var(--text-style-trigger-color, currentColor);
345
+ color: var(--text-style-trigger-color, currentColor);
346
+ font-weight: 700;
347
+ text-align: center;
348
+ }
349
+
350
+ pk-dropdown-menu.text-style-palette::part(panel) {
351
+ display: grid;
352
+ grid-template-columns: repeat(5, 2rem);
353
+ gap: 0.625rem 0.75rem;
354
+ width: max-content;
355
+ min-width: 0;
356
+ padding: 1rem;
357
+ }
358
+
359
+ .text-style-palette__label {
360
+ grid-column: 1 / -1;
361
+ color: var(--pk-color-gray-900);
362
+ }
363
+
364
+ .text-style-palette__label::part(label) {
365
+ padding: 0 0 0.125rem;
366
+ font-size: var(--pk-font-size-base);
367
+ font-weight: 600;
368
+ }
369
+
370
+ .text-style-palette__label--highlight {
371
+ margin-top: 0.375rem;
372
+ }
373
+
374
+ .text-style-palette__option {
375
+ width: 2rem;
376
+ height: 2rem;
377
+ --pk-dropdown-item-gap: 0;
378
+ --pk-dropdown-item-icon-size: 1.625rem;
379
+ }
380
+
381
+ .text-style-palette__option::part(item) {
382
+ justify-content: center;
383
+ width: 2rem;
384
+ height: 2rem;
385
+ min-height: 0;
386
+ padding: 0;
387
+ border-radius: 50%;
388
+ background: transparent;
389
+ }
390
+
391
+ .text-style-palette__option:hover::part(item),
392
+ .text-style-palette__option:focus-within::part(item),
393
+ .text-style-palette__option[data-highlighted]::part(item),
394
+ .text-style-palette__option[checked]::part(item) {
395
+ background: transparent;
396
+ }
397
+
398
+ .text-style-palette__option::part(prefix) {
399
+ width: 1.625rem;
400
+ height: 1.625rem;
401
+ }
402
+
403
+ .text-style-palette__option::part(label) {
404
+ position: absolute;
405
+ }
406
+
407
+ .text-style-palette__option::part(check) {
408
+ display: none;
409
+ }
410
+
411
+ .text-style-palette__swatch {
412
+ display: inline-flex;
413
+ align-items: center;
414
+ justify-content: center;
415
+ width: 1.625rem;
416
+ height: 1.625rem;
417
+ box-sizing: border-box;
418
+ border: 1px solid rgba(15, 23, 42, 0.16);
419
+ border-radius: 50%;
420
+ }
421
+
422
+ /* Keep the state treatment concentric with the slotted swatch. The
423
+ dropdown item's shadow button is wider than its prefix in some hosts. */
424
+ .text-style-palette__option:hover .text-style-palette__swatch,
425
+ .text-style-palette__option:focus-within .text-style-palette__swatch,
426
+ .text-style-palette__option[data-highlighted] .text-style-palette__swatch,
427
+ .text-style-palette__option[checked] .text-style-palette__swatch {
428
+ box-shadow: 0 0 0 0.25rem var(--pk-color-slate-100);
429
+ }
430
+
431
+ .text-style-palette__swatch--text {
432
+ border-color: var(--text-style-swatch, rgba(15, 23, 42, 0.35));
433
+ color: var(--text-style-swatch, #1f2937);
434
+ font-size: var(--pk-font-size-base);
435
+ font-weight: 500;
436
+ line-height: 1;
437
+ }
438
+
439
+ .text-style-palette__swatch--highlight {
440
+ background: var(--text-style-swatch, #fff);
441
+ }
442
+
443
+ .text-style-palette__accessible-label {
444
+ position: absolute;
445
+ width: 1px;
446
+ height: 1px;
447
+ padding: 0;
448
+ margin: -1px;
449
+ overflow: hidden;
450
+ clip: rect(0, 0, 0, 0);
451
+ white-space: nowrap;
452
+ border: 0;
453
+ }
454
+
455
+ .text-style-palette pk-tooltip {
456
+ display: contents;
457
+ }
458
+
318
459
  /* Full toolbar replace (slot=toolbar on host when hasCustomToolbar). */
319
460
  .toolbar ::slotted([slot='toolbar']) {
320
461
  display: contents;
@@ -449,6 +590,7 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
449
590
  this._value = null;
450
591
  this.buttons = "bold,italic";
451
592
  this.toolbar = null;
593
+ this.textStyleOptions = null;
452
594
  this.linkOptions = null;
453
595
  this.rows = 4;
454
596
  this.placeholder = "";
@@ -625,6 +767,7 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
625
767
  });
626
768
  queueMicrotask(() => {
627
769
  this.attachSelectionListeners();
770
+ this.requestUpdate();
628
771
  });
629
772
  }
630
773
  attachSelectionListeners() {
@@ -679,7 +822,7 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
679
822
  style=${`top:${this.linkBubbleTop}px;left:${this.linkBubbleLeft}px;transform:translate(-50%, -100%);`}
680
823
  >
681
824
  <span class="link-bubble__arrow" aria-hidden="true"></span>
682
- <span class="link-bubble__url" title=${this.linkBubbleHref}>${this.linkBubbleHref}</span>
825
+ <span class="link-bubble__url">${this.linkBubbleHref}</span>
683
826
  <span class="link-bubble__divider" aria-hidden="true"></span>
684
827
  <button
685
828
  type="button"
@@ -841,7 +984,7 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
841
984
  return id;
842
985
  }
843
986
  getToolbarButtonLabel(buttonName) {
844
- return TOOLBAR_LABELS[buttonName] ?? buttonName;
987
+ return TOOLBAR_LABELS[buttonName] ?? getRegisteredTiptapToolbarControl(buttonName)?.label ?? buttonName;
845
988
  }
846
989
  renderToolbarTooltip(buttonId, label) {
847
990
  if (!this.toolbarTooltips) return nothing;
@@ -851,7 +994,9 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
851
994
  }
852
995
  renderToolbarButton(buttonName) {
853
996
  const editor = this.host.editor;
854
- const icon = TOOLBAR_ICONS[buttonName];
997
+ const registered = getRegisteredTiptapToolbarControl(buttonName);
998
+ if (registered?.isVisible && (!editor || !registered.isVisible(editor))) return nothing;
999
+ const icon = getToolbarButtonIcon(buttonName);
855
1000
  const label = this.getToolbarButtonLabel(buttonName);
856
1001
  const buttonId = this.getToolbarButtonId(buttonName);
857
1002
  const active = editor ? isTiptapButtonActive(editor, buttonName) : false;
@@ -872,6 +1017,152 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
872
1017
  </div>
873
1018
  `;
874
1019
  }
1020
+ get textStyleToolbarConfig() {
1021
+ return resolveTiptapTextStyleToolbarConfig(this.textStyleOptions);
1022
+ }
1023
+ getTextStyleValue(attribute) {
1024
+ const value = this.host.editor?.getAttributes("textStyle")[attribute];
1025
+ return typeof value === "string" && value ? value : null;
1026
+ }
1027
+ setTextStyleValue(attribute, value) {
1028
+ const editor = this.host.editor;
1029
+ if (!editor) return;
1030
+ const chain = editor.chain().focus();
1031
+ switch (attribute) {
1032
+ case "fontFamily":
1033
+ value ? chain.setFontFamily(value).run() : chain.unsetFontFamily().run();
1034
+ break;
1035
+ case "fontSize":
1036
+ value ? chain.setFontSize(value).run() : chain.unsetFontSize().run();
1037
+ break;
1038
+ case "color":
1039
+ value ? chain.setColor(value).run() : chain.unsetColor().run();
1040
+ break;
1041
+ case "backgroundColor":
1042
+ value ? chain.setBackgroundColor(value).run() : chain.unsetBackgroundColor().run();
1043
+ break;
1044
+ case "lineHeight":
1045
+ value ? chain.setLineHeight(value).run() : chain.unsetLineHeight().run();
1046
+ break;
1047
+ }
1048
+ }
1049
+ getTextStyleOptionLabel(options, value) {
1050
+ return options.find((option) => option.value === value)?.label ?? options.find((option) => option.value === null)?.label ?? "Default";
1051
+ }
1052
+ renderTextStyleOptions(attribute, options) {
1053
+ const currentValue = this.getTextStyleValue(attribute);
1054
+ return options.map((option) => html`
1055
+ <pk-dropdown-item
1056
+ type="radio"
1057
+ radio-group=${attribute}
1058
+ value=${option.value ?? ""}
1059
+ ?checked=${option.value === currentValue}
1060
+ @click=${() => this.setTextStyleValue(attribute, option.value)}
1061
+ >
1062
+ ${option.label}
1063
+ </pk-dropdown-item>
1064
+ `);
1065
+ }
1066
+ renderTextStylePaletteOptions(attribute, options, idPrefix) {
1067
+ const currentValue = this.getTextStyleValue(attribute);
1068
+ const isTextColor = attribute === "color";
1069
+ return options.map((option, index) => {
1070
+ const optionId = `${idPrefix}-${attribute}-${index}`;
1071
+ const accessibleLabel = option.value ? `${option.label} ${isTextColor ? "text" : "highlight"}` : isTextColor ? "Default text color" : "No highlight";
1072
+ return html`
1073
+ <pk-dropdown-item
1074
+ id=${optionId}
1075
+ class="text-style-palette__option"
1076
+ type="radio"
1077
+ radio-group=${attribute}
1078
+ value=${option.value ?? ""}
1079
+ ?checked=${option.value === currentValue}
1080
+ @click=${() => this.setTextStyleValue(attribute, option.value)}
1081
+ >
1082
+ <span
1083
+ slot="start"
1084
+ class="text-style-palette__swatch ${isTextColor ? "text-style-palette__swatch--text" : "text-style-palette__swatch--highlight"}"
1085
+ style=${option.value ? `--text-style-swatch:${option.value}` : ""}
1086
+ data-empty=${option.value === null ? "" : nothing}
1087
+ aria-hidden="true"
1088
+ >${isTextColor ? "A" : nothing}</span>
1089
+ <span class="text-style-palette__accessible-label">${accessibleLabel}</span>
1090
+ </pk-dropdown-item>
1091
+ ${this.toolbarTooltips ? html`
1092
+ <pk-tooltip for=${optionId} content=${accessibleLabel} placement="top"></pk-tooltip>
1093
+ ` : nothing}
1094
+ `;
1095
+ });
1096
+ }
1097
+ handleTextStylePaletteKeyDown(event) {
1098
+ const delta = {
1099
+ ArrowLeft: -1,
1100
+ ArrowRight: 1,
1101
+ ArrowUp: -5,
1102
+ ArrowDown: 5
1103
+ }[event.key];
1104
+ if (!delta) return;
1105
+ const menu = event.currentTarget;
1106
+ const item = event.composedPath().find((node) => node instanceof HTMLElement && node.localName === "pk-dropdown-item" && node.classList.contains("text-style-palette__option"));
1107
+ const items = menu.getItems().filter((candidate) => candidate.classList.contains("text-style-palette__option"));
1108
+ const index = item ? items.indexOf(item) : -1;
1109
+ if (index === -1) return;
1110
+ const target = items[Math.max(0, Math.min(index + delta, items.length - 1))];
1111
+ event.preventDefault();
1112
+ event.stopPropagation();
1113
+ target?.focusControl();
1114
+ }
1115
+ renderTextStyleToolbar(buttonName) {
1116
+ const config = this.textStyleToolbarConfig;
1117
+ const buttonId = this.getToolbarButtonId(buttonName);
1118
+ const triggerColor = buttonName === "text-color" ? this.getTextStyleValue("color") : null;
1119
+ let triggerLabel = "";
1120
+ let menuContent = nothing;
1121
+ if (buttonName === "font-family") {
1122
+ triggerLabel = this.getTextStyleOptionLabel(config.fontFamilies, this.getTextStyleValue("fontFamily"));
1123
+ menuContent = html`${this.renderTextStyleOptions("fontFamily", config.fontFamilies)}`;
1124
+ } else if (buttonName === "font-size") {
1125
+ triggerLabel = this.getTextStyleOptionLabel(config.fontSizes, this.getTextStyleValue("fontSize"));
1126
+ menuContent = html`${this.renderTextStyleOptions("fontSize", config.fontSizes)}`;
1127
+ } else if (buttonName === "line-height") {
1128
+ triggerLabel = this.getTextStyleOptionLabel(config.lineHeights, this.getTextStyleValue("lineHeight"));
1129
+ menuContent = html`${this.renderTextStyleOptions("lineHeight", config.lineHeights)}`;
1130
+ } else {
1131
+ triggerLabel = "A";
1132
+ menuContent = html`
1133
+ <pk-dropdown-label class="text-style-palette__label">Text color</pk-dropdown-label>
1134
+ ${this.renderTextStylePaletteOptions("color", config.textColors, buttonId)}
1135
+ <pk-dropdown-label class="text-style-palette__label text-style-palette__label--highlight">Highlight color</pk-dropdown-label>
1136
+ ${this.renderTextStylePaletteOptions("backgroundColor", config.backgroundColors, buttonId)}
1137
+ `;
1138
+ }
1139
+ const label = this.getToolbarButtonLabel(buttonName);
1140
+ return html`
1141
+ <div class="toolbar-item">
1142
+ <button
1143
+ id=${buttonId}
1144
+ type="button"
1145
+ class="toolbar-btn toolbar-btn--menu toolbar-btn--text-style ${buttonName === "text-color" ? "toolbar-btn--color" : ""}"
1146
+ aria-label=${label}
1147
+ aria-haspopup="menu"
1148
+ ?disabled=${this.disabled || this.readonly}
1149
+ style=${triggerColor ? `--text-style-trigger-color:${triggerColor}` : ""}
1150
+ >
1151
+ <span class="toolbar-btn__text-style-value">${triggerLabel}</span>
1152
+ <span class="toolbar-btn__chevron">${unsafeSVG(TOOLBAR_CHEVRON_HTML)}</span>
1153
+ </button>
1154
+ ${this.renderToolbarTooltip(buttonId, label)}
1155
+ <pk-dropdown-menu
1156
+ for=${buttonId}
1157
+ placement="bottom-start"
1158
+ class=${buttonName === "text-color" ? "text-style-palette" : ""}
1159
+ @keydown=${buttonName === "text-color" ? this.handleTextStylePaletteKeyDown : nothing}
1160
+ >
1161
+ ${menuContent}
1162
+ </pk-dropdown-menu>
1163
+ </div>
1164
+ `;
1165
+ }
875
1166
  handleCraftLink(config) {
876
1167
  const editor = this.host.editor;
877
1168
  if (!editor) return;
@@ -901,7 +1192,7 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
901
1192
  return html`<span class="toolbar-separator" aria-hidden="true"></span>`;
902
1193
  }
903
1194
  renderGroupTriggerContent(group, triggerLabel, iconName) {
904
- const icon = TOOLBAR_ICONS[iconName];
1195
+ const icon = getToolbarButtonIcon(iconName);
905
1196
  if (Boolean(group.label) && triggerLabel) return html`
906
1197
  <span class="toolbar-btn__trigger-label">${triggerLabel}</span>
907
1198
  <span class="toolbar-btn__chevron">${unsafeSVG(TOOLBAR_CHEVRON_HTML)}</span>
@@ -920,7 +1211,12 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
920
1211
  isActive: false,
921
1212
  icon: group.icon ?? getToolbarGroupDefaultIcon(group)
922
1213
  };
923
- const menuItems = getToolbarGroupMenuItems(group);
1214
+ const menuItems = getToolbarGroupMenuItems(group).filter((entry) => {
1215
+ if (entry.type === "separator") return true;
1216
+ const control = getRegisteredTiptapToolbarControl(entry.name);
1217
+ return !control?.isVisible || Boolean(editor && control.isVisible(editor));
1218
+ });
1219
+ if (!menuItems.some((entry) => entry.type === "item")) return nothing;
924
1220
  const tooltipLabel = group.label ?? (isHeadingsOnlyToolbarPreset(group.preset) ? "Headings" : isFormattingToolbarPreset(group.preset) ? "Formatting" : group.preset === "lists" ? "Lists" : group.preset === "align" ? "Alignment" : "More");
925
1221
  return html`
926
1222
  <div class="toolbar-item">
@@ -962,6 +1258,12 @@ var PkTiptapEditor = class PkTiptapEditor extends PkFormAssociatedElement {
962
1258
  if (node.type === "separator") return this.renderToolbarSeparator();
963
1259
  if (node.type === "group") return this.renderToolbarGroup(node.group, `group-${index}`);
964
1260
  if (node.name === "link") return this.renderLinkToolbarButton();
1261
+ if ([
1262
+ "font-family",
1263
+ "font-size",
1264
+ "text-color",
1265
+ "line-height"
1266
+ ].includes(node.name)) return this.renderTextStyleToolbar(node.name);
965
1267
  return this.renderToolbarButton(node.name);
966
1268
  }
967
1269
  renderDefaultToolbar() {
@@ -1055,6 +1357,20 @@ __decorate([property({
1055
1357
  }
1056
1358
  }
1057
1359
  })], PkTiptapEditor.prototype, "toolbar", void 0);
1360
+ __decorate([property({
1361
+ attribute: "text-style-options",
1362
+ converter: {
1363
+ fromAttribute: (value) => {
1364
+ if (!value) return null;
1365
+ try {
1366
+ return JSON.parse(value);
1367
+ } catch {
1368
+ return null;
1369
+ }
1370
+ },
1371
+ toAttribute: (value) => value ? JSON.stringify(value) : null
1372
+ }
1373
+ })], PkTiptapEditor.prototype, "textStyleOptions", void 0);
1058
1374
  __decorate([property({ attribute: "link-options" })], PkTiptapEditor.prototype, "linkOptions", void 0);
1059
1375
  __decorate([property({ attribute: "link-selector-storage-key-prefix" })], PkTiptapEditor.prototype, "linkSelectorStorageKeyPrefix", void 0);
1060
1376
  __decorate([property({ type: Number })], PkTiptapEditor.prototype, "rows", void 0);
@@ -1089,4 +1405,4 @@ PkTiptapEditor = __decorate([customElement("pk-tiptap-editor")], PkTiptapEditor)
1089
1405
  //#endregion
1090
1406
  export { PkTiptapEditor as t };
1091
1407
 
1092
- //# sourceMappingURL=pk-tiptap-editor-tG67Vegc.js.map
1408
+ //# sourceMappingURL=pk-tiptap-editor-CTz-yfHL.js.map