@verbb/plugin-kit-web 2.0.22 → 2.0.24
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.
- package/CHANGELOG.md +20 -0
- package/custom-elements.json +8414 -7031
- package/dist/chunks/{active-elements-BwpXu8Lb.js → active-elements-739kISON.js} +1 -1
- package/dist/chunks/{active-elements-BwpXu8Lb.js.map → active-elements-739kISON.js.map} +1 -1
- package/dist/chunks/{animate-with-class-CsDwYnXL.js → animate-with-class-CjTZI0NU.js} +1 -1
- package/dist/chunks/{animate-with-class-CsDwYnXL.js.map → animate-with-class-CjTZI0NU.js.map} +1 -1
- package/dist/chunks/{autoloader-dJO3tYOX.js → autoloader-DcwybeWc.js} +3 -3
- package/dist/chunks/{autoloader-dJO3tYOX.js.map → autoloader-DcwybeWc.js.map} +1 -1
- package/dist/chunks/{button-group-item.styles-DYmBR28a.js → button-group-item.styles-D7tuu-sr.js} +1 -1
- package/dist/chunks/{button-group-item.styles-DYmBR28a.js.map → button-group-item.styles-D7tuu-sr.js.map} +1 -1
- package/dist/chunks/{component-registry-D34fm8xW.js → component-registry-B5pnAZsb.js} +6 -1
- package/dist/chunks/component-registry-B5pnAZsb.js.map +1 -0
- package/dist/chunks/{control-aria-B2QMq4ji.js → control-aria-CtNg2izr.js} +1 -1
- package/dist/chunks/{control-aria-B2QMq4ji.js.map → control-aria-CtNg2izr.js.map} +1 -1
- package/dist/chunks/{decorate-R0X811qp.js → decorate-Br_PE9pq.js} +3 -4
- package/dist/chunks/{decorate-R0X811qp.js.map → decorate-Br_PE9pq.js.map} +1 -1
- package/dist/chunks/decorators-BkErmuYK.js +2 -0
- package/dist/chunks/{dismissible-stack-XQUMfKO3.js → dismissible-stack-CwhtwAyo.js} +1 -1
- package/dist/chunks/{dismissible-stack-XQUMfKO3.js.map → dismissible-stack-CwhtwAyo.js.map} +1 -1
- package/dist/chunks/{field-labels-CmuAW8Cl.js → field-labels-pY-gQDwQ.js} +1 -1
- package/dist/chunks/{field-labels-CmuAW8Cl.js.map → field-labels-pY-gQDwQ.js.map} +1 -1
- package/dist/chunks/{focus-aa5dlv8k.js → focus-DcVUPVqn.js} +2 -2
- package/dist/chunks/{focus-aa5dlv8k.js.map → focus-DcVUPVqn.js.map} +1 -1
- package/dist/chunks/{form-control.styles-BQdimE5o.js → form-control.styles-CQ93gnVf.js} +1 -1
- package/dist/chunks/{form-control.styles-BQdimE5o.js.map → form-control.styles-CQ93gnVf.js.map} +1 -1
- package/dist/chunks/{has-slot-8BvCt_qo.js → has-slot-DJv86HKx.js} +1 -1
- package/dist/chunks/{has-slot-8BvCt_qo.js.map → has-slot-DJv86HKx.js.map} +1 -1
- package/dist/chunks/{icon.styles-BLTWLqYp.js → icon.styles-KWvfi7RV.js} +1 -1
- package/dist/chunks/{icon.styles-BLTWLqYp.js.map → icon.styles-KWvfi7RV.js.map} +1 -1
- package/dist/chunks/{icons-BR8JcQj2.js → icons-k1pvx6yX.js} +2 -2
- package/dist/chunks/{icons-BR8JcQj2.js.map → icons-k1pvx6yX.js.map} +1 -1
- package/dist/chunks/{mirror-validator-DCjNYrrx.js → mirror-validator-BkZlEv1Z.js} +1 -1
- package/dist/chunks/{mirror-validator-DCjNYrrx.js.map → mirror-validator-BkZlEv1Z.js.map} +1 -1
- package/dist/chunks/{option-filter-BQqr8Z21.js → option-filter-BkKyBg8L.js} +2 -2
- package/dist/chunks/{option-filter-BQqr8Z21.js.map → option-filter-BkKyBg8L.js.map} +1 -1
- package/dist/chunks/{overlay-lifecycle-D0pkTQyI.js → overlay-lifecycle-C582MGBJ.js} +1 -1
- package/dist/chunks/{overlay-lifecycle-D0pkTQyI.js.map → overlay-lifecycle-C582MGBJ.js.map} +1 -1
- package/dist/chunks/pk-alert-BQAb4lJc.js +666 -0
- package/dist/chunks/pk-alert-BQAb4lJc.js.map +1 -0
- package/dist/chunks/{pk-autocomplete-qy2Psvqm.js → pk-autocomplete-DUXhs1hi.js} +21 -20
- package/dist/chunks/pk-autocomplete-DUXhs1hi.js.map +1 -0
- package/dist/chunks/{pk-button-group-BSz5T5iS.js → pk-button-group-BY12Lbk7.js} +10 -7
- package/dist/chunks/pk-button-group-BY12Lbk7.js.map +1 -0
- package/dist/chunks/{pk-button-group-separator-DH3Rl24b.js → pk-button-group-separator-B1a8dP9A.js} +3 -2
- package/dist/chunks/pk-button-group-separator-B1a8dP9A.js.map +1 -0
- package/dist/chunks/{pk-button-group-text-Qro_KmZb.js → pk-button-group-text-CWNlZkyV.js} +3 -3
- package/dist/chunks/pk-button-group-text-CWNlZkyV.js.map +1 -0
- package/dist/chunks/{pk-button-BrH4u4Qr.js → pk-button-ntSVrer_.js} +8 -7
- package/dist/chunks/pk-button-ntSVrer_.js.map +1 -0
- package/dist/chunks/{pk-calendar-Z7Y0PjeY.js → pk-calendar-Df0c5u79.js} +12 -11
- package/dist/chunks/pk-calendar-Df0c5u79.js.map +1 -0
- package/dist/chunks/{pk-checkbox-13ArHSmt.js → pk-checkbox-L5uRex3b.js} +6 -5
- package/dist/chunks/pk-checkbox-L5uRex3b.js.map +1 -0
- package/dist/chunks/{pk-checkbox-select-Ckvfbu83.js → pk-checkbox-select-6OS0wFYO.js} +4 -3
- package/dist/chunks/pk-checkbox-select-6OS0wFYO.js.map +1 -0
- package/dist/chunks/{pk-clear--mPWZP7H.js → pk-clear-DHxP_2cm.js} +1 -1
- package/dist/chunks/{pk-clear--mPWZP7H.js.map → pk-clear-DHxP_2cm.js.map} +1 -1
- package/dist/chunks/{pk-code-editor-BlG6O5qB.js → pk-code-editor-vZriNR67.js} +6 -5
- package/dist/chunks/pk-code-editor-vZriNR67.js.map +1 -0
- package/dist/chunks/{pk-color-input-BRgQ5-vB.js → pk-color-input-Csbm4ROT.js} +6 -5
- package/dist/chunks/pk-color-input-Csbm4ROT.js.map +1 -0
- package/dist/chunks/{pk-combobox-ag89QEX2.js → pk-combobox-BrSBrldb.js} +25 -23
- package/dist/chunks/pk-combobox-BrSBrldb.js.map +1 -0
- package/dist/chunks/{pk-connect.styles-BhW406jt.js → pk-connect.styles-oKhxa_m2.js} +1 -1
- package/dist/chunks/{pk-connect.styles-BhW406jt.js.map → pk-connect.styles-oKhxa_m2.js.map} +1 -1
- package/dist/chunks/{pk-copy-button-BVaOLtYG.js → pk-copy-button-5i9v_zmu.js} +31 -9
- package/dist/chunks/pk-copy-button-5i9v_zmu.js.map +1 -0
- package/dist/chunks/{pk-date-picker-C2YvDPNm.js → pk-date-picker-C-w6Mn6j.js} +21 -20
- package/dist/chunks/pk-date-picker-C-w6Mn6j.js.map +1 -0
- package/dist/chunks/{pk-dialog-VMQqLW1f.js → pk-dialog-C7KZGpQs.js} +10 -9
- package/dist/chunks/pk-dialog-C7KZGpQs.js.map +1 -0
- package/dist/chunks/{pk-dropdown-item-D9OaG5o-.js → pk-dropdown-item-Ck2N_suK.js} +11 -8
- package/dist/chunks/pk-dropdown-item-Ck2N_suK.js.map +1 -0
- package/dist/chunks/{pk-dropdown-label-CRNWMWQd.js → pk-dropdown-label-BdZLeizJ.js} +2 -2
- package/dist/chunks/pk-dropdown-label-BdZLeizJ.js.map +1 -0
- package/dist/chunks/{pk-dropdown-menu-DW1wI8xQ.js → pk-dropdown-menu-DBsO1uYR.js} +22 -18
- package/dist/chunks/pk-dropdown-menu-DBsO1uYR.js.map +1 -0
- package/dist/chunks/{pk-editable-table-DDnu1I8Y.js → pk-editable-table-Cd8K6vT4.js} +26 -23
- package/dist/chunks/pk-editable-table-Cd8K6vT4.js.map +1 -0
- package/dist/chunks/{pk-field-UAlMq6mQ.js → pk-field--PCE9nOd.js} +9 -8
- package/dist/chunks/pk-field--PCE9nOd.js.map +1 -0
- package/dist/chunks/{pk-form-associated-element-GxX5lbnk.js → pk-form-associated-element-Doh2K3pG.js} +3 -3
- package/dist/chunks/pk-form-associated-element-Doh2K3pG.js.map +1 -0
- package/dist/chunks/{pk-image-browser-Bj8LhWfk.js → pk-image-browser-iUqdcLKs.js} +21 -21
- package/dist/chunks/pk-image-browser-iUqdcLKs.js.map +1 -0
- package/dist/chunks/{pk-input-BywmK5n2.js → pk-input-BUbXj9We.js} +14 -13
- package/dist/chunks/pk-input-BUbXj9We.js.map +1 -0
- package/dist/chunks/{pk-input-group-BLqKPnfc.js → pk-input-group-CN79c5HT.js} +5 -4
- package/dist/chunks/pk-input-group-CN79c5HT.js.map +1 -0
- package/dist/chunks/{pk-input-group-addon-ClBkGmAw.js → pk-input-group-addon-DpxfuYp1.js} +3 -2
- package/dist/chunks/pk-input-group-addon-DpxfuYp1.js.map +1 -0
- package/dist/chunks/{pk-input-group-button-CHQHsWd4.js → pk-input-group-button-D5Hm4saA.js} +3 -2
- package/dist/chunks/pk-input-group-button-D5Hm4saA.js.map +1 -0
- package/dist/chunks/{pk-input-group-input-oNnqMBGU.js → pk-input-group-input-Cm1MoHgN.js} +3 -2
- package/dist/chunks/pk-input-group-input-Cm1MoHgN.js.map +1 -0
- package/dist/chunks/{pk-input-group-text-HUxlXROB.js → pk-input-group-text-CtyJZ_Kg.js} +2 -2
- package/dist/chunks/pk-input-group-text-CtyJZ_Kg.js.map +1 -0
- package/dist/chunks/{pk-input-group-textarea-Cl2FNuw-.js → pk-input-group-textarea-BxmKGjdt.js} +3 -2
- package/dist/chunks/pk-input-group-textarea-BxmKGjdt.js.map +1 -0
- package/dist/chunks/{pk-lightswitch-VHfJizBW.js → pk-lightswitch-CSvgiHVQ.js} +9 -8
- package/dist/chunks/pk-lightswitch-CSvgiHVQ.js.map +1 -0
- package/dist/chunks/{pk-option-DQZHV9jL.js → pk-option-B_PF4v_Z.js} +9 -7
- package/dist/chunks/pk-option-B_PF4v_Z.js.map +1 -0
- package/dist/chunks/{pk-option-group-CCzJkBFp.js → pk-option-group-D6bHfn0j.js} +4 -3
- package/dist/chunks/pk-option-group-D6bHfn0j.js.map +1 -0
- package/dist/chunks/{pk-popover-D3jkHfwB.js → pk-popover-BOoGfR7I.js} +11 -10
- package/dist/chunks/pk-popover-BOoGfR7I.js.map +1 -0
- package/dist/chunks/{pk-popup-B65tZMQH.js → pk-popup-DVE93VSV.js} +32 -28
- package/dist/chunks/pk-popup-DVE93VSV.js.map +1 -0
- package/dist/chunks/{pk-radio-B5XkMHy3.js → pk-radio-D0eqmnlH.js} +3 -2
- package/dist/chunks/pk-radio-D0eqmnlH.js.map +1 -0
- package/dist/chunks/{pk-radio-group-Dzd-3HaQ.js → pk-radio-group-BehEZG_k.js} +8 -7
- package/dist/chunks/pk-radio-group-BehEZG_k.js.map +1 -0
- package/dist/chunks/{pk-scroll-area-CdfNxYz8.js → pk-scroll-area-BeaLZ6k-.js} +3 -2
- package/dist/chunks/pk-scroll-area-BeaLZ6k-.js.map +1 -0
- package/dist/chunks/{pk-select-b5S5WKc-.js → pk-select-DZNpEk5Z.js} +20 -19
- package/dist/chunks/pk-select-DZNpEk5Z.js.map +1 -0
- package/dist/chunks/{pk-separator-N-VyjYE6.js → pk-separator-ZkRowI5Y.js} +3 -2
- package/dist/chunks/pk-separator-ZkRowI5Y.js.map +1 -0
- package/dist/chunks/{pk-spinner-DweuYJ_Z.js → pk-spinner-Bxkn4iVO.js} +3 -2
- package/dist/chunks/pk-spinner-Bxkn4iVO.js.map +1 -0
- package/dist/chunks/pk-state-panel-BTo2xiug.js +604 -0
- package/dist/chunks/pk-state-panel-BTo2xiug.js.map +1 -0
- package/dist/chunks/{pk-status-BehQARDv.js → pk-status-CdiRBRyh.js} +3 -2
- package/dist/chunks/pk-status-CdiRBRyh.js.map +1 -0
- package/dist/chunks/{pk-tab-CTloD18e.js → pk-tab-CSbI3XxX.js} +2 -2
- package/dist/chunks/pk-tab-CSbI3XxX.js.map +1 -0
- package/dist/chunks/{pk-tab-heading-Cjcgebxn.js → pk-tab-heading-BMyLTBNc.js} +2 -2
- package/dist/chunks/pk-tab-heading-BMyLTBNc.js.map +1 -0
- package/dist/chunks/{pk-tab-panel-CkKU5-Ah.js → pk-tab-panel-sgdRjV8o.js} +2 -2
- package/dist/chunks/pk-tab-panel-sgdRjV8o.js.map +1 -0
- package/dist/chunks/{pk-tabs-BgEBki1q.js → pk-tabs-bBNCu_4h.js} +10 -7
- package/dist/chunks/pk-tabs-bBNCu_4h.js.map +1 -0
- package/dist/chunks/{pk-textarea-Dhj1WFLH.js → pk-textarea-B401dUWa.js} +11 -10
- package/dist/chunks/pk-textarea-B401dUWa.js.map +1 -0
- package/dist/chunks/{pk-time-picker-ChRbKHNB.js → pk-time-picker-DnNZVwRk.js} +6 -6
- package/dist/chunks/pk-time-picker-DnNZVwRk.js.map +1 -0
- package/dist/chunks/{pk-tiptap-content-CL8smjGi.js → pk-tiptap-content-C2qzGQKj.js} +4 -3
- package/dist/chunks/pk-tiptap-content-C2qzGQKj.js.map +1 -0
- package/dist/chunks/{pk-tiptap-editor-BMwedkPt.js → pk-tiptap-editor-y_QyNSR-.js} +20 -21
- package/dist/chunks/pk-tiptap-editor-y_QyNSR-.js.map +1 -0
- package/dist/chunks/{pk-tiptap-input-YKg4VLp_.js → pk-tiptap-input-0Xy6rrot.js} +7 -6
- package/dist/chunks/pk-tiptap-input-0Xy6rrot.js.map +1 -0
- package/dist/chunks/{pk-toggle-BthhH7vl.js → pk-toggle-Co8GsHuK.js} +4 -3
- package/dist/chunks/pk-toggle-Co8GsHuK.js.map +1 -0
- package/dist/chunks/{pk-toggle-group-D2Quux8D.js → pk-toggle-group-Ct1ljI-7.js} +7 -4
- package/dist/chunks/pk-toggle-group-Ct1ljI-7.js.map +1 -0
- package/dist/chunks/{pk-tooltip--QBV6puX.js → pk-tooltip-Cvv2f7T5.js} +7 -6
- package/dist/chunks/pk-tooltip-Cvv2f7T5.js.map +1 -0
- package/dist/chunks/{popup-content-animation.styles-BnNiguJo.js → popup-content-animation.styles-CJ8zGJz-.js} +1 -1
- package/dist/chunks/{popup-content-animation.styles-BnNiguJo.js.map → popup-content-animation.styles-CJ8zGJz-.js.map} +1 -1
- package/dist/chunks/{popup-placement-animation-WlEXnS85.js → popup-placement-animation-ClUYI79z.js} +1 -1
- package/dist/chunks/{popup-placement-animation-WlEXnS85.js.map → popup-placement-animation-ClUYI79z.js.map} +1 -1
- package/dist/chunks/{popup-pointer-CuLjk1th.js → popup-pointer-Bh_d205v.js} +1 -1
- package/dist/chunks/{popup-pointer-CuLjk1th.js.map → popup-pointer-Bh_d205v.js.map} +1 -1
- package/dist/chunks/{register-components-BT9THgdh.js → register-components-CZtpgZe3.js} +1 -1
- package/dist/chunks/{register-components-BT9THgdh.js.map → register-components-CZtpgZe3.js.map} +1 -1
- package/dist/chunks/{render-Dvc3MHQR.js → render-DQZp_Rak.js} +1 -1
- package/dist/chunks/{render-Dvc3MHQR.js.map → render-DQZp_Rak.js.map} +1 -1
- package/dist/chunks/{required-validator-CEg8dvjS.js → required-validator-I58oJGZ3.js} +1 -1
- package/dist/chunks/{required-validator-CEg8dvjS.js.map → required-validator-I58oJGZ3.js.map} +1 -1
- package/dist/chunks/{scroll-lock-Bbh3Sc5g.js → scroll-lock-DE1pElMQ.js} +2 -2
- package/dist/chunks/{scroll-lock-Bbh3Sc5g.js.map → scroll-lock-DE1pElMQ.js.map} +1 -1
- package/dist/chunks/{spinner-utils-CDfHypTv.js → spinner-utils-DXwIxQ6z.js} +1 -1
- package/dist/chunks/{spinner-utils-CDfHypTv.js.map → spinner-utils-DXwIxQ6z.js.map} +1 -1
- package/dist/chunks/{supports-popover-CUBsbHpS.js → supports-popover-BCqyOPtO.js} +1 -1
- package/dist/chunks/{supports-popover-CUBsbHpS.js.map → supports-popover-BCqyOPtO.js.map} +1 -1
- package/dist/chunks/{sync-listbox-separators-B1-V0oJi.js → sync-listbox-separators-saLEtPpJ.js} +2 -2
- package/dist/chunks/{sync-listbox-separators-B1-V0oJi.js.map → sync-listbox-separators-saLEtPpJ.js.map} +1 -1
- package/dist/chunks/{tiptap.styles-CPRows--.js → tiptap.styles-Q4ED1nBw.js} +2 -2
- package/dist/chunks/{tiptap.styles-CPRows--.js.map → tiptap.styles-Q4ED1nBw.js.map} +1 -1
- package/dist/component-registry.d.ts.map +1 -1
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/pk-alert.d.ts +95 -0
- package/dist/components/alert/pk-alert.d.ts.map +1 -0
- package/dist/components/alert/pk-alert.js +2 -0
- package/dist/components/alert/pk-alert.styles.d.ts +2 -0
- package/dist/components/alert/pk-alert.styles.d.ts.map +1 -0
- package/dist/components/alert.d.ts +2 -0
- package/dist/components/alert.js +2 -0
- package/dist/components/autocomplete/pk-autocomplete.js +1 -1
- package/dist/components/autocomplete.js +1 -1
- package/dist/components/button/pk-button.js +1 -1
- package/dist/components/button-group/pk-button-group-separator.js +1 -1
- package/dist/components/button-group/pk-button-group-text.js +1 -1
- package/dist/components/button-group/pk-button-group.js +1 -1
- package/dist/components/button-group.js +3 -3
- package/dist/components/button.js +1 -1
- package/dist/components/calendar/pk-calendar.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/checkbox/pk-checkbox.js +1 -1
- package/dist/components/checkbox-select/pk-checkbox-select.js +1 -1
- package/dist/components/checkbox-select.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/code-editor/pk-code-editor.js +1 -1
- package/dist/components/code-editor.js +1 -1
- package/dist/components/color-input/pk-color-input.js +1 -1
- package/dist/components/color-input.js +1 -1
- package/dist/components/combobox/pk-combobox.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/connect/pk-connect-oauth.js +5 -4
- package/dist/components/connect/pk-connect-oauth.js.map +1 -1
- package/dist/components/connect/pk-connect.d.ts +0 -1
- package/dist/components/connect/pk-connect.d.ts.map +1 -1
- package/dist/components/connect/pk-connect.js +27 -49
- package/dist/components/connect/pk-connect.js.map +1 -1
- package/dist/components/copy-button/pk-copy-button.d.ts +17 -2
- package/dist/components/copy-button/pk-copy-button.d.ts.map +1 -1
- package/dist/components/copy-button/pk-copy-button.js +1 -1
- package/dist/components/copy-button/pk-copy-button.styles.d.ts.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/date-picker/pk-date-picker.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/dialog/pk-dialog.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown-menu/pk-dropdown-item.js +1 -1
- package/dist/components/dropdown-menu/pk-dropdown-label.js +1 -1
- package/dist/components/dropdown-menu/pk-dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/pk-dropdown-separator.js +1 -1
- package/dist/components/dropdown-menu/pk-dropdown-separator.js.map +1 -1
- package/dist/components/dropdown-menu.js +3 -3
- package/dist/components/editable-table/pk-editable-table.js +1 -1
- package/dist/components/editable-table.js +1 -1
- package/dist/components/field/pk-field.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/icon/pk-icon.js +2 -1
- package/dist/components/icon/pk-icon.js.map +1 -1
- package/dist/components/image-browser/pk-image-browser.js +1 -1
- package/dist/components/image-browser.js +1 -1
- package/dist/components/input/pk-input.js +1 -1
- package/dist/components/input-group/pk-input-group-addon.js +1 -1
- package/dist/components/input-group/pk-input-group-button.js +1 -1
- package/dist/components/input-group/pk-input-group-input.js +1 -1
- package/dist/components/input-group/pk-input-group-text.js +1 -1
- package/dist/components/input-group/pk-input-group-textarea.js +1 -1
- package/dist/components/input-group/pk-input-group.js +1 -1
- package/dist/components/input-group.js +6 -6
- package/dist/components/input.js +1 -1
- package/dist/components/lightswitch/pk-lightswitch.js +1 -1
- package/dist/components/lightswitch.js +1 -1
- package/dist/components/popover/pk-popover.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/popup/pk-popup.js +1 -1
- package/dist/components/popup.js +1 -1
- package/dist/components/radio-group/pk-radio-group.js +1 -1
- package/dist/components/radio-group/pk-radio.js +1 -1
- package/dist/components/radio-group.js +2 -2
- package/dist/components/scroll-area/pk-scroll-area.js +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/select/pk-option-group.js +1 -1
- package/dist/components/select/pk-option.js +1 -1
- package/dist/components/select/pk-select.js +1 -1
- package/dist/components/select.js +3 -3
- package/dist/components/separator/pk-separator.js +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/spinner/pk-spinner.js +1 -1
- package/dist/components/spinner.js +2 -2
- package/dist/components/state-panel/index.d.ts +2 -0
- package/dist/components/state-panel/index.d.ts.map +1 -0
- package/dist/components/state-panel/pk-state-panel.d.ts +89 -0
- package/dist/components/state-panel/pk-state-panel.d.ts.map +1 -0
- package/dist/components/state-panel/pk-state-panel.js +2 -0
- package/dist/components/state-panel/pk-state-panel.styles.d.ts +2 -0
- package/dist/components/state-panel/pk-state-panel.styles.d.ts.map +1 -0
- package/dist/components/state-panel.d.ts +2 -0
- package/dist/components/state-panel.js +2 -0
- package/dist/components/status/pk-status.js +1 -1
- package/dist/components/status.js +1 -1
- package/dist/components/tabs/pk-tab-heading.js +1 -1
- package/dist/components/tabs/pk-tab-panel.js +1 -1
- package/dist/components/tabs/pk-tab.js +1 -1
- package/dist/components/tabs/pk-tabs.js +1 -1
- package/dist/components/tabs.js +4 -4
- package/dist/components/textarea/pk-textarea.js +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/time-picker/pk-time-picker.js +1 -1
- package/dist/components/time-picker.js +1 -1
- package/dist/components/tiptap/pk-tiptap-content.js +1 -1
- package/dist/components/tiptap/pk-tiptap-editor.js +1 -1
- package/dist/components/tiptap/pk-tiptap-input.js +1 -1
- package/dist/components/tiptap-content.js +1 -1
- package/dist/components/tiptap-editor.js +1 -1
- package/dist/components/tiptap-input.js +1 -1
- package/dist/components/toggle/pk-toggle.js +1 -1
- package/dist/components/toggle-group/pk-toggle-group.js +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/tooltip/pk-tooltip.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/connect/register-cp-connect.d.ts.map +1 -1
- package/dist/connect/register-cp-connect.js +8 -9
- package/dist/connect/register-cp-connect.js.map +1 -1
- package/dist/events/pk-dismiss.d.ts +10 -0
- package/dist/events/pk-dismiss.d.ts.map +1 -0
- package/dist/icons/index.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -67
- package/dist/index.js.map +1 -1
- package/dist/plugin-kit.css +2 -0
- package/dist/plugin-kit.js +4 -4
- package/dist/plugin-kit.js.map +1 -1
- package/dist/register-components.js +1 -1
- package/dist/register-pk.generated.d.ts +4 -0
- package/dist/register-pk.generated.d.ts.map +1 -1
- package/dist/register.d.ts +5 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +124 -55
- package/dist/register.js.map +1 -0
- package/dist/styles/connect/pk-connect.css +6 -107
- package/dist/utilities/fouce.css +2 -0
- package/dist-loader/chunks/{button-group-item.styles-CsBQ3Cyh.js → button-group-item.styles-BQbvE3sC.js} +1 -1
- package/dist-loader/chunks/{codemirror-CSgOT0QM.js → codemirror-C_TTKlG1.js} +584 -436
- package/dist-loader/chunks/editor-CS16rBkM.js +110 -0
- package/dist-loader/chunks/{floating-ui-Cj0imr6d.js → floating-ui-BJQPB-Ip.js} +9 -11
- package/dist-loader/chunks/{lit-DpLik9Rf.js → lit-B6nFKgbW.js} +127 -89
- package/dist-loader/chunks/{option-filter-Bc5aNNT0.js → option-filter-BkKyBg8L.js} +1 -1
- package/dist-loader/chunks/{pk-a11y-CjB4-U-R.js → pk-a11y-mGj0G5AE.js} +1 -1
- package/dist-loader/chunks/{pk-base-B2MqxErC.js → pk-base-BGegy7-X.js} +2 -2
- package/dist-loader/chunks/{pk-button-Dfm23jEC.js → pk-button-DV9Tk5Pd.js} +5 -5
- package/dist-loader/chunks/{pk-calendar-BuSULJCU.js → pk-calendar-C0xpIVIw.js} +9 -9
- package/dist-loader/chunks/{pk-checkbox-BDoq3xg0.js → pk-checkbox-DhP0iMoP.js} +9 -6
- package/dist-loader/chunks/{pk-color-input-eLjO9zfn.js → pk-color-input-B02cYzyr.js} +4 -4
- package/dist-loader/chunks/{pk-combobox-DBvcyxRC.js → pk-combobox-S_tpNUHK.js} +19 -18
- package/dist-loader/chunks/{pk-connect.styles-k61snd3X.js → pk-connect.styles-B5qe5yQB.js} +1 -1
- package/dist-loader/chunks/pk-copy-button-D6tPuhJ3.js +198 -0
- package/dist-loader/chunks/{pk-date-picker-CYLpYIji.js → pk-date-picker-C0y4sfSf.js} +15 -15
- package/dist-loader/chunks/{pk-dialog-BtrH5Ke0.js → pk-dialog-BJs5fVHS.js} +7 -7
- package/dist-loader/chunks/{pk-dropdown-item-D8tfEU-k.js → pk-dropdown-item-Bs5NZDRh.js} +11 -9
- package/dist-loader/chunks/{pk-dropdown-label-TbLj4bHK.js → pk-dropdown-label-Cpl9-bzB.js} +2 -2
- package/dist-loader/chunks/{pk-dropdown-menu-C4GDW5pE.js → pk-dropdown-menu-CLrfuD3i.js} +20 -17
- package/dist-loader/chunks/{pk-field-BM0XD9Ij.js → pk-field-Pg61fxBR.js} +140 -74
- package/dist-loader/chunks/{pk-icon-_1F1aL74.js → pk-icon-B7ywfPb6.js} +4 -4
- package/dist-loader/chunks/{pk-input-DvBrD7Md.js → pk-input-Cj5s8eBT.js} +10 -10
- package/dist-loader/chunks/{pk-lightswitch-CcwlLQ9f.js → pk-lightswitch-rUGB1p8q.js} +6 -6
- package/dist-loader/chunks/{pk-option-DATPm0Bo.js → pk-option-B-MeLvZf.js} +8 -7
- package/dist-loader/chunks/{pk-popup-CUuGs8r_.js → pk-popup-CeyruJFh.js} +35 -29
- package/dist-loader/chunks/{pk-select-DpcvbzUL.js → pk-select-JUx3mxRS.js} +14 -14
- package/dist-loader/chunks/{pk-spinner-Dk_LbvHW.js → pk-spinner-B8iuHDQ9.js} +2 -2
- package/dist-loader/chunks/pk-state-panel-BhdZGllL.js +600 -0
- package/dist-loader/chunks/{pk-status-B8UvjIp2.js → pk-status-D3qVwWlR.js} +2 -2
- package/dist-loader/chunks/{pk-textarea-DeSuxufJ.js → pk-textarea-KnpJMQX2.js} +7 -7
- package/dist-loader/chunks/{pk-time-picker-DpJt8biN.js → pk-time-picker-DCqZ5z7M.js} +6 -6
- package/dist-loader/chunks/{pk-tooltip-DcF9J5GT.js → pk-tooltip-DStkplzy.js} +6 -6
- package/dist-loader/chunks/{popup-content-animation.styles-duCg9-CH.js → popup-content-animation.styles-BtUVJg82.js} +1 -1
- package/dist-loader/chunks/{render-Bnzcxfss.js → render-D9G_a_c2.js} +1 -1
- package/dist-loader/chunks/{svg-Bz-bXZn7.js → svg-BRgqS9vA.js} +8 -1
- package/dist-loader/chunks/{sync-listbox-separators-Ch5krDUs.js → sync-listbox-separators-saLEtPpJ.js} +1 -1
- package/dist-loader/chunks/{tiptap-CgXkiK8d.js → tiptap-uppXgD5k.js} +16099 -9213
- package/dist-loader/chunks/tiptap.styles-CyqI_Wrl.js +896 -0
- package/dist-loader/components/alert/alert.js +662 -0
- package/dist-loader/components/autocomplete/autocomplete.js +15 -15
- package/dist-loader/components/button/button.js +1 -1
- package/dist-loader/components/button-group/button-group-separator.js +2 -2
- package/dist-loader/components/button-group/button-group-text.js +3 -3
- package/dist-loader/components/button-group/button-group.js +9 -7
- package/dist-loader/components/calendar/calendar.js +1 -1
- package/dist-loader/components/checkbox/checkbox.js +1 -1
- package/dist-loader/components/checkbox-select/checkbox-select.js +3 -3
- package/dist-loader/components/code-editor/code-editor.js +4 -4
- package/dist-loader/components/color-input/color-input.js +1 -1
- package/dist-loader/components/combobox/combobox.js +1 -1
- package/dist-loader/components/connect/connect-oauth.js +5 -5
- package/dist-loader/components/connect/connect.js +28 -51
- package/dist-loader/components/copy-button/copy-button.js +1 -176
- package/dist-loader/components/date-picker/date-picker.js +1 -1
- package/dist-loader/components/dialog/dialog.js +1 -1
- package/dist-loader/components/dropdown-menu/dropdown-item.js +1 -1
- package/dist-loader/components/dropdown-menu/dropdown-label.js +1 -1
- package/dist-loader/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist-loader/components/dropdown-menu/dropdown-separator.js +2 -2
- package/dist-loader/components/editable-table/editable-table.js +25 -23
- package/dist-loader/components/field/field.js +1 -1
- package/dist-loader/components/icon/icon.js +3 -3
- package/dist-loader/components/image-browser/image-browser.js +15 -16
- package/dist-loader/components/input/input.js +1 -1
- package/dist-loader/components/input-group/input-group-addon.js +2 -2
- package/dist-loader/components/input-group/input-group-button.js +2 -2
- package/dist-loader/components/input-group/input-group-input.js +2 -2
- package/dist-loader/components/input-group/input-group-text.js +2 -2
- package/dist-loader/components/input-group/input-group-textarea.js +2 -2
- package/dist-loader/components/input-group/input-group.js +3 -3
- package/dist-loader/components/lightswitch/lightswitch.js +1 -1
- package/dist-loader/components/popover/popover.js +9 -9
- package/dist-loader/components/popup/popup.js +1 -1
- package/dist-loader/components/radio-group/radio-group.js +5 -5
- package/dist-loader/components/radio-group/radio.js +2 -2
- package/dist-loader/components/scroll-area/scroll-area.js +2 -2
- package/dist-loader/components/select/option-group.js +3 -3
- package/dist-loader/components/select/option.js +1 -1
- package/dist-loader/components/select/select.js +1 -1
- package/dist-loader/components/separator/separator.js +2 -2
- package/dist-loader/components/spinner/spinner.js +1 -1
- package/dist-loader/components/state-panel/state-panel.js +2 -0
- package/dist-loader/components/status/status.js +1 -1
- package/dist-loader/components/tabs/tab-heading.js +2 -2
- package/dist-loader/components/tabs/tab-panel.js +2 -2
- package/dist-loader/components/tabs/tab.js +2 -2
- package/dist-loader/components/tabs/tabs.js +9 -7
- package/dist-loader/components/textarea/textarea.js +1 -1
- package/dist-loader/components/time-picker/time-picker.js +1 -1
- package/dist-loader/components/tiptap/tiptap-content.js +5 -4
- package/dist-loader/components/tiptap/tiptap-editor.js +595 -21
- package/dist-loader/components/tiptap/tiptap-input.js +273 -5
- package/dist-loader/components/toggle/toggle.js +3 -3
- package/dist-loader/components/toggle-group/toggle-group.js +6 -4
- package/dist-loader/components/tooltip/tooltip.js +1 -1
- package/dist-loader/plugin-kit.css +2 -0
- package/dist-loader/plugin-kit.loader.js +6 -1
- package/dist-loader/styles/connect/pk-connect.css +6 -107
- package/dist-loader/utilities/fouce.css +2 -0
- package/package.json +49 -9
- package/dist/chunks/component-registry-D34fm8xW.js.map +0 -1
- package/dist/chunks/pk-autocomplete-qy2Psvqm.js.map +0 -1
- package/dist/chunks/pk-button-BrH4u4Qr.js.map +0 -1
- package/dist/chunks/pk-button-group-BSz5T5iS.js.map +0 -1
- package/dist/chunks/pk-button-group-separator-DH3Rl24b.js.map +0 -1
- package/dist/chunks/pk-button-group-text-Qro_KmZb.js.map +0 -1
- package/dist/chunks/pk-calendar-Z7Y0PjeY.js.map +0 -1
- package/dist/chunks/pk-checkbox-13ArHSmt.js.map +0 -1
- package/dist/chunks/pk-checkbox-select-Ckvfbu83.js.map +0 -1
- package/dist/chunks/pk-code-editor-BlG6O5qB.js.map +0 -1
- package/dist/chunks/pk-color-input-BRgQ5-vB.js.map +0 -1
- package/dist/chunks/pk-combobox-ag89QEX2.js.map +0 -1
- package/dist/chunks/pk-copy-button-BVaOLtYG.js.map +0 -1
- package/dist/chunks/pk-date-picker-C2YvDPNm.js.map +0 -1
- package/dist/chunks/pk-dialog-VMQqLW1f.js.map +0 -1
- package/dist/chunks/pk-dropdown-item-D9OaG5o-.js.map +0 -1
- package/dist/chunks/pk-dropdown-label-CRNWMWQd.js.map +0 -1
- package/dist/chunks/pk-dropdown-menu-DW1wI8xQ.js.map +0 -1
- package/dist/chunks/pk-editable-table-DDnu1I8Y.js.map +0 -1
- package/dist/chunks/pk-field-UAlMq6mQ.js.map +0 -1
- package/dist/chunks/pk-form-associated-element-GxX5lbnk.js.map +0 -1
- package/dist/chunks/pk-image-browser-Bj8LhWfk.js.map +0 -1
- package/dist/chunks/pk-input-BywmK5n2.js.map +0 -1
- package/dist/chunks/pk-input-group-BLqKPnfc.js.map +0 -1
- package/dist/chunks/pk-input-group-addon-ClBkGmAw.js.map +0 -1
- package/dist/chunks/pk-input-group-button-CHQHsWd4.js.map +0 -1
- package/dist/chunks/pk-input-group-input-oNnqMBGU.js.map +0 -1
- package/dist/chunks/pk-input-group-text-HUxlXROB.js.map +0 -1
- package/dist/chunks/pk-input-group-textarea-Cl2FNuw-.js.map +0 -1
- package/dist/chunks/pk-lightswitch-VHfJizBW.js.map +0 -1
- package/dist/chunks/pk-option-DQZHV9jL.js.map +0 -1
- package/dist/chunks/pk-option-group-CCzJkBFp.js.map +0 -1
- package/dist/chunks/pk-popover-D3jkHfwB.js.map +0 -1
- package/dist/chunks/pk-popup-B65tZMQH.js.map +0 -1
- package/dist/chunks/pk-radio-B5XkMHy3.js.map +0 -1
- package/dist/chunks/pk-radio-group-Dzd-3HaQ.js.map +0 -1
- package/dist/chunks/pk-scroll-area-CdfNxYz8.js.map +0 -1
- package/dist/chunks/pk-select-b5S5WKc-.js.map +0 -1
- package/dist/chunks/pk-separator-N-VyjYE6.js.map +0 -1
- package/dist/chunks/pk-spinner-DweuYJ_Z.js.map +0 -1
- package/dist/chunks/pk-status-BehQARDv.js.map +0 -1
- package/dist/chunks/pk-tab-CTloD18e.js.map +0 -1
- package/dist/chunks/pk-tab-heading-Cjcgebxn.js.map +0 -1
- package/dist/chunks/pk-tab-panel-CkKU5-Ah.js.map +0 -1
- package/dist/chunks/pk-tabs-BgEBki1q.js.map +0 -1
- package/dist/chunks/pk-textarea-Dhj1WFLH.js.map +0 -1
- package/dist/chunks/pk-time-picker-ChRbKHNB.js.map +0 -1
- package/dist/chunks/pk-tiptap-content-CL8smjGi.js.map +0 -1
- package/dist/chunks/pk-tiptap-editor-BMwedkPt.js.map +0 -1
- package/dist/chunks/pk-tiptap-input-YKg4VLp_.js.map +0 -1
- package/dist/chunks/pk-toggle-BthhH7vl.js.map +0 -1
- package/dist/chunks/pk-toggle-group-D2Quux8D.js.map +0 -1
- package/dist/chunks/pk-tooltip--QBV6puX.js.map +0 -1
- package/dist/chunks/register-BqkU5JNH.js +0 -148
- package/dist/chunks/register-BqkU5JNH.js.map +0 -1
- package/dist-loader/chunks/rolldown-runtime-CzwdidQP.js +0 -13
- package/dist-loader/chunks/supports-popover-COjbi2RP.js +0 -5
- package/dist-loader/chunks/tiptap.styles-C0E1NpSx.js +0 -1848
- /package/dist-loader/chunks/{animate-with-class-DT0jwaR_.js → animate-with-class-CjTZI0NU.js} +0 -0
- /package/dist-loader/chunks/{field-labels-D3lKQ2nq.js → field-labels-pY-gQDwQ.js} +0 -0
- /package/dist-loader/chunks/{has-slot-BGJeJdHr.js → has-slot-DJv86HKx.js} +0 -0
- /package/dist-loader/chunks/{mirror-validator-C5XrXPaq.js → mirror-validator-BkZlEv1Z.js} +0 -0
- /package/dist-loader/chunks/{overlay-lifecycle-C3tSQ3UR.js → overlay-lifecycle-C582MGBJ.js} +0 -0
- /package/dist-loader/chunks/{pk-clear-BMZUzwDt.js → pk-clear-DHxP_2cm.js} +0 -0
- /package/dist-loader/chunks/{popup-placement-animation-WlEXnS85.js → popup-placement-animation-ClUYI79z.js} +0 -0
- /package/dist-loader/chunks/{popup-pointer-Ck28WdVP.js → popup-pointer-Bh_d205v.js} +0 -0
- /package/dist-loader/chunks/{registry-BanyScVR.js → registry-CJc164pT.js} +0 -0
- /package/dist-loader/chunks/{required-validator-0XwZtX9k.js → required-validator-I58oJGZ3.js} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import "../../chunks/
|
|
3
|
-
import "../../chunks/pk-
|
|
4
|
-
import
|
|
1
|
+
import { i as customElement, t as __decorate } from "../../chunks/decorate-Br_PE9pq.js";
|
|
2
|
+
import { r as state, t as property } from "../../chunks/decorators-BkErmuYK.js";
|
|
3
|
+
import "../../chunks/pk-button-ntSVrer_.js";
|
|
4
|
+
import "../../chunks/pk-status-CdiRBRyh.js";
|
|
5
|
+
import { t as pkConnectStyles } from "../../chunks/pk-connect.styles-oKhxa_m2.js";
|
|
5
6
|
import { LitElement, html } from "lit";
|
|
6
7
|
import { submitCpFormAction, watchCpFormDirty } from "@verbb/plugin-kit-core";
|
|
7
8
|
//#region src/components/connect/pk-connect-oauth.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-connect-oauth.js","names":[],"sources":["../../../src/components/connect/pk-connect-oauth.ts"],"sourcesContent":["import { submitCpFormAction, watchCpFormDirty } from '@verbb/plugin-kit-core';\nimport { html, LitElement } from 'lit';\nimport { customElement, property, state } from '../../decorators.js';\n\nimport '../button/pk-button.js';\nimport '../status/pk-status.js';\nimport { pkConnectStyles } from './pk-connect.styles.js';\n\n/**\n * OAuth connect row for Craft CP settings.\n *\n * **Light DOM** — the row mounts inside Craft's `.field.lightswitch-field` wrapper and\n * reuses CP column classes (`.heading` / `.input`) so it lines up with Provider/Enabled\n * rows without shadow-piercing or duplicating Craft field styling. Action buttons use\n * `pk-button`; submission goes through `Craft.submitForm` (same as `.formsubmit`).\n */\n@customElement('pk-connect-oauth')\nexport class PkConnectOauth extends LitElement {\n static override styles = pkConnectStyles;\n\n @property({ type: Boolean, reflect: true })\n connected = false;\n\n @property({ attribute: 'connect-action' })\n connectAction = '';\n\n @property({ attribute: 'disconnect-action' })\n disconnectAction = '';\n\n @property({ attribute: 'param-name' })\n paramName = '';\n\n @property({ attribute: 'param-value' })\n paramValue = '';\n\n @property({ attribute: 'connect-redirect' })\n connectRedirect = '';\n\n @property({ attribute: 'disconnect-redirect' })\n disconnectRedirect = '';\n\n @property({ attribute: 'form-selector' })\n formSelector = '#main-form';\n\n /** When true, skip dirty-form watching (e.g. Formie read-only OAuth mini-form). */\n @property({ type: Boolean, attribute: 'skip-dirty-watch' })\n skipDirtyWatch = false;\n\n @property({ attribute: 'label-connected' })\n labelConnected = 'Connected';\n\n @property({ attribute: 'label-not-connected' })\n labelNotConnected = 'Not Connected';\n\n @property({ attribute: 'label-connect' })\n labelConnect = 'Connect';\n\n @property({ attribute: 'label-disconnect' })\n labelDisconnect = 'Disconnect';\n\n @property({ attribute: 'label-save-to-connect' })\n labelSaveToConnect = 'Save to connect.';\n\n @state()\n private isDirty = false;\n\n private unwatchDirty: (() => void) | null = null;\n\n override createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.skipDirtyWatch) {\n return;\n }\n\n this.unwatchDirty = watchCpFormDirty({\n formSelector: this.formSelector,\n host: this,\n onDirty: () => {\n this.isDirty = true;\n },\n });\n }\n\n override disconnectedCallback(): void {\n this.unwatchDirty?.();\n this.unwatchDirty = null;\n super.disconnectedCallback();\n }\n\n private submitOAuthAction(action: string, redirect: string): void {\n submitCpFormAction({\n formSelector: this.formSelector,\n host: this,\n action,\n redirect,\n paramName: this.paramName,\n paramValue: this.paramValue,\n });\n }\n\n private handleConnectClick(event: Event): void {\n event.preventDefault();\n this.submitOAuthAction(this.connectAction, this.connectRedirect);\n }\n\n private handleDisconnectClick(event: Event): void {\n event.preventDefault();\n this.submitOAuthAction(this.disconnectAction, this.disconnectRedirect);\n }\n\n override render() {\n if (this.isDirty) {\n return html`\n <div class=\"heading\">\n <span class=\"warning with-icon\">${this.labelSaveToConnect}</span>\n </div>\n `;\n }\n\n if (this.connected) {\n return html`\n <div class=\"heading\">\n <pk-status status=\"on\" class=\"pk-connect__status-icon\"></pk-status>${this.labelConnected}\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n @click=${this.handleDisconnectClick}\n >\n ${this.labelDisconnect}\n </pk-button>\n </div>\n `;\n }\n\n return html`\n <div class=\"heading\">\n <pk-status status=\"disabled\" class=\"pk-connect__status-icon\"></pk-status><span class=\"light\">${this.labelNotConnected}</span>\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n @click=${this.handleConnectClick}\n >\n ${this.labelConnect}\n </pk-button>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-connect-oauth': PkConnectOauth;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pk-connect-oauth.js","names":["_decorate"],"sources":["../../../src/components/connect/pk-connect-oauth.ts"],"sourcesContent":["import { submitCpFormAction, watchCpFormDirty } from '@verbb/plugin-kit-core';\nimport { html, LitElement } from 'lit';\nimport { customElement, property, state } from '../../decorators.js';\n\nimport '../button/pk-button.js';\nimport '../status/pk-status.js';\nimport { pkConnectStyles } from './pk-connect.styles.js';\n\n/**\n * OAuth connect row for Craft CP settings.\n *\n * **Light DOM** — the row mounts inside Craft's `.field.lightswitch-field` wrapper and\n * reuses CP column classes (`.heading` / `.input`) so it lines up with Provider/Enabled\n * rows without shadow-piercing or duplicating Craft field styling. Action buttons use\n * `pk-button`; submission goes through `Craft.submitForm` (same as `.formsubmit`).\n */\n@customElement('pk-connect-oauth')\nexport class PkConnectOauth extends LitElement {\n static override styles = pkConnectStyles;\n\n @property({ type: Boolean, reflect: true })\n connected = false;\n\n @property({ attribute: 'connect-action' })\n connectAction = '';\n\n @property({ attribute: 'disconnect-action' })\n disconnectAction = '';\n\n @property({ attribute: 'param-name' })\n paramName = '';\n\n @property({ attribute: 'param-value' })\n paramValue = '';\n\n @property({ attribute: 'connect-redirect' })\n connectRedirect = '';\n\n @property({ attribute: 'disconnect-redirect' })\n disconnectRedirect = '';\n\n @property({ attribute: 'form-selector' })\n formSelector = '#main-form';\n\n /** When true, skip dirty-form watching (e.g. Formie read-only OAuth mini-form). */\n @property({ type: Boolean, attribute: 'skip-dirty-watch' })\n skipDirtyWatch = false;\n\n @property({ attribute: 'label-connected' })\n labelConnected = 'Connected';\n\n @property({ attribute: 'label-not-connected' })\n labelNotConnected = 'Not Connected';\n\n @property({ attribute: 'label-connect' })\n labelConnect = 'Connect';\n\n @property({ attribute: 'label-disconnect' })\n labelDisconnect = 'Disconnect';\n\n @property({ attribute: 'label-save-to-connect' })\n labelSaveToConnect = 'Save to connect.';\n\n @state()\n private isDirty = false;\n\n private unwatchDirty: (() => void) | null = null;\n\n override createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.skipDirtyWatch) {\n return;\n }\n\n this.unwatchDirty = watchCpFormDirty({\n formSelector: this.formSelector,\n host: this,\n onDirty: () => {\n this.isDirty = true;\n },\n });\n }\n\n override disconnectedCallback(): void {\n this.unwatchDirty?.();\n this.unwatchDirty = null;\n super.disconnectedCallback();\n }\n\n private submitOAuthAction(action: string, redirect: string): void {\n submitCpFormAction({\n formSelector: this.formSelector,\n host: this,\n action,\n redirect,\n paramName: this.paramName,\n paramValue: this.paramValue,\n });\n }\n\n private handleConnectClick(event: Event): void {\n event.preventDefault();\n this.submitOAuthAction(this.connectAction, this.connectRedirect);\n }\n\n private handleDisconnectClick(event: Event): void {\n event.preventDefault();\n this.submitOAuthAction(this.disconnectAction, this.disconnectRedirect);\n }\n\n override render() {\n if (this.isDirty) {\n return html`\n <div class=\"heading\">\n <span class=\"warning with-icon\">${this.labelSaveToConnect}</span>\n </div>\n `;\n }\n\n if (this.connected) {\n return html`\n <div class=\"heading\">\n <pk-status status=\"on\" class=\"pk-connect__status-icon\"></pk-status>${this.labelConnected}\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n @click=${this.handleDisconnectClick}\n >\n ${this.labelDisconnect}\n </pk-button>\n </div>\n `;\n }\n\n return html`\n <div class=\"heading\">\n <pk-status status=\"disabled\" class=\"pk-connect__status-icon\"></pk-status><span class=\"light\">${this.labelNotConnected}</span>\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n @click=${this.handleConnectClick}\n >\n ${this.labelConnect}\n </pk-button>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-connect-oauth': PkConnectOauth;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-connect.d.ts","sourceRoot":"","sources":["../../../src/components/connect/pk-connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,KAAK,aAAa,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAGhD,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pk-connect.d.ts","sourceRoot":"","sources":["../../../src/components/connect/pk-connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,KAAK,aAAa,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAGhD,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;AAE5B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,wBAAwB,CAAC;AAgBhC;;;;;;;GAOG;AACH,qBACa,SAAU,SAAQ,UAAU;IACrC,OAAgB,MAAM,0BAAmB;IAEzC,uEAAuE;IAEvE,MAAM,SAAM;IAGZ,MAAM,EAAE,aAAa,CAAkB;IAGvC,YAAY,SAAgB;IAG5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,yEAAyE;IAEzE,OAAO,SAAc;IAGrB,IAAI,SAAM;IAGV,cAAc,SAAe;IAG7B,iBAAiB,SAAmB;IAGpC,eAAe,SAAiB;IAGhC,UAAU,SAAW;IAGrB,YAAY,SAAa;IAGzB,YAAY,SAAa;IAGzB,kBAAkB,SAAsB;IAGxC,iBAAiB,SAAsB;IAGvC,iBAAiB,SAAwC;IAGzD,gBAAgB,SAAkB;IAGlC,gBAAgB,SAAkB;IAGlC,UAAU,SAAW;IAGrB,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAA4B;IAEtC,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAKlD,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAQrC,OAAO,KAAK,MAAM,GAcjB;IAED,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,KAAK,WAAW,GAWtB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,cAAc;YAgCR,kBAAkB;IAwCvB,MAAM;CAiClB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import "../../chunks/
|
|
3
|
-
import "../../chunks/pk-
|
|
4
|
-
import "../../chunks/pk-dialog-VMQqLW1f.js";
|
|
1
|
+
import { i as customElement, t as __decorate } from "../../chunks/decorate-Br_PE9pq.js";
|
|
2
|
+
import { r as state, t as property } from "../../chunks/decorators-BkErmuYK.js";
|
|
3
|
+
import "../../chunks/pk-button-ntSVrer_.js";
|
|
5
4
|
import "../icon/pk-icon.js";
|
|
6
|
-
import
|
|
5
|
+
import "../../chunks/pk-state-panel-BTo2xiug.js";
|
|
6
|
+
import "../../chunks/pk-status-CdiRBRyh.js";
|
|
7
|
+
import "../../chunks/pk-dialog-C7KZGpQs.js";
|
|
8
|
+
import { t as pkConnectStyles } from "../../chunks/pk-connect.styles-oKhxa_m2.js";
|
|
7
9
|
import { LitElement, html, nothing } from "lit";
|
|
8
10
|
import { buildConnectPayload, escapeCpHtml, resolveConnectError, sendCpConnectRequest, serializeCpForm, watchCpFormDirty } from "@verbb/plugin-kit-core";
|
|
9
11
|
//#region src/components/connect/pk-connect.ts
|
|
@@ -35,7 +37,6 @@ var PkConnect = class PkConnect extends LitElement {
|
|
|
35
37
|
this.labelClose = "Close";
|
|
36
38
|
this.isDirty = false;
|
|
37
39
|
this.loading = false;
|
|
38
|
-
this.showDetails = false;
|
|
39
40
|
this.unwatchDirty = null;
|
|
40
41
|
this.errorDialog = null;
|
|
41
42
|
}
|
|
@@ -103,7 +104,6 @@ var PkConnect = class PkConnect extends LitElement {
|
|
|
103
104
|
}
|
|
104
105
|
setModalOpen(open) {
|
|
105
106
|
this.fieldHost?.classList.toggle("pk-connect-field--modal-open", open);
|
|
106
|
-
if (!open) this.showDetails = false;
|
|
107
107
|
}
|
|
108
108
|
ensureErrorDialog() {
|
|
109
109
|
if (this.errorDialog) return this.errorDialog;
|
|
@@ -114,60 +114,39 @@ var PkConnect = class PkConnect extends LitElement {
|
|
|
114
114
|
`<pk-button slot="trigger" type="button" variant="none" size="none" icon class="pk-connect-dialog__close" data-dialog="close" aria-label="${escapeCpHtml(this.labelClose)}">`,
|
|
115
115
|
"<pk-icon icon=\"xmark\"></pk-icon>",
|
|
116
116
|
"</pk-button>",
|
|
117
|
-
"<div class=\"pk-
|
|
118
|
-
"<
|
|
119
|
-
"<
|
|
120
|
-
"
|
|
121
|
-
"<p class=\"pk-connection-error__message\"></p>",
|
|
122
|
-
"<div class=\"pk-connection-error__details hidden\">",
|
|
123
|
-
"<button type=\"button\" class=\"pk-connection-error__details-toggle\">",
|
|
124
|
-
"<pk-icon icon=\"chevron-right\"></pk-icon>",
|
|
125
|
-
`<span class="pk-connection-error__details-label">${escapeCpHtml(this.labelShowDetails)}</span>`,
|
|
126
|
-
"</button>",
|
|
127
|
-
"<div class=\"pk-connection-error__trace hidden\"></div>",
|
|
128
|
-
"</div>",
|
|
129
|
-
"</div>",
|
|
117
|
+
"<div class=\"pk-connect-dialog__content\">",
|
|
118
|
+
"<pk-state-panel class=\"pk-connect-dialog__state\" variant=\"error\" size=\"lg\" announce=\"assertive\">",
|
|
119
|
+
"<span class=\"pk-connect-dialog__message\"></span>",
|
|
120
|
+
"</pk-state-panel>",
|
|
130
121
|
"</div>"
|
|
131
122
|
].join("");
|
|
132
123
|
document.body.appendChild(dialog);
|
|
133
|
-
const detailsToggle = dialog.querySelector(".pk-connection-error__details-toggle");
|
|
134
|
-
const traceEl = dialog.querySelector(".pk-connection-error__trace");
|
|
135
|
-
const detailsLabel = dialog.querySelector(".pk-connection-error__details-label");
|
|
136
|
-
dialog.querySelector(".pk-connection-error__details");
|
|
137
|
-
const chevron = dialog.querySelector("pk-icon");
|
|
138
|
-
detailsToggle?.addEventListener("click", () => {
|
|
139
|
-
this.showDetails = !this.showDetails;
|
|
140
|
-
traceEl?.classList.toggle("hidden", !this.showDetails);
|
|
141
|
-
chevron?.classList.toggle("is-open", this.showDetails);
|
|
142
|
-
if (detailsLabel) detailsLabel.textContent = this.showDetails ? this.labelHideDetails : this.labelShowDetails;
|
|
143
|
-
});
|
|
144
124
|
dialog.addEventListener("pk-open-change", (event) => {
|
|
145
125
|
const open = Boolean(event.detail?.open);
|
|
146
126
|
this.setModalOpen(open);
|
|
147
|
-
if (!open) {
|
|
148
|
-
traceEl?.classList.add("hidden");
|
|
149
|
-
chevron?.classList.remove("is-open");
|
|
150
|
-
if (detailsLabel) detailsLabel.textContent = this.labelShowDetails;
|
|
151
|
-
}
|
|
152
127
|
});
|
|
153
128
|
this.errorDialog = dialog;
|
|
154
129
|
return dialog;
|
|
155
130
|
}
|
|
156
131
|
showErrorModal(error) {
|
|
157
132
|
const dialog = this.ensureErrorDialog();
|
|
158
|
-
const
|
|
159
|
-
const message = dialog.querySelector(".pk-
|
|
160
|
-
const detailsWrap = dialog.querySelector(".pk-connection-error__details");
|
|
161
|
-
const traceEl = dialog.querySelector(".pk-connection-error__trace");
|
|
162
|
-
if (heading) heading.textContent = error.heading || this.labelErrorHeading;
|
|
133
|
+
const statePanel = dialog.querySelector("pk-state-panel");
|
|
134
|
+
const message = dialog.querySelector(".pk-connect-dialog__message");
|
|
163
135
|
if (message) message.textContent = error.text || this.labelGenericError;
|
|
164
|
-
const trace = error.traceAsString || error.trace || "";
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
136
|
+
const trace = error.traceAsArray.length > 0 ? error.traceAsArray.join("\n") : (error.traceAsString || error.trace || "").replace(/<br\s*\/?>/gi, "\n");
|
|
137
|
+
dialog.querySelector("[slot=\"details\"]")?.remove();
|
|
138
|
+
if (statePanel) {
|
|
139
|
+
statePanel.heading = error.heading || this.labelErrorHeading;
|
|
140
|
+
statePanel.detailsLabel = this.labelShowDetails;
|
|
141
|
+
statePanel.detailsOpen = false;
|
|
142
|
+
statePanel.copyable = Boolean(trace);
|
|
143
|
+
if (trace) {
|
|
144
|
+
const details = document.createElement("pre");
|
|
145
|
+
details.slot = "details";
|
|
146
|
+
details.textContent = trace;
|
|
147
|
+
statePanel.appendChild(details);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
171
150
|
dialog.open = true;
|
|
172
151
|
this.setModalOpen(true);
|
|
173
152
|
}
|
|
@@ -251,7 +230,6 @@ __decorate([property({ attribute: "label-hide-details" })], PkConnect.prototype,
|
|
|
251
230
|
__decorate([property({ attribute: "label-close" })], PkConnect.prototype, "labelClose", void 0);
|
|
252
231
|
__decorate([state()], PkConnect.prototype, "isDirty", void 0);
|
|
253
232
|
__decorate([state()], PkConnect.prototype, "loading", void 0);
|
|
254
|
-
__decorate([state()], PkConnect.prototype, "showDetails", void 0);
|
|
255
233
|
PkConnect = __decorate([customElement("pk-connect")], PkConnect);
|
|
256
234
|
//#endregion
|
|
257
235
|
export { PkConnect };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-connect.js","names":[],"sources":["../../../src/components/connect/pk-connect.ts"],"sourcesContent":["import {\n buildConnectPayload,\n escapeCpHtml,\n resolveConnectError,\n sendCpConnectRequest,\n serializeCpForm,\n watchCpFormDirty,\n type ConnectLabels,\n type ConnectStatus,\n type ErrorContent,\n} from '@verbb/plugin-kit-core';\nimport { html, LitElement, nothing } from 'lit';\nimport { customElement, property, state } from '../../decorators.js';\n\nimport '../button/pk-button.js';\nimport '../dialog/pk-dialog.js';\nimport '../icon/pk-icon.js';\nimport '../status/pk-status.js';\nimport type { PkStatusVariant } from '../status/pk-status.js';\nimport { pkConnectStyles } from './pk-connect.styles.js';\n\nconst pkStatusForState = (status: ConnectStatus): PkStatusVariant => {\n if (status === 'connected') {\n return 'on';\n }\n\n if (status === 'error') {\n return 'off';\n }\n\n return 'disabled';\n};\n\n/**\n * Credentials / REST connect row for Craft CP source settings.\n *\n * **Light DOM** — mounts inside Craft `.field.lightswitch-field` and reuses CP\n * `.heading` / `.input` columns (see `pk-connect-oauth` for the same rationale).\n *\n * @fires pk-status-change - `detail.status` is the new {@link ConnectStatus}.\n */\n@customElement('pk-connect')\nexport class PkConnect extends LitElement {\n static override styles = pkConnectStyles;\n\n /** Craft controller action, e.g. `metrix/sources/check-connection`. */\n @property({ reflect: true })\n action = '';\n\n @property({ reflect: true })\n status: ConnectStatus = 'disconnected';\n\n @property({ attribute: 'form-selector' })\n formSelector = '#main-form';\n\n @property({ attribute: 'source-id' })\n sourceId: string | null = null;\n\n /** POST key for the record id (`sourceId` default; Formie uses `id`). */\n @property({ attribute: 'id-param' })\n idParam = 'sourceId';\n\n @property()\n type = '';\n\n @property({ attribute: 'label-connected' })\n labelConnected = 'Connected';\n\n @property({ attribute: 'label-not-connected' })\n labelNotConnected = 'Not Connected';\n\n @property({ attribute: 'label-connecting' })\n labelConnecting = 'Connecting…';\n\n @property({ attribute: 'label-error' })\n labelError = 'Error';\n\n @property({ attribute: 'label-connect' })\n labelConnect = 'Connect';\n\n @property({ attribute: 'label-refresh' })\n labelRefresh = 'Refresh';\n\n @property({ attribute: 'label-save-to-connect' })\n labelSaveToConnect = 'Save to connect.';\n\n @property({ attribute: 'label-error-heading' })\n labelErrorHeading = 'Connection error';\n\n @property({ attribute: 'label-generic-error' })\n labelGenericError = 'Unable to connect to the provider.';\n\n @property({ attribute: 'label-show-details' })\n labelShowDetails = 'Show details';\n\n @property({ attribute: 'label-hide-details' })\n labelHideDetails = 'Hide details';\n\n @property({ attribute: 'label-close' })\n labelClose = 'Close';\n\n @state()\n private isDirty = false;\n\n @state()\n private loading = false;\n\n @state()\n private showDetails = false;\n\n private unwatchDirty: (() => void) | null = null;\n private errorDialog: HTMLElement | null = null;\n\n override createRenderRoot(): HTMLElement | DocumentFragment {\n // Light DOM — Craft field chrome and pk-* children share document tokens.\n return this;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.unwatchDirty = watchCpFormDirty({\n formSelector: this.formSelector,\n host: this,\n onDirty: () => {\n this.isDirty = true;\n },\n });\n }\n\n override disconnectedCallback(): void {\n this.unwatchDirty?.();\n this.unwatchDirty = null;\n this.errorDialog?.remove();\n this.errorDialog = null;\n super.disconnectedCallback();\n }\n\n private get labels(): ConnectLabels {\n return {\n connected: this.labelConnected,\n notConnected: this.labelNotConnected,\n connecting: this.labelConnecting,\n error: this.labelError,\n connect: this.labelConnect,\n refresh: this.labelRefresh,\n saveToConnect: this.labelSaveToConnect,\n errorHeading: this.labelErrorHeading,\n genericError: this.labelGenericError,\n showDetails: this.labelShowDetails,\n hideDetails: this.labelHideDetails,\n };\n }\n\n private get fieldHost(): HTMLElement | null {\n return this.closest('.pk-connect-field');\n }\n\n private get statusLabel(): string {\n switch (this.status) {\n case 'connected':\n return this.labelConnected;\n case 'error':\n return this.labelError;\n case 'connecting':\n return this.labelConnecting;\n default:\n return this.labelNotConnected;\n }\n }\n\n private get statusLabelMuted(): boolean {\n return this.status !== 'connected' && this.status !== 'error';\n }\n\n private get actionLabel(): string {\n return this.status === 'connected' ? this.labelRefresh : this.labelConnect;\n }\n\n private setConnectStatus(status: ConnectStatus): void {\n this.status = status;\n this.dispatchEvent(\n new CustomEvent<{ status: ConnectStatus }>('pk-status-change', {\n detail: { status },\n bubbles: true,\n }),\n );\n }\n\n private setModalOpen(open: boolean): void {\n this.fieldHost?.classList.toggle('pk-connect-field--modal-open', open);\n\n if (!open) {\n this.showDetails = false;\n }\n }\n\n private ensureErrorDialog(): HTMLElement {\n if (this.errorDialog) {\n return this.errorDialog;\n }\n\n const dialog = document.createElement('pk-dialog');\n dialog.className = 'pk-connect-dialog';\n dialog.setAttribute('without-header', '');\n dialog.innerHTML = [\n `<pk-button slot=\"trigger\" type=\"button\" variant=\"none\" size=\"none\" icon class=\"pk-connect-dialog__close\" data-dialog=\"close\" aria-label=\"${escapeCpHtml(this.labelClose)}\">`,\n '<pk-icon icon=\"xmark\"></pk-icon>',\n '</pk-button>',\n '<div class=\"pk-connection-error\">',\n '<div class=\"pk-connection-error__stack\">',\n '<div class=\"pk-connection-error__icon\"><pk-icon icon=\"triangle-exclamation\"></pk-icon></div>',\n '<h3 class=\"pk-connection-error__heading\"></h3>',\n '<p class=\"pk-connection-error__message\"></p>',\n '<div class=\"pk-connection-error__details hidden\">',\n '<button type=\"button\" class=\"pk-connection-error__details-toggle\">',\n '<pk-icon icon=\"chevron-right\"></pk-icon>',\n `<span class=\"pk-connection-error__details-label\">${escapeCpHtml(this.labelShowDetails)}</span>`,\n '</button>',\n '<div class=\"pk-connection-error__trace hidden\"></div>',\n '</div>',\n '</div>',\n '</div>',\n ].join('');\n\n document.body.appendChild(dialog);\n\n const detailsToggle = dialog.querySelector<HTMLButtonElement>('.pk-connection-error__details-toggle');\n const traceEl = dialog.querySelector('.pk-connection-error__trace');\n const detailsLabel = dialog.querySelector('.pk-connection-error__details-label');\n const detailsWrap = dialog.querySelector('.pk-connection-error__details');\n const chevron = dialog.querySelector('pk-icon');\n\n detailsToggle?.addEventListener('click', () => {\n this.showDetails = !this.showDetails;\n traceEl?.classList.toggle('hidden', !this.showDetails);\n chevron?.classList.toggle('is-open', this.showDetails);\n\n if (detailsLabel) {\n detailsLabel.textContent = this.showDetails\n ? this.labelHideDetails\n : this.labelShowDetails;\n }\n });\n\n dialog.addEventListener('pk-open-change', (event) => {\n const open = Boolean((event as CustomEvent<{ open?: boolean }>).detail?.open);\n this.setModalOpen(open);\n\n if (!open) {\n traceEl?.classList.add('hidden');\n chevron?.classList.remove('is-open');\n\n if (detailsLabel) {\n detailsLabel.textContent = this.labelShowDetails;\n }\n }\n });\n\n this.errorDialog = dialog;\n return dialog;\n }\n\n private showErrorModal(error: ErrorContent): void {\n const dialog = this.ensureErrorDialog() as HTMLElement & { open: boolean };\n const heading = dialog.querySelector('.pk-connection-error__heading');\n const message = dialog.querySelector('.pk-connection-error__message');\n const detailsWrap = dialog.querySelector('.pk-connection-error__details');\n const traceEl = dialog.querySelector('.pk-connection-error__trace');\n\n if (heading) {\n heading.textContent = error.heading || this.labelErrorHeading;\n }\n\n if (message) {\n message.textContent = error.text || this.labelGenericError;\n }\n\n const trace = error.traceAsString || error.trace || '';\n\n if (trace && detailsWrap && traceEl) {\n detailsWrap.classList.remove('hidden');\n traceEl.innerHTML = trace;\n traceEl.classList.add('hidden');\n } else {\n detailsWrap?.classList.add('hidden');\n }\n\n this.showDetails = false;\n dialog.open = true;\n this.setModalOpen(true);\n }\n\n private async handleConnectClick(event: Event): Promise<void> {\n event.preventDefault();\n\n if (this.isDirty || this.loading || !this.action) {\n return;\n }\n\n this.loading = true;\n this.setConnectStatus('connecting');\n this.setModalOpen(false);\n\n const values = serializeCpForm(this.formSelector, this);\n const payload = buildConnectPayload(values, {\n idParam: this.idParam,\n sourceId: this.sourceId,\n type: this.type || values.type,\n });\n\n try {\n const response = await sendCpConnectRequest(this.action, payload);\n this.loading = false;\n\n if (response?.data?.success) {\n this.setConnectStatus('connected');\n return;\n }\n\n if (response?.data?.message || response?.data?.success === false) {\n this.setConnectStatus('error');\n this.showErrorModal(\n resolveConnectError(response?.data?.message ?? null, this.labels),\n );\n }\n } catch (error) {\n this.loading = false;\n this.setConnectStatus('error');\n this.showErrorModal(resolveConnectError(error, this.labels));\n }\n }\n\n override render() {\n if (this.isDirty) {\n return html`\n <div class=\"heading\">\n <span class=\"warning with-icon\">${this.labelSaveToConnect}</span>\n </div>\n `;\n }\n\n return html`\n <div class=\"heading\">\n <pk-status\n status=${pkStatusForState(this.status)}\n class=\"pk-connect__status-icon\"\n ></pk-status><span class=${this.statusLabelMuted ? 'light' : nothing}>${this.statusLabel}</span>\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n spinner-size=\"xs\"\n ?loading=${this.loading}\n ?disabled=${this.loading || this.isDirty}\n @click=${this.handleConnectClick}\n >\n ${this.actionLabel}\n </pk-button>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-connect': PkConnect;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pk-connect.js","names":["_decorate"],"sources":["../../../src/components/connect/pk-connect.ts"],"sourcesContent":["import {\n buildConnectPayload,\n escapeCpHtml,\n resolveConnectError,\n sendCpConnectRequest,\n serializeCpForm,\n watchCpFormDirty,\n type ConnectLabels,\n type ConnectStatus,\n type ErrorContent,\n} from '@verbb/plugin-kit-core';\nimport { html, LitElement, nothing } from 'lit';\nimport { customElement, property, state } from '../../decorators.js';\n\nimport '../button/pk-button.js';\nimport '../dialog/pk-dialog.js';\nimport '../icon/pk-icon.js';\nimport type { PkStatePanel } from '../state-panel/pk-state-panel.js';\nimport '../state-panel/pk-state-panel.js';\nimport '../status/pk-status.js';\nimport type { PkStatusVariant } from '../status/pk-status.js';\nimport { pkConnectStyles } from './pk-connect.styles.js';\n\nconst pkStatusForState = (status: ConnectStatus): PkStatusVariant => {\n if (status === 'connected') {\n return 'on';\n }\n\n if (status === 'error') {\n return 'off';\n }\n\n return 'disabled';\n};\n\n/**\n * Credentials / REST connect row for Craft CP source settings.\n *\n * **Light DOM** — mounts inside Craft `.field.lightswitch-field` and reuses CP\n * `.heading` / `.input` columns (see `pk-connect-oauth` for the same rationale).\n *\n * @fires pk-status-change - `detail.status` is the new {@link ConnectStatus}.\n */\n@customElement('pk-connect')\nexport class PkConnect extends LitElement {\n static override styles = pkConnectStyles;\n\n /** Craft controller action, e.g. `metrix/sources/check-connection`. */\n @property({ reflect: true })\n action = '';\n\n @property({ reflect: true })\n status: ConnectStatus = 'disconnected';\n\n @property({ attribute: 'form-selector' })\n formSelector = '#main-form';\n\n @property({ attribute: 'source-id' })\n sourceId: string | null = null;\n\n /** POST key for the record id (`sourceId` default; Formie uses `id`). */\n @property({ attribute: 'id-param' })\n idParam = 'sourceId';\n\n @property()\n type = '';\n\n @property({ attribute: 'label-connected' })\n labelConnected = 'Connected';\n\n @property({ attribute: 'label-not-connected' })\n labelNotConnected = 'Not Connected';\n\n @property({ attribute: 'label-connecting' })\n labelConnecting = 'Connecting…';\n\n @property({ attribute: 'label-error' })\n labelError = 'Error';\n\n @property({ attribute: 'label-connect' })\n labelConnect = 'Connect';\n\n @property({ attribute: 'label-refresh' })\n labelRefresh = 'Refresh';\n\n @property({ attribute: 'label-save-to-connect' })\n labelSaveToConnect = 'Save to connect.';\n\n @property({ attribute: 'label-error-heading' })\n labelErrorHeading = 'Connection error';\n\n @property({ attribute: 'label-generic-error' })\n labelGenericError = 'Unable to connect to the provider.';\n\n @property({ attribute: 'label-show-details' })\n labelShowDetails = 'Show details';\n\n @property({ attribute: 'label-hide-details' })\n labelHideDetails = 'Hide details';\n\n @property({ attribute: 'label-close' })\n labelClose = 'Close';\n\n @state()\n private isDirty = false;\n\n @state()\n private loading = false;\n\n private unwatchDirty: (() => void) | null = null;\n private errorDialog: HTMLElement | null = null;\n\n override createRenderRoot(): HTMLElement | DocumentFragment {\n // Light DOM — Craft field chrome and pk-* children share document tokens.\n return this;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.unwatchDirty = watchCpFormDirty({\n formSelector: this.formSelector,\n host: this,\n onDirty: () => {\n this.isDirty = true;\n },\n });\n }\n\n override disconnectedCallback(): void {\n this.unwatchDirty?.();\n this.unwatchDirty = null;\n this.errorDialog?.remove();\n this.errorDialog = null;\n super.disconnectedCallback();\n }\n\n private get labels(): ConnectLabels {\n return {\n connected: this.labelConnected,\n notConnected: this.labelNotConnected,\n connecting: this.labelConnecting,\n error: this.labelError,\n connect: this.labelConnect,\n refresh: this.labelRefresh,\n saveToConnect: this.labelSaveToConnect,\n errorHeading: this.labelErrorHeading,\n genericError: this.labelGenericError,\n showDetails: this.labelShowDetails,\n hideDetails: this.labelHideDetails,\n };\n }\n\n private get fieldHost(): HTMLElement | null {\n return this.closest('.pk-connect-field');\n }\n\n private get statusLabel(): string {\n switch (this.status) {\n case 'connected':\n return this.labelConnected;\n case 'error':\n return this.labelError;\n case 'connecting':\n return this.labelConnecting;\n default:\n return this.labelNotConnected;\n }\n }\n\n private get statusLabelMuted(): boolean {\n return this.status !== 'connected' && this.status !== 'error';\n }\n\n private get actionLabel(): string {\n return this.status === 'connected' ? this.labelRefresh : this.labelConnect;\n }\n\n private setConnectStatus(status: ConnectStatus): void {\n this.status = status;\n this.dispatchEvent(\n new CustomEvent<{ status: ConnectStatus }>('pk-status-change', {\n detail: { status },\n bubbles: true,\n }),\n );\n }\n\n private setModalOpen(open: boolean): void {\n this.fieldHost?.classList.toggle('pk-connect-field--modal-open', open);\n }\n\n private ensureErrorDialog(): HTMLElement {\n if (this.errorDialog) {\n return this.errorDialog;\n }\n\n const dialog = document.createElement('pk-dialog');\n dialog.className = 'pk-connect-dialog';\n dialog.setAttribute('without-header', '');\n dialog.innerHTML = [\n `<pk-button slot=\"trigger\" type=\"button\" variant=\"none\" size=\"none\" icon class=\"pk-connect-dialog__close\" data-dialog=\"close\" aria-label=\"${escapeCpHtml(this.labelClose)}\">`,\n '<pk-icon icon=\"xmark\"></pk-icon>',\n '</pk-button>',\n '<div class=\"pk-connect-dialog__content\">',\n '<pk-state-panel class=\"pk-connect-dialog__state\" variant=\"error\" size=\"lg\" announce=\"assertive\">',\n '<span class=\"pk-connect-dialog__message\"></span>',\n '</pk-state-panel>',\n '</div>',\n ].join('');\n\n document.body.appendChild(dialog);\n\n dialog.addEventListener('pk-open-change', (event) => {\n const open = Boolean((event as CustomEvent<{ open?: boolean }>).detail?.open);\n this.setModalOpen(open);\n });\n\n this.errorDialog = dialog;\n return dialog;\n }\n\n private showErrorModal(error: ErrorContent): void {\n const dialog = this.ensureErrorDialog() as HTMLElement & { open: boolean };\n const statePanel = dialog.querySelector<PkStatePanel>('pk-state-panel');\n const message = dialog.querySelector('.pk-connect-dialog__message');\n\n if (message) {\n message.textContent = error.text || this.labelGenericError;\n }\n\n const trace = error.traceAsArray.length > 0\n ? error.traceAsArray.join('\\n')\n : (error.traceAsString || error.trace || '').replace(/<br\\s*\\/?>/gi, '\\n');\n dialog.querySelector('[slot=\"details\"]')?.remove();\n\n if (statePanel) {\n statePanel.heading = error.heading || this.labelErrorHeading;\n statePanel.detailsLabel = this.labelShowDetails;\n statePanel.detailsOpen = false;\n statePanel.copyable = Boolean(trace);\n\n if (trace) {\n const details = document.createElement('pre');\n details.slot = 'details';\n details.textContent = trace;\n statePanel.appendChild(details);\n }\n }\n\n dialog.open = true;\n this.setModalOpen(true);\n }\n\n private async handleConnectClick(event: Event): Promise<void> {\n event.preventDefault();\n\n if (this.isDirty || this.loading || !this.action) {\n return;\n }\n\n this.loading = true;\n this.setConnectStatus('connecting');\n this.setModalOpen(false);\n\n const values = serializeCpForm(this.formSelector, this);\n const payload = buildConnectPayload(values, {\n idParam: this.idParam,\n sourceId: this.sourceId,\n type: this.type || values.type,\n });\n\n try {\n const response = await sendCpConnectRequest(this.action, payload);\n this.loading = false;\n\n if (response?.data?.success) {\n this.setConnectStatus('connected');\n return;\n }\n\n if (response?.data?.message || response?.data?.success === false) {\n this.setConnectStatus('error');\n this.showErrorModal(\n resolveConnectError(response?.data?.message ?? null, this.labels),\n );\n }\n } catch (error) {\n this.loading = false;\n this.setConnectStatus('error');\n this.showErrorModal(resolveConnectError(error, this.labels));\n }\n }\n\n override render() {\n if (this.isDirty) {\n return html`\n <div class=\"heading\">\n <span class=\"warning with-icon\">${this.labelSaveToConnect}</span>\n </div>\n `;\n }\n\n return html`\n <div class=\"heading\">\n <pk-status\n status=${pkStatusForState(this.status)}\n class=\"pk-connect__status-icon\"\n ></pk-status><span class=${this.statusLabelMuted ? 'light' : nothing}>${this.statusLabel}</span>\n </div>\n\n <div class=\"input ltr\">\n <pk-button\n type=\"button\"\n size=\"xs\"\n variant=\"default\"\n class=\"pk-connect__action\"\n spinner-size=\"xs\"\n ?loading=${this.loading}\n ?disabled=${this.loading || this.isDirty}\n @click=${this.handleConnectClick}\n >\n ${this.actionLabel}\n </pk-button>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-connect': PkConnect;\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,16 +6,26 @@ import { PkButtonVariant } from '../button/pk-button.js';
|
|
|
6
6
|
* Place in `slot="end"` on `<pk-input>` (or another control with an end adornment)
|
|
7
7
|
* for an in-control treatment that matches combobox / image-browser trailing actions.
|
|
8
8
|
*
|
|
9
|
-
* @slot icon -
|
|
9
|
+
* @slot icon - Custom copy icon. The component supplies a copy icon by default.
|
|
10
10
|
*
|
|
11
11
|
* @event pk-copy - Emitted when text is copied successfully
|
|
12
12
|
* @event pk-copy-error - Emitted when copying fails
|
|
13
13
|
*
|
|
14
14
|
* @csspart button - Trigger button
|
|
15
|
+
* @csspart copy-icon - Copy icon shown before copying
|
|
15
16
|
* @csspart success-icon - Success icon shown after copying
|
|
17
|
+
*
|
|
18
|
+
* @cssproperty --pk-copy-button-background - Trigger background override.
|
|
19
|
+
* @cssproperty --pk-copy-button-border-color - Trigger border colour override.
|
|
20
|
+
* @cssproperty --pk-copy-button-color - Trigger foreground colour override.
|
|
21
|
+
* @cssproperty --pk-copy-button-hover-background - Trigger hover background override.
|
|
22
|
+
* @cssproperty --pk-copy-button-hover-border-color - Trigger hover border colour override.
|
|
23
|
+
* @cssproperty --pk-copy-button-hover-color - Trigger hover foreground colour override.
|
|
24
|
+
* @cssproperty --pk-copy-button-radius - Trigger corner radius override.
|
|
16
25
|
*/
|
|
17
26
|
export declare class PkCopyButton extends PkElement {
|
|
18
27
|
static styles: import('lit').CSSResult;
|
|
28
|
+
private readonly hasSlotController;
|
|
19
29
|
value: string;
|
|
20
30
|
/**
|
|
21
31
|
* Element id to copy from — `from="el[attr]"` or `from="el.value"`.
|
|
@@ -24,12 +34,17 @@ export declare class PkCopyButton extends PkElement {
|
|
|
24
34
|
from: string;
|
|
25
35
|
disabled: boolean;
|
|
26
36
|
variant: PkButtonVariant;
|
|
37
|
+
/** Accessible name shown while the copy action is available. */
|
|
38
|
+
ariaLabel: string;
|
|
39
|
+
/** Accessible name shown briefly after copying succeeds. */
|
|
40
|
+
copiedLabel: string;
|
|
27
41
|
private copied;
|
|
28
42
|
private resetTimer?;
|
|
29
43
|
disconnectedCallback(): void;
|
|
30
44
|
private resetCopied;
|
|
31
45
|
private scheduleReset;
|
|
32
|
-
|
|
46
|
+
/** Copy the configured value and emit the corresponding result event. */
|
|
47
|
+
copy(): Promise<void>;
|
|
33
48
|
render(): import('lit-html').TemplateResult<1>;
|
|
34
49
|
}
|
|
35
50
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-copy-button.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/pk-copy-button.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pk-copy-button.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/pk-copy-button.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,wBAAwB,CAAC;AAchC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,YAAa,SAAQ,SAAS;IACvC,OAAgB,MAAM,0BAAsB;IAE5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IAGzE,KAAK,SAAM;IAEX;;;OAGG;IAEH,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,OAAO,EAAE,eAAe,CAAiB;IAEzC,gEAAgE;IAEhE,SAAS,SAAU;IAEnB,4DAA4D;IAE5D,WAAW,SAAY;IAGvB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,UAAU,CAAC,CAAS;IAEnB,oBAAoB,IAAI,IAAI;IAKrC,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,aAAa;IAKrB,yEAAyE;IACnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBlB,MAAM;CAsBlB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,gBAAgB,EAAE,YAAY,CAAC;KAClC;CACJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkCopyButton } from "../../chunks/pk-copy-button-
|
|
1
|
+
import { t as PkCopyButton } from "../../chunks/pk-copy-button-5i9v_zmu.js";
|
|
2
2
|
export { PkCopyButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-copy-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/pk-copy-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"pk-copy-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/pk-copy-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,yBAiE9B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkCopyButton } from "../chunks/pk-copy-button-
|
|
1
|
+
import { t as PkCopyButton } from "../chunks/pk-copy-button-5i9v_zmu.js";
|
|
2
2
|
export { PkCopyButton };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDatePicker } from "../../chunks/pk-date-picker-
|
|
1
|
+
import { t as PkDatePicker } from "../../chunks/pk-date-picker-C-w6Mn6j.js";
|
|
2
2
|
export { PkDatePicker };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDatePicker } from "../chunks/pk-date-picker-
|
|
1
|
+
import { t as PkDatePicker } from "../chunks/pk-date-picker-C-w6Mn6j.js";
|
|
2
2
|
export { PkDatePicker };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDialog } from "../../chunks/pk-dialog-
|
|
1
|
+
import { t as PkDialog } from "../../chunks/pk-dialog-C7KZGpQs.js";
|
|
2
2
|
export { PkDialog };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDialog } from "../chunks/pk-dialog-
|
|
1
|
+
import { t as PkDialog } from "../chunks/pk-dialog-C7KZGpQs.js";
|
|
2
2
|
export { PkDialog };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDropdownItem } from "../../chunks/pk-dropdown-item-
|
|
1
|
+
import { t as PkDropdownItem } from "../../chunks/pk-dropdown-item-Ck2N_suK.js";
|
|
2
2
|
export { PkDropdownItem };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDropdownLabel } from "../../chunks/pk-dropdown-label-
|
|
1
|
+
import { t as PkDropdownLabel } from "../../chunks/pk-dropdown-label-BdZLeizJ.js";
|
|
2
2
|
export { PkDropdownLabel };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkDropdownMenu } from "../../chunks/pk-dropdown-menu-
|
|
1
|
+
import { t as PkDropdownMenu } from "../../chunks/pk-dropdown-menu-DBsO1uYR.js";
|
|
2
2
|
export { PkDropdownMenu };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as customElement, n as PkElement, t as __decorate } from "../../chunks/decorate-Br_PE9pq.js";
|
|
2
2
|
import { css, html } from "lit";
|
|
3
3
|
//#region src/components/dropdown-menu/pk-dropdown-separator.ts
|
|
4
4
|
var PkDropdownSeparator = class PkDropdownSeparator extends PkElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-dropdown-separator.js","names":[],"sources":["../../../src/components/dropdown-menu/pk-dropdown-separator.ts"],"sourcesContent":["import { css, html } from 'lit';\nimport { customElement } from '../../decorators.js';\n\nimport { PkElement } from '../../base/pk-element.js';\n\n/** Visual separator between dropdown items. */\n@customElement('pk-dropdown-separator')\nexport class PkDropdownSeparator extends PkElement {\n static override styles = css`\n @layer pk-component {\n :host {\n display: block;\n }\n\n hr {\n display: block;\n height: 1px;\n margin: 4px 0;\n border: 0;\n padding: 0;\n background: var(--pk-color-slate-200);\n }\n }\n `;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'separator');\n }\n\n override render() {\n return html`<hr part=\"base\" />`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-dropdown-separator': PkDropdownSeparator;\n }\n}\n"],"mappings":";;;AAOO,
|
|
1
|
+
{"version":3,"file":"pk-dropdown-separator.js","names":["_decorate"],"sources":["../../../src/components/dropdown-menu/pk-dropdown-separator.ts"],"sourcesContent":["import { css, html } from 'lit';\nimport { customElement } from '../../decorators.js';\n\nimport { PkElement } from '../../base/pk-element.js';\n\n/** Visual separator between dropdown items. */\n@customElement('pk-dropdown-separator')\nexport class PkDropdownSeparator extends PkElement {\n static override styles = css`\n @layer pk-component {\n :host {\n display: block;\n }\n\n hr {\n display: block;\n height: 1px;\n margin: 4px 0;\n border: 0;\n padding: 0;\n background: var(--pk-color-slate-200);\n }\n }\n `;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'separator');\n }\n\n override render() {\n return html`<hr part=\"base\" />`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-dropdown-separator': PkDropdownSeparator;\n }\n}\n"],"mappings":";;;AAOO,IAAM,sBAAN,MAAM,4BAA4B,UAAU;;EACtB,KAAA,SAAA,GAAG;;;;;;;;;;;;;;;;;CAiB5B,oBAAmC;EAC/B,MAAM,kBAAkB;EACxB,KAAK,aAAa,QAAQ,WAAW;CACzC;CAEA,SAAkB;EACd,OAAO,IAAI;CACf;AACJ;AA3BC,sBAAAA,WAAA,CAAA,cAAc,uBAAuB,CAAA,GAAA,mBAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as PkDropdownItem } from "../chunks/pk-dropdown-item-
|
|
2
|
-
import { t as PkDropdownMenu } from "../chunks/pk-dropdown-menu-
|
|
3
|
-
import { t as PkDropdownLabel } from "../chunks/pk-dropdown-label-
|
|
1
|
+
import { t as PkDropdownItem } from "../chunks/pk-dropdown-item-Ck2N_suK.js";
|
|
2
|
+
import { t as PkDropdownMenu } from "../chunks/pk-dropdown-menu-DBsO1uYR.js";
|
|
3
|
+
import { t as PkDropdownLabel } from "../chunks/pk-dropdown-label-BdZLeizJ.js";
|
|
4
4
|
import { PkDropdownSeparator } from "./dropdown-menu/pk-dropdown-separator.js";
|
|
5
5
|
export { PkDropdownItem, PkDropdownLabel, PkDropdownMenu, PkDropdownSeparator };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as nextRowId, i as isCustomColumn, r as getCustomCellSlotName, t as PkEditableTable } from "../../chunks/pk-editable-table-
|
|
1
|
+
import { a as nextRowId, i as isCustomColumn, r as getCustomCellSlotName, t as PkEditableTable } from "../../chunks/pk-editable-table-Cd8K6vT4.js";
|
|
2
2
|
export { PkEditableTable, getCustomCellSlotName, isCustomColumn, nextRowId };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "../chunks/pk-editable-table-
|
|
1
|
+
import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "../chunks/pk-editable-table-Cd8K6vT4.js";
|
|
2
2
|
export { BUILTIN_COLUMN_TYPES, PkEditableTable, getCustomCellSlotName, isCustomColumn, nextRowId };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkField } from "../../chunks/pk-field
|
|
1
|
+
import { t as PkField } from "../../chunks/pk-field--PCE9nOd.js";
|
|
2
2
|
export { PkField };
|
package/dist/components/field.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkField } from "../chunks/pk-field
|
|
1
|
+
import { t as PkField } from "../chunks/pk-field--PCE9nOd.js";
|
|
2
2
|
export { PkField };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { i as
|
|
1
|
+
import { i as customElement, n as PkElement, t as __decorate } from "../../chunks/decorate-Br_PE9pq.js";
|
|
2
|
+
import { t as property } from "../../chunks/decorators-BkErmuYK.js";
|
|
2
3
|
import { css, html, nothing } from "lit";
|
|
3
4
|
import { unsafeSVG } from "lit/directives/unsafe-svg.js";
|
|
4
5
|
import { getIcon, iconToSvg, subscribeIconRegistry } from "@verbb/plugin-kit-icons";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-icon.js","names":[],"sources":["../../../src/components/icon/pk-icon.ts"],"sourcesContent":["import { html, css, nothing } from 'lit';\nimport { customElement, property } from '../../decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { getIcon, iconToSvg, subscribeIconRegistry } from '@verbb/plugin-kit-icons';\n\nimport { PkElement } from '../../base/pk-element.js';\n\n/**\n * Standalone icon element backed by the Plugin Kit raw-SVG icon set.\n *\n * The name registry starts empty — consumers must {@link registerIcons}\n * (or import `@verbb/plugin-kit-icons/all.js`) before `<pk-icon icon=\"…\">` resolves.\n * Registrations are page-global across bundled Plugin Kit copies (Craft multi-plugin CP).\n *\n * Sizing follows `font-size` (defaults to `1em`), colour follows `currentColor`,\n * so consumers style it like text:\n *\n * ```html\n * <pk-icon icon=\"chevron-down\"></pk-icon>\n * <pk-icon icon=\"pen\" label=\"Edit\" style=\"font-size: 20px; color: #6b7280\"></pk-icon>\n * ```\n *\n * Prefer the `icon` attribute over `name`: some server-side form renderers\n * (e.g. Craft CMS `Html::namespaceInputs()`) rewrite every `name=\"…\"` attribute\n * in a form to namespace it, which would corrupt the icon lookup. `icon` is left\n * untouched. `name` is still supported for non-form contexts / back-compat.\n */\n@customElement('pk-icon')\nexport class PkIcon extends PkElement {\n static override styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n /* Square em box + slight baseline nudge for inline text. Flex\n * parents (e.g. button slots) should zero vertical-align. */\n width: 1em;\n height: 1em;\n line-height: 1;\n vertical-align: -0.125em;\n }\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n /* Allow intentional path overhang past the icon canvas. */\n overflow: visible;\n }\n `;\n\n /**\n * Icon name (kebab-case), e.g. `chevron-down`, `gear`, `xmark`.\n * Namespacing-safe alternative to `name` — use this inside CMS form markup.\n */\n @property()\n icon = '';\n\n /**\n * Icon name (kebab-case). Back-compat / non-form alias for `icon`.\n * Avoid in server-namespaced forms, where `name` attributes get rewritten.\n */\n @property()\n name = '';\n\n /**\n * Accessible label. When set the icon is exposed as an image with\n * `aria-label`; otherwise it is hidden from assistive technology.\n * Does not use HTML/SVG `title` (no native hover tooltip).\n */\n @property()\n label?: string;\n\n private unsubscribeRegistry: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n // Later plugins may register glyphs after this host upgraded — re-resolve.\n this.unsubscribeRegistry = subscribeIconRegistry(() => {\n this.requestUpdate();\n });\n }\n\n override disconnectedCallback(): void {\n this.unsubscribeRegistry?.();\n this.unsubscribeRegistry = null;\n super.disconnectedCallback();\n }\n\n override render() {\n const icon = getIcon(this.icon || this.name);\n\n if (!icon) {\n return nothing;\n }\n\n return html`${unsafeSVG(iconToSvg(icon, { title: this.label }))}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-icon': PkIcon;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pk-icon.js","names":["_decorate"],"sources":["../../../src/components/icon/pk-icon.ts"],"sourcesContent":["import { html, css, nothing } from 'lit';\nimport { customElement, property } from '../../decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { getIcon, iconToSvg, subscribeIconRegistry } from '@verbb/plugin-kit-icons';\n\nimport { PkElement } from '../../base/pk-element.js';\n\n/**\n * Standalone icon element backed by the Plugin Kit raw-SVG icon set.\n *\n * The name registry starts empty — consumers must {@link registerIcons}\n * (or import `@verbb/plugin-kit-icons/all.js`) before `<pk-icon icon=\"…\">` resolves.\n * Registrations are page-global across bundled Plugin Kit copies (Craft multi-plugin CP).\n *\n * Sizing follows `font-size` (defaults to `1em`), colour follows `currentColor`,\n * so consumers style it like text:\n *\n * ```html\n * <pk-icon icon=\"chevron-down\"></pk-icon>\n * <pk-icon icon=\"pen\" label=\"Edit\" style=\"font-size: 20px; color: #6b7280\"></pk-icon>\n * ```\n *\n * Prefer the `icon` attribute over `name`: some server-side form renderers\n * (e.g. Craft CMS `Html::namespaceInputs()`) rewrite every `name=\"…\"` attribute\n * in a form to namespace it, which would corrupt the icon lookup. `icon` is left\n * untouched. `name` is still supported for non-form contexts / back-compat.\n */\n@customElement('pk-icon')\nexport class PkIcon extends PkElement {\n static override styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n /* Square em box + slight baseline nudge for inline text. Flex\n * parents (e.g. button slots) should zero vertical-align. */\n width: 1em;\n height: 1em;\n line-height: 1;\n vertical-align: -0.125em;\n }\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n /* Allow intentional path overhang past the icon canvas. */\n overflow: visible;\n }\n `;\n\n /**\n * Icon name (kebab-case), e.g. `chevron-down`, `gear`, `xmark`.\n * Namespacing-safe alternative to `name` — use this inside CMS form markup.\n */\n @property()\n icon = '';\n\n /**\n * Icon name (kebab-case). Back-compat / non-form alias for `icon`.\n * Avoid in server-namespaced forms, where `name` attributes get rewritten.\n */\n @property()\n name = '';\n\n /**\n * Accessible label. When set the icon is exposed as an image with\n * `aria-label`; otherwise it is hidden from assistive technology.\n * Does not use HTML/SVG `title` (no native hover tooltip).\n */\n @property()\n label?: string;\n\n private unsubscribeRegistry: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n // Later plugins may register glyphs after this host upgraded — re-resolve.\n this.unsubscribeRegistry = subscribeIconRegistry(() => {\n this.requestUpdate();\n });\n }\n\n override disconnectedCallback(): void {\n this.unsubscribeRegistry?.();\n this.unsubscribeRegistry = null;\n super.disconnectedCallback();\n }\n\n override render() {\n const icon = getIcon(this.icon || this.name);\n\n if (!icon) {\n return nothing;\n }\n\n return html`${unsafeSVG(iconToSvg(icon, { title: this.label }))}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pk-icon': PkIcon;\n }\n}\n"],"mappings":";;;;;;AA4BO,IAAM,SAAN,MAAM,eAAe,UAAU;;;EA8B3B,KAAA,OAAA;EAOA,KAAA,OAAA;EAU4C,KAAA,sBAAA;;;EA9C1B,KAAA,SAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAgD5B,oBAAmC;EAC/B,MAAM,kBAAkB;EAGxB,KAAK,sBAAsB,4BAA4B;GACnD,KAAK,cAAc;EACvB,CAAC;CACL;CAEA,uBAAsC;EAClC,KAAK,sBAAsB;EAC3B,KAAK,sBAAsB;EAC3B,MAAM,qBAAqB;CAC/B;CAEA,SAAkB;EACd,MAAM,OAAO,QAAQ,KAAK,QAAQ,KAAK,IAAI;EAE3C,IAAI,CAAC,MACD,OAAO;EAGX,OAAO,IAAI,GAAG,UAAU,UAAU,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CAClE;AACJ;AA5CKA,WAAA,CAAA,SAAS,CAAA,GAAA,OAAA,WAAA,QAAA,KAAA,CAAA;AAOTA,WAAA,CAAA,SAAS,CAAA,GAAA,OAAA,WAAA,QAAA,KAAA,CAAA;AAQTA,WAAA,CAAA,SAAS,CAAA,GAAA,OAAA,WAAA,SAAA,KAAA,CAAA;AA7Cb,SAAAA,WAAA,CAAA,cAAc,SAAS,CAAA,GAAA,MAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkImageBrowser } from "../../chunks/pk-image-browser-
|
|
1
|
+
import { t as PkImageBrowser } from "../../chunks/pk-image-browser-iUqdcLKs.js";
|
|
2
2
|
export { PkImageBrowser };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkImageBrowser } from "../chunks/pk-image-browser-
|
|
1
|
+
import { t as PkImageBrowser } from "../chunks/pk-image-browser-iUqdcLKs.js";
|
|
2
2
|
export { PkImageBrowser };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInput } from "../../chunks/pk-input-
|
|
1
|
+
import { t as PkInput } from "../../chunks/pk-input-BUbXj9We.js";
|
|
2
2
|
export { PkInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroupAddon } from "../../chunks/pk-input-group-addon-
|
|
1
|
+
import { t as PkInputGroupAddon } from "../../chunks/pk-input-group-addon-DpxfuYp1.js";
|
|
2
2
|
export { PkInputGroupAddon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroupButton } from "../../chunks/pk-input-group-button-
|
|
1
|
+
import { t as PkInputGroupButton } from "../../chunks/pk-input-group-button-D5Hm4saA.js";
|
|
2
2
|
export { PkInputGroupButton };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroupInput } from "../../chunks/pk-input-group-input-
|
|
1
|
+
import { t as PkInputGroupInput } from "../../chunks/pk-input-group-input-Cm1MoHgN.js";
|
|
2
2
|
export { PkInputGroupInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroupText } from "../../chunks/pk-input-group-text-
|
|
1
|
+
import { t as PkInputGroupText } from "../../chunks/pk-input-group-text-CtyJZ_Kg.js";
|
|
2
2
|
export { PkInputGroupText };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroupTextarea } from "../../chunks/pk-input-group-textarea-
|
|
1
|
+
import { t as PkInputGroupTextarea } from "../../chunks/pk-input-group-textarea-BxmKGjdt.js";
|
|
2
2
|
export { PkInputGroupTextarea };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInputGroup } from "../../chunks/pk-input-group-
|
|
1
|
+
import { t as PkInputGroup } from "../../chunks/pk-input-group-CN79c5HT.js";
|
|
2
2
|
export { PkInputGroup };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as PkInputGroup } from "../chunks/pk-input-group-
|
|
2
|
-
import { t as PkInputGroupAddon } from "../chunks/pk-input-group-addon-
|
|
3
|
-
import { t as PkInputGroupButton } from "../chunks/pk-input-group-button-
|
|
4
|
-
import { t as PkInputGroupInput } from "../chunks/pk-input-group-input-
|
|
5
|
-
import { t as PkInputGroupText } from "../chunks/pk-input-group-text-
|
|
6
|
-
import { t as PkInputGroupTextarea } from "../chunks/pk-input-group-textarea-
|
|
1
|
+
import { t as PkInputGroup } from "../chunks/pk-input-group-CN79c5HT.js";
|
|
2
|
+
import { t as PkInputGroupAddon } from "../chunks/pk-input-group-addon-DpxfuYp1.js";
|
|
3
|
+
import { t as PkInputGroupButton } from "../chunks/pk-input-group-button-D5Hm4saA.js";
|
|
4
|
+
import { t as PkInputGroupInput } from "../chunks/pk-input-group-input-Cm1MoHgN.js";
|
|
5
|
+
import { t as PkInputGroupText } from "../chunks/pk-input-group-text-CtyJZ_Kg.js";
|
|
6
|
+
import { t as PkInputGroupTextarea } from "../chunks/pk-input-group-textarea-BxmKGjdt.js";
|
|
7
7
|
export { PkInputGroup, PkInputGroupAddon, PkInputGroupButton, PkInputGroupInput, PkInputGroupText, PkInputGroupTextarea };
|
package/dist/components/input.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkInput } from "../chunks/pk-input-
|
|
1
|
+
import { t as PkInput } from "../chunks/pk-input-BUbXj9We.js";
|
|
2
2
|
export { PkInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkLightswitch } from "../../chunks/pk-lightswitch-
|
|
1
|
+
import { t as PkLightswitch } from "../../chunks/pk-lightswitch-CSvgiHVQ.js";
|
|
2
2
|
export { PkLightswitch };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkLightswitch } from "../chunks/pk-lightswitch-
|
|
1
|
+
import { t as PkLightswitch } from "../chunks/pk-lightswitch-CSvgiHVQ.js";
|
|
2
2
|
export { PkLightswitch };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkPopover } from "../../chunks/pk-popover-
|
|
1
|
+
import { t as PkPopover } from "../../chunks/pk-popover-BOoGfR7I.js";
|
|
2
2
|
export { PkPopover };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkPopover } from "../chunks/pk-popover-
|
|
1
|
+
import { t as PkPopover } from "../chunks/pk-popover-BOoGfR7I.js";
|
|
2
2
|
export { PkPopover };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkPopup } from "../../chunks/pk-popup-
|
|
1
|
+
import { t as PkPopup } from "../../chunks/pk-popup-DVE93VSV.js";
|
|
2
2
|
export { PkPopup };
|
package/dist/components/popup.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkPopup } from "../chunks/pk-popup-
|
|
1
|
+
import { t as PkPopup } from "../chunks/pk-popup-DVE93VSV.js";
|
|
2
2
|
export { PkPopup };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkRadioGroup } from "../../chunks/pk-radio-group-
|
|
1
|
+
import { t as PkRadioGroup } from "../../chunks/pk-radio-group-BehEZG_k.js";
|
|
2
2
|
export { PkRadioGroup };
|