@verbb/plugin-kit-web 2.0.8 → 2.0.10
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 +17 -0
- package/dist/chunks/{animate-with-class-CsDwYnXL.js → animate-with-class-ZJeCOKB3.js} +1 -1
- package/dist/chunks/{animate-with-class-CsDwYnXL.js.map → animate-with-class-ZJeCOKB3.js.map} +1 -1
- package/dist/chunks/{autoloader-hkX3zcAt.js → autoloader-DPX9YYZs.js} +2 -2
- package/dist/chunks/{autoloader-hkX3zcAt.js.map → autoloader-DPX9YYZs.js.map} +1 -1
- package/dist/chunks/{component-registry-BOlxFlou.js → component-registry-CNB8PbP_.js} +5 -1
- package/dist/chunks/component-registry-CNB8PbP_.js.map +1 -0
- package/dist/chunks/{pk-calendar-TEFA09cI.js → pk-calendar-CoUil0F7.js} +1 -1
- package/dist/chunks/{pk-calendar-TEFA09cI.js.map → pk-calendar-CoUil0F7.js.map} +1 -1
- package/dist/chunks/{pk-color-input-CNnmHJJB.js → pk-color-input-BCCXCZMA.js} +1 -1
- package/dist/chunks/{pk-color-input-CNnmHJJB.js.map → pk-color-input-BCCXCZMA.js.map} +1 -1
- package/dist/chunks/pk-connect.styles-DshgIW2n.js +68 -0
- package/dist/chunks/pk-connect.styles-DshgIW2n.js.map +1 -0
- package/dist/chunks/{pk-copy-button-C17MLLYS.js → pk-copy-button-CfeVuQ0r.js} +1 -1
- package/dist/chunks/{pk-copy-button-C17MLLYS.js.map → pk-copy-button-CfeVuQ0r.js.map} +1 -1
- package/dist/chunks/{pk-date-picker-x-qkpQWF.js → pk-date-picker-BM4HMb4-.js} +2 -2
- package/dist/chunks/{pk-date-picker-x-qkpQWF.js.map → pk-date-picker-BM4HMb4-.js.map} +1 -1
- package/dist/chunks/{pk-dialog-BXJr3iEo.js → pk-dialog-B23Rbh5j.js} +2 -2
- package/dist/chunks/{pk-dialog-BXJr3iEo.js.map → pk-dialog-B23Rbh5j.js.map} +1 -1
- package/dist/chunks/{pk-dropdown-item-P3LLojCI.js → pk-dropdown-item-HcIUlFH1.js} +1 -1
- package/dist/chunks/{pk-dropdown-item-P3LLojCI.js.map → pk-dropdown-item-HcIUlFH1.js.map} +1 -1
- package/dist/chunks/{pk-dropdown-label-ibVrU6-U.js → pk-dropdown-label-DLgrmYND.js} +1 -1
- package/dist/chunks/{pk-dropdown-label-ibVrU6-U.js.map → pk-dropdown-label-DLgrmYND.js.map} +1 -1
- package/dist/chunks/{pk-dropdown-menu-CsX95MCP.js → pk-dropdown-menu-r5wgkvmZ.js} +3 -3
- package/dist/chunks/{pk-dropdown-menu-CsX95MCP.js.map → pk-dropdown-menu-r5wgkvmZ.js.map} +1 -1
- package/dist/chunks/{pk-editable-table-sZO9JwiR.js → pk-editable-table-DQZQ6JLb.js} +12 -16
- package/dist/chunks/pk-editable-table-DQZQ6JLb.js.map +1 -0
- package/dist/chunks/{pk-field-Buy_AtYF.js → pk-field-JFP24j4o.js} +2 -2
- package/dist/chunks/{pk-field-Buy_AtYF.js.map → pk-field-JFP24j4o.js.map} +1 -1
- package/dist/chunks/{pk-option-C-cR-jOv.js → pk-option-Cy7oOcwF.js} +1 -1
- package/dist/chunks/{pk-option-C-cR-jOv.js.map → pk-option-Cy7oOcwF.js.map} +1 -1
- package/dist/chunks/{pk-option-group-CbI56A3T.js → pk-option-group-BAFSIZTa.js} +1 -1
- package/dist/chunks/{pk-option-group-CbI56A3T.js.map → pk-option-group-BAFSIZTa.js.map} +1 -1
- package/dist/chunks/{pk-popover-CVvwXMld.js → pk-popover-G3ojheBD.js} +1 -1
- package/dist/chunks/{pk-popover-CVvwXMld.js.map → pk-popover-G3ojheBD.js.map} +1 -1
- package/dist/chunks/{pk-radio-Bg02ckzC.js → pk-radio-CDfhOW8L.js} +1 -1
- package/dist/chunks/{pk-radio-Bg02ckzC.js.map → pk-radio-CDfhOW8L.js.map} +1 -1
- package/dist/chunks/{pk-radio-group-B5rps9G4.js → pk-radio-group-BazmLDvl.js} +1 -1
- package/dist/chunks/{pk-radio-group-B5rps9G4.js.map → pk-radio-group-BazmLDvl.js.map} +1 -1
- package/dist/chunks/{pk-scroll-area-B0V4Dr2j.js → pk-scroll-area-BjU7-vZX.js} +1 -1
- package/dist/chunks/{pk-scroll-area-B0V4Dr2j.js.map → pk-scroll-area-BjU7-vZX.js.map} +1 -1
- package/dist/chunks/{pk-select-BPnO9qgj.js → pk-select-BeMDXEC6.js} +1 -1
- package/dist/chunks/{pk-select-BPnO9qgj.js.map → pk-select-BeMDXEC6.js.map} +1 -1
- package/dist/chunks/{pk-tab-BdoPiYfT.js → pk-tab-f1OLMVXs.js} +1 -1
- package/dist/chunks/{pk-tab-BdoPiYfT.js.map → pk-tab-f1OLMVXs.js.map} +1 -1
- package/dist/chunks/{pk-tab-heading-BWAB85ua.js → pk-tab-heading-79ZuLhXi.js} +1 -1
- package/dist/chunks/{pk-tab-heading-BWAB85ua.js.map → pk-tab-heading-79ZuLhXi.js.map} +1 -1
- package/dist/chunks/{pk-tab-panel-Q3Pqyq-f.js → pk-tab-panel-DdAbrOBF.js} +1 -1
- package/dist/chunks/{pk-tab-panel-Q3Pqyq-f.js.map → pk-tab-panel-DdAbrOBF.js.map} +1 -1
- package/dist/chunks/{pk-tabs-Cip4nbb7.js → pk-tabs-BhC5PAnO.js} +1 -1
- package/dist/chunks/{pk-tabs-Cip4nbb7.js.map → pk-tabs-BhC5PAnO.js.map} +1 -1
- package/dist/chunks/{pk-time-picker-CZGr2dI2.js → pk-time-picker-RlAqlho4.js} +3 -3
- package/dist/chunks/{pk-time-picker-CZGr2dI2.js.map → pk-time-picker-RlAqlho4.js.map} +1 -1
- package/dist/chunks/{pk-tiptap-content-DAtNbJYC.js → pk-tiptap-content-zzx3-xrD.js} +2 -2
- package/dist/chunks/{pk-tiptap-content-DAtNbJYC.js.map → pk-tiptap-content-zzx3-xrD.js.map} +1 -1
- package/dist/chunks/{pk-tiptap-editor-HemVPILE.js → pk-tiptap-editor-DdWmbZOr.js} +7 -7
- package/dist/chunks/{pk-tiptap-editor-HemVPILE.js.map → pk-tiptap-editor-DdWmbZOr.js.map} +1 -1
- package/dist/chunks/{pk-tiptap-input-CXcYXbRa.js → pk-tiptap-input-D7xj13FY.js} +2 -2
- package/dist/chunks/{pk-tiptap-input-CXcYXbRa.js.map → pk-tiptap-input-D7xj13FY.js.map} +1 -1
- package/dist/chunks/{pk-tooltip-fcUbVGli.js → pk-tooltip-DAq-JZpg.js} +1 -1
- package/dist/chunks/{pk-tooltip-fcUbVGli.js.map → pk-tooltip-DAq-JZpg.js.map} +1 -1
- package/dist/chunks/{register-BCiqL-PO.js → register-C994-xK5.js} +33 -28
- package/dist/chunks/register-C994-xK5.js.map +1 -0
- package/dist/chunks/{register-components-BG_6_v_T.js → register-components-B-qCPFFh.js} +1 -1
- package/dist/chunks/{register-components-BG_6_v_T.js.map → register-components-B-qCPFFh.js.map} +1 -1
- package/dist/chunks/{tiptap.styles-BytOpP0H.js → tiptap.styles-ChAfyVi9.js} +1 -1
- package/dist/chunks/{tiptap.styles-BytOpP0H.js.map → tiptap.styles-ChAfyVi9.js.map} +1 -1
- package/dist/component-registry.d.ts.map +1 -1
- package/dist/components/calendar/pk-calendar.js +1 -1
- package/dist/components/calendar.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/connect/index.d.ts +3 -0
- package/dist/components/connect/index.d.ts.map +1 -0
- package/dist/components/connect/pk-connect-oauth.d.ts +42 -0
- package/dist/components/connect/pk-connect-oauth.d.ts.map +1 -0
- package/dist/components/connect/pk-connect-oauth.js +136 -0
- package/dist/components/connect/pk-connect-oauth.js.map +1 -0
- package/dist/components/connect/pk-connect.d.ts +58 -0
- package/dist/components/connect/pk-connect.d.ts.map +1 -0
- package/dist/components/connect/pk-connect.js +260 -0
- package/dist/components/connect/pk-connect.js.map +1 -0
- package/dist/components/connect/pk-connect.styles.d.ts +8 -0
- package/dist/components/connect/pk-connect.styles.d.ts.map +1 -0
- package/dist/components/connect.d.ts +2 -0
- package/dist/components/connect.js +3 -0
- package/dist/components/copy-button/pk-copy-button.js +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.js +3 -3
- package/dist/components/editable-table/pk-editable-table.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/components/icon/pk-icon.js +4 -0
- package/dist/components/icon/pk-icon.js.map +1 -1
- package/dist/components/popover/pk-popover.js +1 -1
- package/dist/components/popover.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/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/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/tooltip/pk-tooltip.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/connect/register-cp-connect.d.ts +3 -0
- package/dist/connect/register-cp-connect.d.ts.map +1 -0
- package/dist/connect/register-cp-connect.js +40 -0
- package/dist/connect/register-cp-connect.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -32
- package/dist/index.js.map +1 -1
- package/dist/plugin-kit.css +2 -0
- package/dist/plugin-kit.js +2 -2
- 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 +4 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +34 -31
- package/dist/styles/connect/pk-connect.css +231 -0
- package/dist/utilities/fouce.css +2 -0
- package/dist-loader/chunks/{pk-button-CK5FZiwP.js → pk-button-BiR9aCRh.js} +2 -2
- package/dist-loader/chunks/{pk-calendar-CoJWxcxi.js → pk-calendar-Bb6q8opO.js} +3 -3
- package/dist-loader/chunks/{pk-checkbox-CoDX2G3J.js → pk-checkbox-hJCj8In8.js} +2 -2
- package/dist-loader/chunks/{pk-color-input-B73zaGYj.js → pk-color-input-B52sVacS.js} +2 -2
- package/dist-loader/chunks/{pk-combobox-IyQd9a1s.js → pk-combobox-DumNw0gq.js} +11 -11
- package/dist-loader/chunks/pk-connect.styles-C1ICg1bF.js +260 -0
- package/dist-loader/chunks/{pk-date-picker-38hUgJ2-.js → pk-date-picker-Ds8nm8nk.js} +12 -12
- package/dist-loader/chunks/{pk-dialog-DNAhdVbM.js → pk-dialog-CyUKChc9.js} +4 -4
- package/dist-loader/chunks/{pk-dropdown-item-DkZRcPJ5.js → pk-dropdown-item-D2X2L4nu.js} +5 -5
- package/dist-loader/chunks/{pk-dropdown-menu-DsHJ-4Ys.js → pk-dropdown-menu-yOOPMVOg.js} +6 -6
- package/dist-loader/chunks/{pk-field-tDfxz4Fd.js → pk-field-BU3DkBLi.js} +3 -3
- package/dist-loader/chunks/pk-icon-DAnw7wPF.js +47 -0
- package/dist-loader/chunks/{pk-input-88DVgoVz.js → pk-input-BupRMhK1.js} +6 -6
- package/dist-loader/chunks/{pk-lightswitch-BHEOy7aK.js → pk-lightswitch-C86ABIv3.js} +4 -4
- package/dist-loader/chunks/{pk-option-vh8UvSAI.js → pk-option-DN_AHNmh.js} +2 -2
- package/dist-loader/chunks/{pk-popup-BYFbKaHH.js → pk-popup-Cfj3YNEC.js} +2 -2
- package/dist-loader/chunks/{pk-select-ClUdE4yB.js → pk-select-BzTTYknK.js} +11 -11
- package/dist-loader/chunks/pk-status-BFpjCym0.js +89 -0
- package/dist-loader/chunks/{pk-textarea-LC_CPUav.js → pk-textarea-BrRPLWsG.js} +4 -4
- package/dist-loader/chunks/{pk-time-picker-Bc6UkCYG.js → pk-time-picker-DpRBAHVK.js} +4 -4
- package/dist-loader/chunks/{pk-tooltip-DRU95AZ6.js → pk-tooltip-D6Slr-A6.js} +3 -3
- package/dist-loader/chunks/{render-BCU9WDSk.js → render-Niz5wYRa.js} +1 -1
- package/dist-loader/chunks/{svg-BCGsRUz7.js → svg-_Mtb7CHx.js} +85 -29
- package/dist-loader/chunks/{tiptap-_LAjdgeV.js → tiptap-Db7MTUH1.js} +1 -1
- package/dist-loader/chunks/{tiptap.styles-gpE_nQ_B.js → tiptap.styles-mxwZHY1l.js} +1 -1
- package/dist-loader/components/button/button.js +1 -1
- package/dist-loader/components/button-group/button-group-text.js +1 -1
- 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 +1 -1
- package/dist-loader/components/code-editor/code-editor.js +2 -2
- 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 +132 -0
- package/dist-loader/components/connect/connect.js +256 -0
- package/dist-loader/components/copy-button/copy-button.js +3 -3
- 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-menu.js +1 -1
- package/dist-loader/components/editable-table/editable-table.js +19 -23
- package/dist-loader/components/field/field.js +1 -1
- package/dist-loader/components/icon/icon.js +3 -43
- package/dist-loader/components/input/input.js +1 -1
- package/dist-loader/components/input-group/input-group.js +1 -1
- package/dist-loader/components/lightswitch/lightswitch.js +1 -1
- package/dist-loader/components/popover/popover.js +6 -6
- package/dist-loader/components/popup/popup.js +1 -1
- package/dist-loader/components/radio-group/radio-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/status/status.js +1 -88
- 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 +2 -2
- package/dist-loader/components/tiptap/tiptap-editor.js +13 -13
- package/dist-loader/components/tiptap/tiptap-input.js +3 -3
- package/dist-loader/components/toggle/toggle.js +1 -1
- package/dist-loader/components/tooltip/tooltip.js +1 -1
- package/dist-loader/plugin-kit.css +2 -0
- package/dist-loader/plugin-kit.loader.js +4 -0
- package/dist-loader/styles/connect/pk-connect.css +231 -0
- package/dist-loader/utilities/fouce.css +2 -0
- package/package.json +52 -7
- package/dist/chunks/component-registry-BOlxFlou.js.map +0 -1
- package/dist/chunks/pk-editable-table-sZO9JwiR.js.map +0 -1
- package/dist/chunks/register-BCiqL-PO.js.map +0 -1
- /package/dist-loader/chunks/{animate-with-class-B2hHgK5M.js → animate-with-class-DT0jwaR_.js} +0 -0
- /package/dist-loader/chunks/{button-group-item.styles-BNc-ksl1.js → button-group-item.styles-Dwakbyx5.js} +0 -0
- /package/dist-loader/chunks/{codemirror-CHXb-wYU.js → codemirror-CSgOT0QM.js} +0 -0
- /package/dist-loader/chunks/{field-labels-Vo3wHq49.js → field-labels-D3lKQ2nq.js} +0 -0
- /package/dist-loader/chunks/{floating-ui-BTBNFWAR.js → floating-ui-DU6GNott.js} +0 -0
- /package/dist-loader/chunks/{has-slot-BZDcCpf9.js → has-slot-BGJeJdHr.js} +0 -0
- /package/dist-loader/chunks/{mirror-validator-DEz3BsbN.js → mirror-validator-C5XrXPaq.js} +0 -0
- /package/dist-loader/chunks/{overlay-lifecycle-BG4QMRLw.js → overlay-lifecycle-C3tSQ3UR.js} +0 -0
- /package/dist-loader/chunks/{pk-clear-BRS8vkV-.js → pk-clear-BMZUzwDt.js} +0 -0
- /package/dist-loader/chunks/{popup-content-animation.styles-C9ffC35f.js → popup-content-animation.styles-S6CK-zPp.js} +0 -0
- /package/dist-loader/chunks/{popup-placement-animation-BPjq650B.js → popup-placement-animation-WlEXnS85.js} +0 -0
- /package/dist-loader/chunks/{popup-pointer-BTS3Y6LE.js → popup-pointer-caPc8kwB.js} +0 -0
- /package/dist-loader/chunks/{required-validator-DXqqPVeW.js → required-validator-0XwZtX9k.js} +0 -0
- /package/dist-loader/chunks/{sync-listbox-separators-CT3oGzTf.js → sync-listbox-separators-Dk_E_IVa.js} +0 -0
|
@@ -34,50 +34,53 @@ import { t as PkToggleGroup } from "./pk-toggle-group-CWDwYlgR.js";
|
|
|
34
34
|
import "../components/toggle-group.js";
|
|
35
35
|
import { t as PkLightswitch } from "./pk-lightswitch-B-rLflNq.js";
|
|
36
36
|
import "../components/lightswitch.js";
|
|
37
|
-
import { t as
|
|
37
|
+
import { t as PkDialog } from "./pk-dialog-B23Rbh5j.js";
|
|
38
|
+
import { PkIcon } from "../components/icon/pk-icon.js";
|
|
39
|
+
import { PkConnect } from "../components/connect/pk-connect.js";
|
|
40
|
+
import { PkConnectOauth } from "../components/connect/pk-connect-oauth.js";
|
|
41
|
+
import "../components/connect.js";
|
|
42
|
+
import { t as PkCopyButton } from "./pk-copy-button-CfeVuQ0r.js";
|
|
38
43
|
import "../components/copy-button.js";
|
|
39
|
-
import { t as PkDialog } from "./pk-dialog-BXJr3iEo.js";
|
|
40
44
|
import "../components/dialog.js";
|
|
41
|
-
import { t as PkDropdownItem } from "./pk-dropdown-item-
|
|
42
|
-
import { t as PkDropdownMenu } from "./pk-dropdown-menu-
|
|
43
|
-
import { t as PkDropdownLabel } from "./pk-dropdown-label-
|
|
45
|
+
import { t as PkDropdownItem } from "./pk-dropdown-item-HcIUlFH1.js";
|
|
46
|
+
import { t as PkDropdownMenu } from "./pk-dropdown-menu-r5wgkvmZ.js";
|
|
47
|
+
import { t as PkDropdownLabel } from "./pk-dropdown-label-DLgrmYND.js";
|
|
44
48
|
import { PkDropdownSeparator } from "../components/dropdown-menu/pk-dropdown-separator.js";
|
|
45
49
|
import "../components/dropdown-menu.js";
|
|
46
|
-
import { t as PkColorInput } from "./pk-color-input-
|
|
47
|
-
import { t as PkCalendar } from "./pk-calendar-
|
|
48
|
-
import { t as PkDatePicker } from "./pk-date-picker-
|
|
49
|
-
import { t as PkOption } from "./pk-option-
|
|
50
|
-
import { t as PkSelect } from "./pk-select-
|
|
51
|
-
import { t as PkTimePicker } from "./pk-time-picker-
|
|
52
|
-
import { t as PkEditableTable } from "./pk-editable-table-
|
|
53
|
-
import { t as PkField } from "./pk-field-
|
|
50
|
+
import { t as PkColorInput } from "./pk-color-input-BCCXCZMA.js";
|
|
51
|
+
import { t as PkCalendar } from "./pk-calendar-CoUil0F7.js";
|
|
52
|
+
import { t as PkDatePicker } from "./pk-date-picker-BM4HMb4-.js";
|
|
53
|
+
import { t as PkOption } from "./pk-option-Cy7oOcwF.js";
|
|
54
|
+
import { t as PkSelect } from "./pk-select-BeMDXEC6.js";
|
|
55
|
+
import { t as PkTimePicker } from "./pk-time-picker-RlAqlho4.js";
|
|
56
|
+
import { t as PkEditableTable } from "./pk-editable-table-DQZQ6JLb.js";
|
|
57
|
+
import { t as PkField } from "./pk-field-JFP24j4o.js";
|
|
54
58
|
import "../components/field.js";
|
|
55
|
-
import {
|
|
56
|
-
import { t as PkPopover } from "./pk-popover-CVvwXMld.js";
|
|
59
|
+
import { t as PkPopover } from "./pk-popover-G3ojheBD.js";
|
|
57
60
|
import "../components/popover.js";
|
|
58
61
|
import "../components/popup.js";
|
|
59
|
-
import { t as PkTooltip } from "./pk-tooltip-
|
|
62
|
+
import { t as PkTooltip } from "./pk-tooltip-DAq-JZpg.js";
|
|
60
63
|
import "../components/tooltip.js";
|
|
61
|
-
import { t as PkRadio } from "./pk-radio-
|
|
62
|
-
import { t as PkRadioGroup } from "./pk-radio-group-
|
|
64
|
+
import { t as PkRadio } from "./pk-radio-CDfhOW8L.js";
|
|
65
|
+
import { t as PkRadioGroup } from "./pk-radio-group-BazmLDvl.js";
|
|
63
66
|
import "../components/radio-group.js";
|
|
64
|
-
import { t as PkTab } from "./pk-tab-
|
|
65
|
-
import { t as PkTabHeading } from "./pk-tab-heading-
|
|
66
|
-
import { t as PkTabPanel } from "./pk-tab-panel-
|
|
67
|
-
import { t as PkTabs } from "./pk-tabs-
|
|
67
|
+
import { t as PkTab } from "./pk-tab-f1OLMVXs.js";
|
|
68
|
+
import { t as PkTabHeading } from "./pk-tab-heading-79ZuLhXi.js";
|
|
69
|
+
import { t as PkTabPanel } from "./pk-tab-panel-DdAbrOBF.js";
|
|
70
|
+
import { t as PkTabs } from "./pk-tabs-BhC5PAnO.js";
|
|
68
71
|
import "../components/tabs.js";
|
|
69
|
-
import { t as PkScrollArea } from "./pk-scroll-area-
|
|
72
|
+
import { t as PkScrollArea } from "./pk-scroll-area-BjU7-vZX.js";
|
|
70
73
|
import "../components/scroll-area.js";
|
|
71
74
|
import "../components/color-input.js";
|
|
72
75
|
import "../components/calendar.js";
|
|
73
76
|
import "../components/date-picker.js";
|
|
74
|
-
import { t as PkOptionGroup } from "./pk-option-group-
|
|
77
|
+
import { t as PkOptionGroup } from "./pk-option-group-BAFSIZTa.js";
|
|
75
78
|
import "../components/select.js";
|
|
76
79
|
import "../components/time-picker.js";
|
|
77
80
|
import "../components/spinner.js";
|
|
78
|
-
import { t as PkTiptapContent } from "./pk-tiptap-content-
|
|
79
|
-
import { t as PkTiptapEditor } from "./pk-tiptap-editor-
|
|
80
|
-
import { t as PkTiptapInput } from "./pk-tiptap-input-
|
|
81
|
+
import { t as PkTiptapContent } from "./pk-tiptap-content-zzx3-xrD.js";
|
|
82
|
+
import { t as PkTiptapEditor } from "./pk-tiptap-editor-DdWmbZOr.js";
|
|
83
|
+
import { t as PkTiptapInput } from "./pk-tiptap-input-D7xj13FY.js";
|
|
81
84
|
import "@verbb/plugin-kit-icons/all.js";
|
|
82
85
|
//#region src/register.ts
|
|
83
86
|
var COMPONENTS = [
|
|
@@ -130,6 +133,8 @@ var COMPONENTS = [
|
|
|
130
133
|
["pk-calendar", PkCalendar],
|
|
131
134
|
["pk-date-picker", PkDatePicker],
|
|
132
135
|
["pk-combobox", PkCombobox],
|
|
136
|
+
["pk-connect", PkConnect],
|
|
137
|
+
["pk-connect-oauth", PkConnectOauth],
|
|
133
138
|
["pk-time-picker", PkTimePicker],
|
|
134
139
|
["pk-copy-button", PkCopyButton]
|
|
135
140
|
];
|
|
@@ -140,4 +145,4 @@ function registerAll() {
|
|
|
140
145
|
//#endregion
|
|
141
146
|
export { registerAll as t };
|
|
142
147
|
|
|
143
|
-
//# sourceMappingURL=register-
|
|
148
|
+
//# sourceMappingURL=register-C994-xK5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-C994-xK5.js","names":[],"sources":["../../src/register.ts"],"sourcesContent":["// Full-library path: every curated glyph is available to `<pk-icon icon=\"…\">`.\nimport '@verbb/plugin-kit-icons/all.js';\n\nimport { PkButton } from './components/button/pk-button.js';\nimport { PkButtonGroup } from './components/button-group/pk-button-group.js';\nimport { PkButtonGroupSeparator } from './components/button-group/pk-button-group-separator.js';\nimport { PkButtonGroupText } from './components/button-group/pk-button-group-text.js';\nimport { PkCheckbox } from './components/checkbox/pk-checkbox.js';\nimport { PkCheckboxSelect } from './components/checkbox-select/pk-checkbox-select.js';\nimport { PkCodeEditor } from './components/code-editor/pk-code-editor.js';\nimport { PkColorInput } from './components/color-input/pk-color-input.js';\nimport { PkCalendar } from './components/calendar/pk-calendar.js';\nimport { PkDatePicker } from './components/date-picker/pk-date-picker.js';\nimport { PkCombobox } from './components/combobox/pk-combobox.js';\nimport { PkConnect } from './components/connect/pk-connect.js';\nimport { PkConnectOauth } from './components/connect/pk-connect-oauth.js';\nimport { PkCopyButton } from './components/copy-button/pk-copy-button.js';\nimport { PkDialog } from './components/dialog/pk-dialog.js';\nimport { PkDropdownLabel } from './components/dropdown-menu/pk-dropdown-label.js';\nimport { PkDropdownMenu } from './components/dropdown-menu/pk-dropdown-menu.js';\nimport { PkDropdownItem } from './components/dropdown-menu/pk-dropdown-item.js';\nimport { PkDropdownSeparator } from './components/dropdown-menu/pk-dropdown-separator.js';\nimport { PkEditableTable } from './components/editable-table/pk-editable-table.js';\nimport { PkField } from './components/field/pk-field.js';\nimport { PkIcon } from './components/icon/pk-icon.js';\nimport { PkInput } from './components/input/pk-input.js';\nimport { PkInputGroup } from './components/input-group/pk-input-group.js';\nimport { PkInputGroupAddon } from './components/input-group/pk-input-group-addon.js';\nimport { PkInputGroupButton } from './components/input-group/pk-input-group-button.js';\nimport { PkInputGroupInput } from './components/input-group/pk-input-group-input.js';\nimport { PkInputGroupText } from './components/input-group/pk-input-group-text.js';\nimport { PkInputGroupTextarea } from './components/input-group/pk-input-group-textarea.js';\nimport { PkLightswitch } from './components/lightswitch/pk-lightswitch.js';\nimport { PkOption } from './components/select/pk-option.js';\nimport { PkOptionGroup } from './components/select/pk-option-group.js';\nimport { PkPopover } from './components/popover/pk-popover.js';\nimport { PkPopup } from './components/popup/pk-popup.js';\nimport { PkRadio } from './components/radio-group/pk-radio.js';\nimport { PkRadioGroup } from './components/radio-group/pk-radio-group.js';\nimport { PkScrollArea } from './components/scroll-area/pk-scroll-area.js';\nimport { PkSelect } from './components/select/pk-select.js';\nimport { PkSeparator } from './components/separator/pk-separator.js';\nimport { PkSpinner } from './components/spinner/pk-spinner.js';\nimport { PkStatus } from './components/status/pk-status.js';\nimport { PkTab } from './components/tabs/pk-tab.js';\nimport { PkTabHeading } from './components/tabs/pk-tab-heading.js';\nimport { PkTabPanel } from './components/tabs/pk-tab-panel.js';\nimport { PkTabs } from './components/tabs/pk-tabs.js';\nimport { PkTextarea } from './components/textarea/pk-textarea.js';\nimport { PkTiptapContent } from './components/tiptap/pk-tiptap-content.js';\nimport { PkTiptapEditor } from './components/tiptap/pk-tiptap-editor.js';\nimport { PkTiptapInput } from './components/tiptap/pk-tiptap-input.js';\nimport { PkTimePicker } from './components/time-picker/pk-time-picker.js';\nimport { PkToggle } from './components/toggle/pk-toggle.js';\nimport { PkToggleGroup } from './components/toggle-group/pk-toggle-group.js';\nimport { PkTooltip } from './components/tooltip/pk-tooltip.js';\n\nexport * from './components/button/index.js';\nexport * from './components/button-group/index.js';\nexport * from './components/checkbox/index.js';\nexport * from './components/checkbox-select/index.js';\nexport * from './components/input/index.js';\nexport * from './components/input-group/index.js';\nexport * from './components/textarea/index.js';\nexport * from './components/separator/index.js';\nexport * from './components/status/index.js';\nexport * from './components/toggle/index.js';\nexport * from './components/toggle-group/index.js';\nexport * from './components/lightswitch/index.js';\nexport * from './components/connect/index.js';\nexport * from './components/copy-button/index.js';\nexport * from './components/dialog/index.js';\nexport * from './components/dropdown-menu/index.js';\nexport * from './components/field/index.js';\nexport * from './components/popover/index.js';\nexport * from './components/popup/index.js';\nexport * from './components/tooltip/index.js';\nexport * from './components/radio-group/index.js';\nexport * from './components/tabs/index.js';\nexport * from './components/scroll-area/index.js';\nexport * from './components/color-input/index.js';\nexport * from './components/code-editor/index.js';\nexport * from './components/calendar/index.js';\nexport * from './components/date-picker/index.js';\nexport * from './components/select/index.js';\nexport * from './components/spinner/index.js';\nexport * from './components/time-picker/index.js';\nexport * from './components/tiptap/index.js';\n\nexport {\n PkButton,\n PkButtonGroup,\n PkButtonGroupSeparator,\n PkButtonGroupText,\n PkCheckbox,\n PkCheckboxSelect,\n PkColorInput,\n PkCodeEditor,\n PkCalendar,\n PkDatePicker,\n PkCombobox,\n PkConnect,\n PkConnectOauth,\n PkCopyButton,\n PkDialog,\n PkDropdownMenu,\n PkDropdownItem,\n PkDropdownSeparator,\n PkEditableTable,\n PkField,\n PkIcon,\n PkInput,\n PkInputGroup,\n PkInputGroupAddon,\n PkInputGroupButton,\n PkInputGroupInput,\n PkInputGroupText,\n PkInputGroupTextarea,\n PkLightswitch,\n PkOption,\n PkOptionGroup,\n PkPopover,\n PkPopup,\n PkRadio,\n PkRadioGroup,\n PkScrollArea,\n PkSelect,\n PkSeparator,\n PkSpinner,\n PkStatus,\n PkTab,\n PkTabPanel,\n PkTabs,\n PkTextarea,\n PkTimePicker,\n PkTiptapContent,\n PkTiptapEditor,\n PkTiptapInput,\n PkToggle,\n PkToggleGroup,\n PkTooltip,\n};\n\nconst COMPONENTS: [string, CustomElementConstructor][] = [\n ['pk-spinner', PkSpinner],\n ['pk-icon', PkIcon],\n ['pk-button', PkButton],\n ['pk-checkbox', PkCheckbox],\n ['pk-checkbox-select', PkCheckboxSelect],\n ['pk-color-input', PkColorInput],\n ['pk-code-editor', PkCodeEditor],\n ['pk-input', PkInput],\n ['pk-input-group', PkInputGroup],\n ['pk-input-group-addon', PkInputGroupAddon],\n ['pk-input-group-button', PkInputGroupButton],\n ['pk-input-group-input', PkInputGroupInput],\n ['pk-input-group-text', PkInputGroupText],\n ['pk-input-group-textarea', PkInputGroupTextarea],\n ['pk-textarea', PkTextarea],\n ['pk-tiptap-editor', PkTiptapEditor],\n ['pk-tiptap-input', PkTiptapInput],\n ['pk-tiptap-content', PkTiptapContent],\n ['pk-field', PkField],\n ['pk-separator', PkSeparator],\n ['pk-status', PkStatus],\n ['pk-toggle', PkToggle],\n ['pk-toggle-group', PkToggleGroup],\n ['pk-lightswitch', PkLightswitch],\n ['pk-button-group', PkButtonGroup],\n ['pk-button-group-separator', PkButtonGroupSeparator],\n ['pk-button-group-text', PkButtonGroupText],\n ['pk-dialog', PkDialog],\n ['pk-popup', PkPopup],\n ['pk-dropdown-label', PkDropdownLabel],\n ['pk-dropdown-item', PkDropdownItem],\n ['pk-dropdown-separator', PkDropdownSeparator],\n ['pk-dropdown-menu', PkDropdownMenu],\n ['pk-editable-table', PkEditableTable],\n ['pk-popover', PkPopover],\n ['pk-tooltip', PkTooltip],\n ['pk-radio', PkRadio],\n ['pk-radio-group', PkRadioGroup],\n ['pk-tab', PkTab],\n ['pk-tab-heading', PkTabHeading],\n ['pk-tab-panel', PkTabPanel],\n ['pk-tabs', PkTabs],\n ['pk-scroll-area', PkScrollArea],\n ['pk-option', PkOption],\n ['pk-option-group', PkOptionGroup],\n ['pk-select', PkSelect],\n ['pk-calendar', PkCalendar],\n ['pk-date-picker', PkDatePicker],\n ['pk-combobox', PkCombobox],\n ['pk-connect', PkConnect],\n ['pk-connect-oauth', PkConnectOauth],\n ['pk-time-picker', PkTimePicker],\n ['pk-copy-button', PkCopyButton],\n];\n\n/** Side-effect registration for all Plugin Kit web components. */\nexport function registerAll(): void {\n for (const [tag, ctor] of COMPONENTS) {\n if (!customElements.get(tag)) {\n customElements.define(tag, ctor);\n }\n }\n}\n\nexport {\n createRegisterComponents,\n type PkComponentTag,\n} from './register-components.js';\n\nexport { BUNDLER_TAG_IMPORT_PATHS as componentImportPaths } from './component-registry.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IA,IAAM,aAAmD;CACrD,CAAC,cAAc,UAAU;CACzB,CAAC,WAAW,OAAO;CACnB,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,sBAAsB,iBAAiB;CACxC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CAChC,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,yBAAyB,mBAAmB;CAC7C,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,uBAAuB,iBAAiB;CACzC,CAAC,2BAA2B,qBAAqB;CACjD,CAAC,eAAe,WAAW;CAC3B,CAAC,oBAAoB,eAAe;CACpC,CAAC,mBAAmB,cAAc;CAClC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,YAAY,QAAQ;CACrB,CAAC,gBAAgB,YAAY;CAC7B,CAAC,aAAa,SAAS;CACvB,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,kBAAkB,cAAc;CACjC,CAAC,mBAAmB,cAAc;CAClC,CAAC,6BAA6B,uBAAuB;CACrD,CAAC,wBAAwB,kBAAkB;CAC3C,CAAC,aAAa,SAAS;CACvB,CAAC,YAAY,QAAQ;CACrB,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,oBAAoB,eAAe;CACpC,CAAC,yBAAyB,oBAAoB;CAC9C,CAAC,oBAAoB,eAAe;CACpC,CAAC,qBAAqB,gBAAgB;CACtC,CAAC,cAAc,UAAU;CACzB,CAAC,cAAc,UAAU;CACzB,CAAC,YAAY,QAAQ;CACrB,CAAC,kBAAkB,aAAa;CAChC,CAAC,UAAU,MAAM;CACjB,CAAC,kBAAkB,aAAa;CAChC,CAAC,gBAAgB,WAAW;CAC5B,CAAC,WAAW,OAAO;CACnB,CAAC,kBAAkB,aAAa;CAChC,CAAC,aAAa,SAAS;CACvB,CAAC,mBAAmB,cAAc;CAClC,CAAC,aAAa,SAAS;CACvB,CAAC,eAAe,WAAW;CAC3B,CAAC,kBAAkB,aAAa;CAChC,CAAC,eAAe,WAAW;CAC3B,CAAC,cAAc,UAAU;CACzB,CAAC,oBAAoB,eAAe;CACpC,CAAC,kBAAkB,aAAa;CAChC,CAAC,kBAAkB,aAAa;CACnC;;AAGD,SAAgB,cAAoB;AAChC,MAAK,MAAM,CAAC,KAAK,SAAS,WACtB,KAAI,CAAC,eAAe,IAAI,IAAI,CACxB,gBAAe,OAAO,KAAK,KAAK"}
|
package/dist/chunks/{register-components-BG_6_v_T.js.map → register-components-B-qCPFFh.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-components-
|
|
1
|
+
{"version":3,"file":"register-components-B-qCPFFh.js","names":[],"sources":["../../src/create-register-components.ts"],"sourcesContent":["/**\n * Tiny helper for building a local async registrar from an explicit loader map.\n * Prefer short family side-effect imports for Craft CP bundles:\n * `import '@verbb/plugin-kit-web/components/button.js'`.\n */\nexport function createRegisterComponents<T extends string>(\n loaders: Record<T, () => Promise<unknown>>,\n): (tags: readonly T[]) => Promise<void> {\n return async (tags) => {\n await Promise.all(tags.map((tag) => loaders[tag]()));\n };\n}\n"],"mappings":";;;;;;AAKA,SAAgB,yBACZ,SACqC;AACrC,QAAO,OAAO,SAAS;AACnB,QAAM,QAAQ,IAAI,KAAK,KAAK,QAAQ,QAAQ,MAAM,CAAC,CAAC"}
|
|
@@ -460,4 +460,4 @@ var tiptapContentProseMirrorStyles = css`
|
|
|
460
460
|
//#endregion
|
|
461
461
|
export { createVariableTagDomNodeView as i, tiptapInputProseMirrorStyles as n, tiptapProseMirrorStyles as r, tiptapContentProseMirrorStyles as t };
|
|
462
462
|
|
|
463
|
-
//# sourceMappingURL=tiptap.styles-
|
|
463
|
+
//# sourceMappingURL=tiptap.styles-ChAfyVi9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiptap.styles-BytOpP0H.js","names":[],"sources":["../../src/components/tiptap/variable-tag-node-view.ts","../../src/components/tiptap/tiptap.styles.ts"],"sourcesContent":["import type { Editor, NodeViewRenderer, NodeViewRendererProps } from '@tiptap/core';\nimport type { Node as ProseMirrorNode } from '@tiptap/pm/model';\nimport { uniqueId } from '../../a11y/focus.js';\n\n/** Match kit v1 VariableTagView chip chrome (indigo + remove). */\nconst REMOVE_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M2.1 1.4 5 4.3l2.9-2.9.7.7L5.7 5l2.9 2.9-.7.7L5 5.7l-2.9 2.9-.7-.7L4.3 5 1.4 2.1z\"/>\n</svg>\n`.trim();\n\nexport const PK_VARIABLE_TAG_CONFIGURE_EVENT = 'pk-variable-tag-configure';\n\nexport type PkVariableTagConfigureDetail = {\n editor: Editor;\n anchor: HTMLElement;\n attrs: Record<string, unknown>;\n getPos: () => number | undefined;\n updateAttributes: (attributes: Record<string, unknown>) => void;\n deleteNode: () => void;\n};\n\nconst findTiptapHost = (viewDom: HTMLElement): HTMLElement | null => {\n let node: Node | null = viewDom;\n while (node) {\n if (node instanceof HTMLElement && node.localName.startsWith('pk-tiptap')) {\n return node;\n }\n\n node = node.parentNode instanceof ShadowRoot\n ? node.parentNode.host\n : node.parentNode;\n }\n\n return null;\n};\n\nconst emitConfigure = (\n editor: Editor,\n detail: PkVariableTagConfigureDetail,\n) => {\n const viewDom = editor.view.dom;\n const host = findTiptapHost(viewDom);\n\n // Preferred bridge for React/Formie: property callback on <pk-tiptap-*>.\n const configure = host && 'variableTagConfigure' in host\n ? (host as HTMLElement & {\n variableTagConfigure?: ((detail: PkVariableTagConfigureDetail) => void) | null;\n }).variableTagConfigure\n : null;\n\n if (typeof configure === 'function') {\n configure(detail);\n }\n\n // Composed event is the reliable Formie path (document capture listener).\n const target = host ?? viewDom;\n target.dispatchEvent(new CustomEvent(PK_VARIABLE_TAG_CONFIGURE_EVENT, {\n bubbles: true,\n composed: true,\n detail,\n }));\n};\n\n/**\n * DOM NodeViewRendererProps do NOT include React's `deleteNode` / `updateAttributes`\n * (those live on NodeViewProps for ReactNodeViewRenderer only). Build them from\n * editor + getPos — same operations ReactNodeViewRenderer wires for VariableTagView.\n */\nfunction createNodeViewCommands(\n editor: Editor,\n getPos: NodeViewRendererProps['getPos'],\n) {\n const resolvePos = (): number | undefined => {\n const pos = typeof getPos === 'function' ? getPos() : getPos;\n return typeof pos === 'number' ? pos : undefined;\n };\n\n const deleteNode = () => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .focus()\n .deleteRange({ from: pos, to: pos + live.nodeSize })\n .run();\n };\n\n const updateAttributes = (attributes: Record<string, unknown>) => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .command(({ tr, dispatch }) => {\n if (dispatch) {\n tr.setNodeMarkup(pos, undefined, {\n ...live.attrs,\n ...attributes,\n });\n }\n return true;\n })\n .run();\n };\n\n return { deleteNode, updateAttributes, resolvePos };\n}\n\n/**\n * DOM node view for variable tags in vanilla editors.\n * Chip + remove match kit v1; configure UI is opened via `pk-variable-tag-configure`\n * (Formie mounts the edit overlay beside the WC editor).\n */\nexport function createVariableTagDomNodeView(): NodeViewRenderer {\n return (props) => {\n const { editor, getPos } = props;\n const { deleteNode, updateAttributes, resolvePos } = createNodeViewCommands(editor, getPos);\n\n let currentNode: ProseMirrorNode = props.node;\n\n const syncUnresolvedPresentation = (attrs: Record<string, unknown>) => {\n const unresolved = Boolean(attrs.unresolved);\n const token = String(attrs.value ?? '');\n const chipLabel = String(attrs.label || attrs.value || '');\n\n dom.classList.toggle('pk-variable-tag--unresolved', unresolved);\n if (unresolved) {\n dom.dataset.unresolved = 'true';\n // Hover: prompt to fix + keep the raw token for support/debug.\n dom.title = token\n ? `Unknown or missing reference — ${token}`\n : 'Unknown or missing reference';\n label.setAttribute('aria-invalid', 'true');\n } else {\n delete dom.dataset.unresolved;\n dom.removeAttribute('title');\n label.removeAttribute('aria-invalid');\n }\n\n label.textContent = chipLabel;\n };\n\n const dom = document.createElement('span');\n dom.className = 'pk-variable-tag';\n dom.id = uniqueId('pk-variable-tag');\n dom.setAttribute('contenteditable', 'false');\n // Do NOT set draggable=true permanently — HTML5-draggable hosts suppress click,\n // which kills configure. ProseMirror sets draggable temporarily on mousedown drag.\n // TipTap React node views use data-drag-handle on a TipTap NodeView class; keep the\n // attr for parity, but drag itself is PM's selectable+draggable atom behavior.\n dom.setAttribute('data-drag-handle', '');\n dom.dataset.label = String(currentNode.attrs.label ?? '');\n dom.dataset.variableValue = String(currentNode.attrs.value ?? '');\n\n // Match kit v1 VariableTagView: real button for activate.\n const label = document.createElement('button');\n label.type = 'button';\n label.className = 'pk-variable-tag__label';\n label.draggable = false;\n dom.append(label);\n syncUnresolvedPresentation(currentNode.attrs);\n\n let removeButton: HTMLButtonElement | null = null;\n let openOnInsertHandled = false;\n let openedAt = 0;\n\n const readLiveAttrs = () => {\n const pos = resolvePos();\n if (typeof pos === 'number') {\n const live = editor.state.doc.nodeAt(pos);\n if (live?.type.name === 'variableTag') {\n return { ...live.attrs };\n }\n }\n\n return { ...currentNode.attrs };\n };\n\n const openConfigure = () => {\n if (!editor.isEditable) {\n return;\n }\n\n // Dedupe repeated emits from nested handlers / openOnInsert.\n const now = Date.now();\n if (now - openedAt < 300) {\n return;\n }\n openedAt = now;\n\n // Strip any HTML5-draggable PM may have armed so configure stays clickable\n // after this interaction (draggable hosts suppress subsequent clicks).\n dom.removeAttribute('draggable');\n\n emitConfigure(editor, {\n editor,\n anchor: dom,\n attrs: readLiveAttrs(),\n getPos: resolvePos,\n updateAttributes,\n deleteNode,\n });\n };\n\n // Open on pointerdown — before ProseMirror can arm HTML5 drag on the atom.\n label.addEventListener('pointerdown', (event) => {\n if (event.button !== 0) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n label.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n\n const syncRemoveButton = (editable: boolean) => {\n if (editable) {\n if (removeButton) {\n return;\n }\n\n removeButton = document.createElement('button');\n removeButton.type = 'button';\n removeButton.className = 'pk-variable-tag__remove';\n removeButton.setAttribute('aria-label', 'Remove');\n removeButton.draggable = false;\n removeButton.innerHTML = REMOVE_ICON;\n removeButton.addEventListener('pointerdown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n });\n removeButton.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n deleteNode();\n });\n dom.append(removeButton);\n return;\n }\n\n removeButton?.remove();\n removeButton = null;\n };\n\n syncRemoveButton(editor.isEditable);\n\n if (currentNode.attrs.openOnInsert && editor.isEditable && !openOnInsertHandled) {\n openOnInsertHandled = true;\n queueMicrotask(() => {\n updateAttributes({ openOnInsert: false });\n openConfigure();\n });\n }\n\n return {\n dom,\n // TipTap React node views stop PM from handling events inside the chip —\n // that prevents `draggable=true` arming, which otherwise kills configure.\n // Drag still works via outer NodeSelection + data-drag-handle when the\n // pointer starts on the chip chrome (not the label/remove controls).\n stopEvent: (event) => {\n const target = event.target as Node | null;\n if (!(target instanceof Element)) {\n return false;\n }\n\n return Boolean(\n target.closest('.pk-variable-tag__label')\n || target.closest('.pk-variable-tag__remove'),\n );\n },\n selectNode: () => {\n dom.classList.add('ProseMirror-selectednode');\n // Never keep HTML5-draggable while selected — it suppresses clicks.\n dom.removeAttribute('draggable');\n },\n deselectNode: () => {\n dom.classList.remove('ProseMirror-selectednode');\n dom.removeAttribute('draggable');\n },\n update(updatedNode) {\n if (updatedNode.type.name !== 'variableTag') {\n return false;\n }\n\n currentNode = updatedNode;\n dom.dataset.label = String(updatedNode.attrs.label ?? '');\n dom.dataset.variableValue = String(updatedNode.attrs.value ?? '');\n syncUnresolvedPresentation(updatedNode.attrs);\n syncRemoveButton(editor.isEditable);\n return true;\n },\n };\n };\n}\n","import { css } from 'lit';\n\n/**\n * Indigo chip matching kit v1 VariableTagView (`bg-[#5C6BC0] text-white rounded-[2px]`).\n * Shared by rich editor + single-line input ProseMirror hosts.\n */\nconst variableTagStyles = css`\n .pk-variable-tag {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n max-width: 100%;\n margin-inline: 1px;\n margin-block-start: -3px;\n padding: 0;\n border-radius: 2px;\n background: #5c6bc0;\n color: #fff;\n font-size: 11px;\n font-weight: 400;\n line-height: 1;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n cursor: default;\n box-sizing: border-box;\n }\n\n /* Unresolved / missing reference — muted grey (not alarm yellow). */\n .pk-variable-tag--unresolved {\n background: var(--pk-color-gray-100, #f3f4f6);\n color: var(--pk-color-gray-600, #4b5563);\n box-shadow: inset 0 0 0 1px var(--pk-color-gray-300, #d1d5db);\n }\n\n .pk-variable-tag--unresolved.ProseMirror-selectednode {\n box-shadow:\n inset 0 0 0 1px var(--pk-color-gray-400, #9ca3af),\n 0 0 0 2px rgba(156, 163, 175, 0.45);\n }\n\n .pk-variable-tag.ProseMirror-selectednode {\n outline: none;\n box-shadow: 0 0 0 2px rgba(123, 140, 232, 0.5);\n }\n\n .pk-variable-tag__label {\n display: inline-flex;\n align-items: center;\n max-width: 220px;\n margin: 0;\n padding: 4px 5px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-size: inherit;\n line-height: inherit;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n user-select: none;\n }\n\n .pk-variable-tag__remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n margin: 0;\n padding: 4px 5px 4px 4px;\n border: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n line-height: 0;\n appearance: none;\n }\n\n .pk-variable-tag__remove svg {\n display: block;\n width: 10px;\n height: 10px;\n pointer-events: none;\n }\n`;\n\nexport const tiptapProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n min-height: 2rem;\n padding: 1rem;\n background: rgb(251, 252, 254);\n /* Craft CP body text (~gray-700), not gray-900. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n /* Match pk-input / body (14px). sm (13px) matched field instructions and looked undersized vs v1. */\n font-size: var(--pk-font-size-base);\n line-height: 1.5;\n white-space: pre-wrap;\n box-sizing: border-box;\n }\n\n .ProseMirror p {\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror p:last-child {\n margin-bottom: 0;\n }\n\n .ProseMirror h1 {\n font-size: 1.25rem;\n font-weight: 700;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h2 {\n font-size: 1.125rem;\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h3,\n .ProseMirror h4,\n .ProseMirror h5,\n .ProseMirror h6 {\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror a {\n color: var(--pk-color-blue-600);\n text-decoration: underline;\n cursor: pointer;\n }\n\n .ProseMirror ul,\n .ProseMirror ol {\n margin: 0 0 0.5rem;\n padding-left: 1.25rem;\n }\n\n .ProseMirror blockquote {\n margin: 0 0 0.5rem;\n padding-left: 0.75rem;\n border-left: 3px solid var(--pk-color-gray-300);\n color: var(--pk-color-gray-600);\n }\n\n .ProseMirror code {\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n background: var(--pk-color-gray-100);\n border-radius: 0.2rem;\n padding: 0.1rem 0.25rem;\n }\n\n .ProseMirror pre {\n margin: 0 0 0.5rem;\n padding: 0.75rem;\n background: var(--pk-color-gray-900);\n color: var(--pk-color-gray-50);\n border-radius: var(--pk-radius-md);\n overflow-x: auto;\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n }\n\n ${variableTagStyles}\n }\n`;\n\n/**\n * Single-line TipTap field — same box metrics as `pk-input` .input\n * (14px / line-height 1.4 / padding 6px 8px).\n *\n * ProseMirror always injects `br.ProseMirror-trailingBreak` for the caret.\n * Never `display: none` it — that freezes one-liner docs after the first character.\n * Clip to one line height instead so the break cannot inflate the control.\n */\nexport const tiptapInputProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n margin: 0;\n /* Match stock pk-input padding by default. Hosts can override density via\n * --pk-tiptap-input-* (light DOM cannot style .ProseMirror in the shadow tree).\n */\n padding-block: var(--pk-tiptap-input-padding-block, 6px);\n padding-inline-start: var(--pk-tiptap-input-padding-inline-start, 8px);\n padding-inline-end: var(--pk-tiptap-input-padding-inline-end, 8px);\n /* One-liner clip: padding + control line-height (v1 text-sm), not a fixed shell token. */\n height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n max-height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n background: var(--pk-input-bg);\n /* Craft CP body / field value text. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n font-size: var(--pk-tiptap-input-font-size, var(--pk-font-size-base));\n line-height: var(--pk-tiptap-input-line-height, var(--pk-input-control-line-height, 1.25rem));\n white-space: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n box-sizing: border-box;\n scrollbar-width: none;\n }\n\n .ProseMirror::-webkit-scrollbar {\n display: none;\n }\n\n /* OneLinerDocument is inline-only; keep p inline if a schema ever wraps text. */\n .ProseMirror p {\n margin: 0;\n display: inline;\n line-height: inherit;\n }\n\n /* Read-only display: no input padding/height box (v1 skipped chrome when readOnly).\n * Inherit color/weight so list name links (text-blue-600 font-bold) show through. */\n :host([readonly]) .ProseMirror {\n padding-block: 0;\n padding-inline: 0;\n height: auto;\n max-height: none;\n background: transparent;\n overflow: visible;\n white-space: normal;\n color: inherit;\n font-weight: inherit;\n font-size: inherit;\n }\n\n ${variableTagStyles}\n }\n`;\n\nexport const tiptapContentProseMirrorStyles = css`\n @layer pk-component {\n /* Inherit host color/size so light-DOM wrappers (warning banners, badges)\n can restyle read-only TipTap without piercing the shadow tree. */\n .ProseMirror {\n outline: none;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .ProseMirror p {\n margin: 0;\n }\n }\n`;\n"],"mappings":";;;;AAKA,IAAM,cAAc;;;;EAIlB,MAAM;AAER,IAAa,kCAAkC;AAW/C,IAAM,kBAAkB,YAA6C;CACjE,IAAI,OAAoB;AACxB,QAAO,MAAM;AACT,MAAI,gBAAgB,eAAe,KAAK,UAAU,WAAW,YAAY,CACrE,QAAO;AAGX,SAAO,KAAK,sBAAsB,aAC5B,KAAK,WAAW,OAChB,KAAK;;AAGf,QAAO;;AAGX,IAAM,iBACF,QACA,WACC;CACD,MAAM,UAAU,OAAO,KAAK;CAC5B,MAAM,OAAO,eAAe,QAAQ;CAGpC,MAAM,YAAY,QAAQ,0BAA0B,OAC7C,KAEA,uBACD;AAEN,KAAI,OAAO,cAAc,WACrB,WAAU,OAAO;AAKrB,EADe,QAAQ,SAChB,cAAc,IAAI,YAAY,iCAAiC;EAClE,SAAS;EACT,UAAU;EACV;EACH,CAAC,CAAC;;;;;;;AAQP,SAAS,uBACL,QACA,QACF;CACE,MAAM,mBAAuC;EACzC,MAAM,MAAM,OAAO,WAAW,aAAa,QAAQ,GAAG;AACtD,SAAO,OAAO,QAAQ,WAAW,MAAM,KAAA;;CAG3C,MAAM,mBAAmB;EACrB,MAAM,MAAM,YAAY;AACxB,MAAI,OAAO,QAAQ,SACf;EAGJ,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,MAAI,CAAC,QAAQ,KAAK,KAAK,SAAS,cAC5B;AAGJ,SACK,OAAO,CACP,OAAO,CACP,YAAY;GAAE,MAAM;GAAK,IAAI,MAAM,KAAK;GAAU,CAAC,CACnD,KAAK;;CAGd,MAAM,oBAAoB,eAAwC;EAC9D,MAAM,MAAM,YAAY;AACxB,MAAI,OAAO,QAAQ,SACf;EAGJ,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,MAAI,CAAC,QAAQ,KAAK,KAAK,SAAS,cAC5B;AAGJ,SACK,OAAO,CACP,SAAS,EAAE,IAAI,eAAe;AAC3B,OAAI,SACA,IAAG,cAAc,KAAK,KAAA,GAAW;IAC7B,GAAG,KAAK;IACR,GAAG;IACN,CAAC;AAEN,UAAO;IACT,CACD,KAAK;;AAGd,QAAO;EAAE;EAAY;EAAkB;EAAY;;;;;;;AAQvD,SAAgB,+BAAiD;AAC7D,SAAQ,UAAU;EACd,MAAM,EAAE,QAAQ,WAAW;EAC3B,MAAM,EAAE,YAAY,kBAAkB,eAAe,uBAAuB,QAAQ,OAAO;EAE3F,IAAI,cAA+B,MAAM;EAEzC,MAAM,8BAA8B,UAAmC;GACnE,MAAM,aAAa,QAAQ,MAAM,WAAW;GAC5C,MAAM,QAAQ,OAAO,MAAM,SAAS,GAAG;GACvC,MAAM,YAAY,OAAO,MAAM,SAAS,MAAM,SAAS,GAAG;AAE1D,OAAI,UAAU,OAAO,+BAA+B,WAAW;AAC/D,OAAI,YAAY;AACZ,QAAI,QAAQ,aAAa;AAEzB,QAAI,QAAQ,QACN,kCAAkC,UAClC;AACN,UAAM,aAAa,gBAAgB,OAAO;UACvC;AACH,WAAO,IAAI,QAAQ;AACnB,QAAI,gBAAgB,QAAQ;AAC5B,UAAM,gBAAgB,eAAe;;AAGzC,SAAM,cAAc;;EAGxB,MAAM,MAAM,SAAS,cAAc,OAAO;AAC1C,MAAI,YAAY;AAChB,MAAI,KAAK,SAAS,kBAAkB;AACpC,MAAI,aAAa,mBAAmB,QAAQ;AAK5C,MAAI,aAAa,oBAAoB,GAAG;AACxC,MAAI,QAAQ,QAAQ,OAAO,YAAY,MAAM,SAAS,GAAG;AACzD,MAAI,QAAQ,gBAAgB,OAAO,YAAY,MAAM,SAAS,GAAG;EAGjE,MAAM,QAAQ,SAAS,cAAc,SAAS;AAC9C,QAAM,OAAO;AACb,QAAM,YAAY;AAClB,QAAM,YAAY;AAClB,MAAI,OAAO,MAAM;AACjB,6BAA2B,YAAY,MAAM;EAE7C,IAAI,eAAyC;EAC7C,IAAI,sBAAsB;EAC1B,IAAI,WAAW;EAEf,MAAM,sBAAsB;GACxB,MAAM,MAAM,YAAY;AACxB,OAAI,OAAO,QAAQ,UAAU;IACzB,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;AACzC,QAAI,MAAM,KAAK,SAAS,cACpB,QAAO,EAAE,GAAG,KAAK,OAAO;;AAIhC,UAAO,EAAE,GAAG,YAAY,OAAO;;EAGnC,MAAM,sBAAsB;AACxB,OAAI,CAAC,OAAO,WACR;GAIJ,MAAM,MAAM,KAAK,KAAK;AACtB,OAAI,MAAM,WAAW,IACjB;AAEJ,cAAW;AAIX,OAAI,gBAAgB,YAAY;AAEhC,iBAAc,QAAQ;IAClB;IACA,QAAQ;IACR,OAAO,eAAe;IACtB,QAAQ;IACR;IACA;IACH,CAAC;;AAIN,QAAM,iBAAiB,gBAAgB,UAAU;AAC7C,OAAI,MAAM,WAAW,EACjB;AAGJ,SAAM,gBAAgB;AACtB,SAAM,iBAAiB;AACvB,kBAAe;IACjB;AACF,QAAM,iBAAiB,UAAU,UAAU;AACvC,SAAM,gBAAgB;AACtB,SAAM,iBAAiB;AACvB,kBAAe;IACjB;EAEF,MAAM,oBAAoB,aAAsB;AAC5C,OAAI,UAAU;AACV,QAAI,aACA;AAGJ,mBAAe,SAAS,cAAc,SAAS;AAC/C,iBAAa,OAAO;AACpB,iBAAa,YAAY;AACzB,iBAAa,aAAa,cAAc,SAAS;AACjD,iBAAa,YAAY;AACzB,iBAAa,YAAY;AACzB,iBAAa,iBAAiB,gBAAgB,UAAU;AACpD,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;MACzB;AACF,iBAAa,iBAAiB,UAAU,UAAU;AAC9C,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;AACvB,iBAAY;MACd;AACF,QAAI,OAAO,aAAa;AACxB;;AAGJ,iBAAc,QAAQ;AACtB,kBAAe;;AAGnB,mBAAiB,OAAO,WAAW;AAEnC,MAAI,YAAY,MAAM,gBAAgB,OAAO,cAAc,CAAC,qBAAqB;AAC7E,yBAAsB;AACtB,wBAAqB;AACjB,qBAAiB,EAAE,cAAc,OAAO,CAAC;AACzC,mBAAe;KACjB;;AAGN,SAAO;GACH;GAKA,YAAY,UAAU;IAClB,MAAM,SAAS,MAAM;AACrB,QAAI,EAAE,kBAAkB,SACpB,QAAO;AAGX,WAAO,QACH,OAAO,QAAQ,0BAA0B,IACtC,OAAO,QAAQ,2BAA2B,CAChD;;GAEL,kBAAkB;AACd,QAAI,UAAU,IAAI,2BAA2B;AAE7C,QAAI,gBAAgB,YAAY;;GAEpC,oBAAoB;AAChB,QAAI,UAAU,OAAO,2BAA2B;AAChD,QAAI,gBAAgB,YAAY;;GAEpC,OAAO,aAAa;AAChB,QAAI,YAAY,KAAK,SAAS,cAC1B,QAAO;AAGX,kBAAc;AACd,QAAI,QAAQ,QAAQ,OAAO,YAAY,MAAM,SAAS,GAAG;AACzD,QAAI,QAAQ,gBAAgB,OAAO,YAAY,MAAM,SAAS,GAAG;AACjE,+BAA2B,YAAY,MAAM;AAC7C,qBAAiB,OAAO,WAAW;AACnC,WAAO;;GAEd;;;;;;;;;ACnTT,IAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkF7B,IAAa,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqFhC,kBAAkB;;;;;;;;;;;AAY5B,IAAa,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqDrC,kBAAkB;;;AAI5B,IAAa,iCAAiC,GAAG"}
|
|
1
|
+
{"version":3,"file":"tiptap.styles-ChAfyVi9.js","names":[],"sources":["../../src/components/tiptap/variable-tag-node-view.ts","../../src/components/tiptap/tiptap.styles.ts"],"sourcesContent":["import type { Editor, NodeViewRenderer, NodeViewRendererProps } from '@tiptap/core';\nimport type { Node as ProseMirrorNode } from '@tiptap/pm/model';\nimport { uniqueId } from '../../a11y/focus.js';\n\n/** Match kit v1 VariableTagView chip chrome (indigo + remove). */\nconst REMOVE_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M2.1 1.4 5 4.3l2.9-2.9.7.7L5.7 5l2.9 2.9-.7.7L5 5.7l-2.9 2.9-.7-.7L4.3 5 1.4 2.1z\"/>\n</svg>\n`.trim();\n\nexport const PK_VARIABLE_TAG_CONFIGURE_EVENT = 'pk-variable-tag-configure';\n\nexport type PkVariableTagConfigureDetail = {\n editor: Editor;\n anchor: HTMLElement;\n attrs: Record<string, unknown>;\n getPos: () => number | undefined;\n updateAttributes: (attributes: Record<string, unknown>) => void;\n deleteNode: () => void;\n};\n\nconst findTiptapHost = (viewDom: HTMLElement): HTMLElement | null => {\n let node: Node | null = viewDom;\n while (node) {\n if (node instanceof HTMLElement && node.localName.startsWith('pk-tiptap')) {\n return node;\n }\n\n node = node.parentNode instanceof ShadowRoot\n ? node.parentNode.host\n : node.parentNode;\n }\n\n return null;\n};\n\nconst emitConfigure = (\n editor: Editor,\n detail: PkVariableTagConfigureDetail,\n) => {\n const viewDom = editor.view.dom;\n const host = findTiptapHost(viewDom);\n\n // Preferred bridge for React/Formie: property callback on <pk-tiptap-*>.\n const configure = host && 'variableTagConfigure' in host\n ? (host as HTMLElement & {\n variableTagConfigure?: ((detail: PkVariableTagConfigureDetail) => void) | null;\n }).variableTagConfigure\n : null;\n\n if (typeof configure === 'function') {\n configure(detail);\n }\n\n // Composed event is the reliable Formie path (document capture listener).\n const target = host ?? viewDom;\n target.dispatchEvent(new CustomEvent(PK_VARIABLE_TAG_CONFIGURE_EVENT, {\n bubbles: true,\n composed: true,\n detail,\n }));\n};\n\n/**\n * DOM NodeViewRendererProps do NOT include React's `deleteNode` / `updateAttributes`\n * (those live on NodeViewProps for ReactNodeViewRenderer only). Build them from\n * editor + getPos — same operations ReactNodeViewRenderer wires for VariableTagView.\n */\nfunction createNodeViewCommands(\n editor: Editor,\n getPos: NodeViewRendererProps['getPos'],\n) {\n const resolvePos = (): number | undefined => {\n const pos = typeof getPos === 'function' ? getPos() : getPos;\n return typeof pos === 'number' ? pos : undefined;\n };\n\n const deleteNode = () => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .focus()\n .deleteRange({ from: pos, to: pos + live.nodeSize })\n .run();\n };\n\n const updateAttributes = (attributes: Record<string, unknown>) => {\n const pos = resolvePos();\n if (typeof pos !== 'number') {\n return;\n }\n\n const live = editor.state.doc.nodeAt(pos);\n if (!live || live.type.name !== 'variableTag') {\n return;\n }\n\n editor\n .chain()\n .command(({ tr, dispatch }) => {\n if (dispatch) {\n tr.setNodeMarkup(pos, undefined, {\n ...live.attrs,\n ...attributes,\n });\n }\n return true;\n })\n .run();\n };\n\n return { deleteNode, updateAttributes, resolvePos };\n}\n\n/**\n * DOM node view for variable tags in vanilla editors.\n * Chip + remove match kit v1; configure UI is opened via `pk-variable-tag-configure`\n * (Formie mounts the edit overlay beside the WC editor).\n */\nexport function createVariableTagDomNodeView(): NodeViewRenderer {\n return (props) => {\n const { editor, getPos } = props;\n const { deleteNode, updateAttributes, resolvePos } = createNodeViewCommands(editor, getPos);\n\n let currentNode: ProseMirrorNode = props.node;\n\n const syncUnresolvedPresentation = (attrs: Record<string, unknown>) => {\n const unresolved = Boolean(attrs.unresolved);\n const token = String(attrs.value ?? '');\n const chipLabel = String(attrs.label || attrs.value || '');\n\n dom.classList.toggle('pk-variable-tag--unresolved', unresolved);\n if (unresolved) {\n dom.dataset.unresolved = 'true';\n // Hover: prompt to fix + keep the raw token for support/debug.\n dom.title = token\n ? `Unknown or missing reference — ${token}`\n : 'Unknown or missing reference';\n label.setAttribute('aria-invalid', 'true');\n } else {\n delete dom.dataset.unresolved;\n dom.removeAttribute('title');\n label.removeAttribute('aria-invalid');\n }\n\n label.textContent = chipLabel;\n };\n\n const dom = document.createElement('span');\n dom.className = 'pk-variable-tag';\n dom.id = uniqueId('pk-variable-tag');\n dom.setAttribute('contenteditable', 'false');\n // Do NOT set draggable=true permanently — HTML5-draggable hosts suppress click,\n // which kills configure. ProseMirror sets draggable temporarily on mousedown drag.\n // TipTap React node views use data-drag-handle on a TipTap NodeView class; keep the\n // attr for parity, but drag itself is PM's selectable+draggable atom behavior.\n dom.setAttribute('data-drag-handle', '');\n dom.dataset.label = String(currentNode.attrs.label ?? '');\n dom.dataset.variableValue = String(currentNode.attrs.value ?? '');\n\n // Match kit v1 VariableTagView: real button for activate.\n const label = document.createElement('button');\n label.type = 'button';\n label.className = 'pk-variable-tag__label';\n label.draggable = false;\n dom.append(label);\n syncUnresolvedPresentation(currentNode.attrs);\n\n let removeButton: HTMLButtonElement | null = null;\n let openOnInsertHandled = false;\n let openedAt = 0;\n\n const readLiveAttrs = () => {\n const pos = resolvePos();\n if (typeof pos === 'number') {\n const live = editor.state.doc.nodeAt(pos);\n if (live?.type.name === 'variableTag') {\n return { ...live.attrs };\n }\n }\n\n return { ...currentNode.attrs };\n };\n\n const openConfigure = () => {\n if (!editor.isEditable) {\n return;\n }\n\n // Dedupe repeated emits from nested handlers / openOnInsert.\n const now = Date.now();\n if (now - openedAt < 300) {\n return;\n }\n openedAt = now;\n\n // Strip any HTML5-draggable PM may have armed so configure stays clickable\n // after this interaction (draggable hosts suppress subsequent clicks).\n dom.removeAttribute('draggable');\n\n emitConfigure(editor, {\n editor,\n anchor: dom,\n attrs: readLiveAttrs(),\n getPos: resolvePos,\n updateAttributes,\n deleteNode,\n });\n };\n\n // Open on pointerdown — before ProseMirror can arm HTML5 drag on the atom.\n label.addEventListener('pointerdown', (event) => {\n if (event.button !== 0) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n label.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n openConfigure();\n });\n\n const syncRemoveButton = (editable: boolean) => {\n if (editable) {\n if (removeButton) {\n return;\n }\n\n removeButton = document.createElement('button');\n removeButton.type = 'button';\n removeButton.className = 'pk-variable-tag__remove';\n removeButton.setAttribute('aria-label', 'Remove');\n removeButton.draggable = false;\n removeButton.innerHTML = REMOVE_ICON;\n removeButton.addEventListener('pointerdown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n });\n removeButton.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n deleteNode();\n });\n dom.append(removeButton);\n return;\n }\n\n removeButton?.remove();\n removeButton = null;\n };\n\n syncRemoveButton(editor.isEditable);\n\n if (currentNode.attrs.openOnInsert && editor.isEditable && !openOnInsertHandled) {\n openOnInsertHandled = true;\n queueMicrotask(() => {\n updateAttributes({ openOnInsert: false });\n openConfigure();\n });\n }\n\n return {\n dom,\n // TipTap React node views stop PM from handling events inside the chip —\n // that prevents `draggable=true` arming, which otherwise kills configure.\n // Drag still works via outer NodeSelection + data-drag-handle when the\n // pointer starts on the chip chrome (not the label/remove controls).\n stopEvent: (event) => {\n const target = event.target as Node | null;\n if (!(target instanceof Element)) {\n return false;\n }\n\n return Boolean(\n target.closest('.pk-variable-tag__label')\n || target.closest('.pk-variable-tag__remove'),\n );\n },\n selectNode: () => {\n dom.classList.add('ProseMirror-selectednode');\n // Never keep HTML5-draggable while selected — it suppresses clicks.\n dom.removeAttribute('draggable');\n },\n deselectNode: () => {\n dom.classList.remove('ProseMirror-selectednode');\n dom.removeAttribute('draggable');\n },\n update(updatedNode) {\n if (updatedNode.type.name !== 'variableTag') {\n return false;\n }\n\n currentNode = updatedNode;\n dom.dataset.label = String(updatedNode.attrs.label ?? '');\n dom.dataset.variableValue = String(updatedNode.attrs.value ?? '');\n syncUnresolvedPresentation(updatedNode.attrs);\n syncRemoveButton(editor.isEditable);\n return true;\n },\n };\n };\n}\n","import { css } from 'lit';\n\n/**\n * Indigo chip matching kit v1 VariableTagView (`bg-[#5C6BC0] text-white rounded-[2px]`).\n * Shared by rich editor + single-line input ProseMirror hosts.\n */\nconst variableTagStyles = css`\n .pk-variable-tag {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n max-width: 100%;\n margin-inline: 1px;\n margin-block-start: -3px;\n padding: 0;\n border-radius: 2px;\n background: #5c6bc0;\n color: #fff;\n font-size: 11px;\n font-weight: 400;\n line-height: 1;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n cursor: default;\n box-sizing: border-box;\n }\n\n /* Unresolved / missing reference — muted grey (not alarm yellow). */\n .pk-variable-tag--unresolved {\n background: var(--pk-color-gray-100, #f3f4f6);\n color: var(--pk-color-gray-600, #4b5563);\n box-shadow: inset 0 0 0 1px var(--pk-color-gray-300, #d1d5db);\n }\n\n .pk-variable-tag--unresolved.ProseMirror-selectednode {\n box-shadow:\n inset 0 0 0 1px var(--pk-color-gray-400, #9ca3af),\n 0 0 0 2px rgba(156, 163, 175, 0.45);\n }\n\n .pk-variable-tag.ProseMirror-selectednode {\n outline: none;\n box-shadow: 0 0 0 2px rgba(123, 140, 232, 0.5);\n }\n\n .pk-variable-tag__label {\n display: inline-flex;\n align-items: center;\n max-width: 220px;\n margin: 0;\n padding: 4px 5px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-size: inherit;\n line-height: inherit;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n user-select: none;\n }\n\n .pk-variable-tag__remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n margin: 0;\n padding: 4px 5px 4px 4px;\n border: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n line-height: 0;\n appearance: none;\n }\n\n .pk-variable-tag__remove svg {\n display: block;\n width: 10px;\n height: 10px;\n pointer-events: none;\n }\n`;\n\nexport const tiptapProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n min-height: 2rem;\n padding: 1rem;\n background: rgb(251, 252, 254);\n /* Craft CP body text (~gray-700), not gray-900. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n /* Match pk-input / body (14px). sm (13px) matched field instructions and looked undersized vs v1. */\n font-size: var(--pk-font-size-base);\n line-height: 1.5;\n white-space: pre-wrap;\n box-sizing: border-box;\n }\n\n .ProseMirror p {\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror p:last-child {\n margin-bottom: 0;\n }\n\n .ProseMirror h1 {\n font-size: 1.25rem;\n font-weight: 700;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h2 {\n font-size: 1.125rem;\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror h3,\n .ProseMirror h4,\n .ProseMirror h5,\n .ProseMirror h6 {\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n\n .ProseMirror a {\n color: var(--pk-color-blue-600);\n text-decoration: underline;\n cursor: pointer;\n }\n\n .ProseMirror ul,\n .ProseMirror ol {\n margin: 0 0 0.5rem;\n padding-left: 1.25rem;\n }\n\n .ProseMirror blockquote {\n margin: 0 0 0.5rem;\n padding-left: 0.75rem;\n border-left: 3px solid var(--pk-color-gray-300);\n color: var(--pk-color-gray-600);\n }\n\n .ProseMirror code {\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n background: var(--pk-color-gray-100);\n border-radius: 0.2rem;\n padding: 0.1rem 0.25rem;\n }\n\n .ProseMirror pre {\n margin: 0 0 0.5rem;\n padding: 0.75rem;\n background: var(--pk-color-gray-900);\n color: var(--pk-color-gray-50);\n border-radius: var(--pk-radius-md);\n overflow-x: auto;\n font-family: var(--pk-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);\n font-size: var(--pk-font-size-mono, 0.9em);\n line-height: var(--pk-line-height-mono, 1.5);\n }\n\n ${variableTagStyles}\n }\n`;\n\n/**\n * Single-line TipTap field — same box metrics as `pk-input` .input\n * (14px / line-height 1.4 / padding 6px 8px).\n *\n * ProseMirror always injects `br.ProseMirror-trailingBreak` for the caret.\n * Never `display: none` it — that freezes one-liner docs after the first character.\n * Clip to one line height instead so the break cannot inflate the control.\n */\nexport const tiptapInputProseMirrorStyles = css`\n @layer pk-component {\n .ProseMirror {\n outline: none;\n margin: 0;\n /* Match stock pk-input padding by default. Hosts can override density via\n * --pk-tiptap-input-* (light DOM cannot style .ProseMirror in the shadow tree).\n */\n padding-block: var(--pk-tiptap-input-padding-block, 6px);\n padding-inline-start: var(--pk-tiptap-input-padding-inline-start, 8px);\n padding-inline-end: var(--pk-tiptap-input-padding-inline-end, 8px);\n /* One-liner clip: padding + control line-height (v1 text-sm), not a fixed shell token. */\n height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n max-height: var(--pk-tiptap-input-height, calc(var(--pk-input-control-line-height, 1.25rem) + 12px));\n background: var(--pk-input-bg);\n /* Craft CP body / field value text. */\n color: var(--pk-color-gray-700);\n font-family: var(--pk-font-family);\n font-size: var(--pk-tiptap-input-font-size, var(--pk-font-size-base));\n line-height: var(--pk-tiptap-input-line-height, var(--pk-input-control-line-height, 1.25rem));\n white-space: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n box-sizing: border-box;\n scrollbar-width: none;\n }\n\n .ProseMirror::-webkit-scrollbar {\n display: none;\n }\n\n /* OneLinerDocument is inline-only; keep p inline if a schema ever wraps text. */\n .ProseMirror p {\n margin: 0;\n display: inline;\n line-height: inherit;\n }\n\n /* Read-only display: no input padding/height box (v1 skipped chrome when readOnly).\n * Inherit color/weight so list name links (text-blue-600 font-bold) show through. */\n :host([readonly]) .ProseMirror {\n padding-block: 0;\n padding-inline: 0;\n height: auto;\n max-height: none;\n background: transparent;\n overflow: visible;\n white-space: normal;\n color: inherit;\n font-weight: inherit;\n font-size: inherit;\n }\n\n ${variableTagStyles}\n }\n`;\n\nexport const tiptapContentProseMirrorStyles = css`\n @layer pk-component {\n /* Inherit host color/size so light-DOM wrappers (warning banners, badges)\n can restyle read-only TipTap without piercing the shadow tree. */\n .ProseMirror {\n outline: none;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .ProseMirror p {\n margin: 0;\n }\n }\n`;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../src/component-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../src/component-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsDzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAwC,CAAC;AAExF,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuD3D,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqC3D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkCalendar } from "../../chunks/pk-calendar-
|
|
1
|
+
import { t as PkCalendar } from "../../chunks/pk-calendar-CoUil0F7.js";
|
|
2
2
|
export { PkCalendar };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkCalendar } from "../chunks/pk-calendar-
|
|
1
|
+
import { t as PkCalendar } from "../chunks/pk-calendar-CoUil0F7.js";
|
|
2
2
|
export { PkCalendar };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkColorInput } from "../../chunks/pk-color-input-
|
|
1
|
+
import { t as PkColorInput } from "../../chunks/pk-color-input-BCCXCZMA.js";
|
|
2
2
|
export { PkColorInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PkColorInput } from "../chunks/pk-color-input-
|
|
1
|
+
import { t as PkColorInput } from "../chunks/pk-color-input-BCCXCZMA.js";
|
|
2
2
|
export { PkColorInput };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/connect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* OAuth connect row for Craft CP settings.
|
|
4
|
+
*
|
|
5
|
+
* **Light DOM** — the row mounts inside Craft's `.field.lightswitch-field` wrapper and
|
|
6
|
+
* reuses CP column classes (`.heading` / `.input`) so it lines up with Provider/Enabled
|
|
7
|
+
* rows without shadow-piercing or duplicating Craft field chrome. Action buttons use
|
|
8
|
+
* `pk-button`; submission goes through `Craft.submitForm` (same as `.formsubmit`).
|
|
9
|
+
*/
|
|
10
|
+
export declare class PkConnectOauth extends LitElement {
|
|
11
|
+
static styles: import('lit').CSSResult;
|
|
12
|
+
connected: boolean;
|
|
13
|
+
connectAction: string;
|
|
14
|
+
disconnectAction: string;
|
|
15
|
+
paramName: string;
|
|
16
|
+
paramValue: string;
|
|
17
|
+
connectRedirect: string;
|
|
18
|
+
disconnectRedirect: string;
|
|
19
|
+
formSelector: string;
|
|
20
|
+
/** When true, skip dirty-form watching (e.g. Formie read-only OAuth mini-form). */
|
|
21
|
+
skipDirtyWatch: boolean;
|
|
22
|
+
labelConnected: string;
|
|
23
|
+
labelNotConnected: string;
|
|
24
|
+
labelConnect: string;
|
|
25
|
+
labelDisconnect: string;
|
|
26
|
+
labelSaveToConnect: string;
|
|
27
|
+
private isDirty;
|
|
28
|
+
private unwatchDirty;
|
|
29
|
+
createRenderRoot(): HTMLElement | DocumentFragment;
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
disconnectedCallback(): void;
|
|
32
|
+
private submitOAuthAction;
|
|
33
|
+
private handleConnectClick;
|
|
34
|
+
private handleDisconnectClick;
|
|
35
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
36
|
+
}
|
|
37
|
+
declare global {
|
|
38
|
+
interface HTMLElementTagNameMap {
|
|
39
|
+
'pk-connect-oauth': PkConnectOauth;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=pk-connect-oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pk-connect-oauth.d.ts","sourceRoot":"","sources":["../../../src/components/connect/pk-connect-oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAGhC;;;;;;;GAOG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC1C,OAAgB,MAAM,0BAAmB;IAGzC,SAAS,UAAS;IAGlB,aAAa,SAAM;IAGnB,gBAAgB,SAAM;IAGtB,SAAS,SAAM;IAGf,UAAU,SAAM;IAGhB,eAAe,SAAM;IAGrB,kBAAkB,SAAM;IAGxB,YAAY,SAAgB;IAE5B,mFAAmF;IAEnF,cAAc,UAAS;IAGvB,cAAc,SAAe;IAG7B,iBAAiB,SAAmB;IAGpC,YAAY,SAAa;IAGzB,eAAe,SAAgB;IAG/B,kBAAkB,SAAsB;IAGxC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,YAAY,CAA6B;IAExC,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAIlD,iBAAiB,IAAI,IAAI;IAgBzB,oBAAoB,IAAI,IAAI;IAMrC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAKpB,MAAM;CA+ClB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { t as __decorate } from "../../chunks/decorate-W02hmVTt.js";
|
|
2
|
+
import "../../chunks/pk-button-QpDDlRbG.js";
|
|
3
|
+
import "../../chunks/pk-status-7_5dEuw-.js";
|
|
4
|
+
import { t as pkConnectStyles } from "../../chunks/pk-connect.styles-DshgIW2n.js";
|
|
5
|
+
import { LitElement, html } from "lit";
|
|
6
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
7
|
+
import { submitCpFormAction, watchCpFormDirty } from "@verbb/plugin-kit-core";
|
|
8
|
+
//#region src/components/connect/pk-connect-oauth.ts
|
|
9
|
+
var PkConnectOauth = class PkConnectOauth extends LitElement {
|
|
10
|
+
constructor(..._args) {
|
|
11
|
+
super(..._args);
|
|
12
|
+
this.connected = false;
|
|
13
|
+
this.connectAction = "";
|
|
14
|
+
this.disconnectAction = "";
|
|
15
|
+
this.paramName = "";
|
|
16
|
+
this.paramValue = "";
|
|
17
|
+
this.connectRedirect = "";
|
|
18
|
+
this.disconnectRedirect = "";
|
|
19
|
+
this.formSelector = "#main-form";
|
|
20
|
+
this.skipDirtyWatch = false;
|
|
21
|
+
this.labelConnected = "Connected";
|
|
22
|
+
this.labelNotConnected = "Not Connected";
|
|
23
|
+
this.labelConnect = "Connect";
|
|
24
|
+
this.labelDisconnect = "Disconnect";
|
|
25
|
+
this.labelSaveToConnect = "Save to connect.";
|
|
26
|
+
this.isDirty = false;
|
|
27
|
+
this.unwatchDirty = null;
|
|
28
|
+
}
|
|
29
|
+
static {
|
|
30
|
+
this.styles = pkConnectStyles;
|
|
31
|
+
}
|
|
32
|
+
createRenderRoot() {
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
connectedCallback() {
|
|
36
|
+
super.connectedCallback();
|
|
37
|
+
if (this.skipDirtyWatch) return;
|
|
38
|
+
this.unwatchDirty = watchCpFormDirty({
|
|
39
|
+
formSelector: this.formSelector,
|
|
40
|
+
host: this,
|
|
41
|
+
onDirty: () => {
|
|
42
|
+
this.isDirty = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
disconnectedCallback() {
|
|
47
|
+
this.unwatchDirty?.();
|
|
48
|
+
this.unwatchDirty = null;
|
|
49
|
+
super.disconnectedCallback();
|
|
50
|
+
}
|
|
51
|
+
submitOAuthAction(action, redirect) {
|
|
52
|
+
submitCpFormAction({
|
|
53
|
+
formSelector: this.formSelector,
|
|
54
|
+
host: this,
|
|
55
|
+
action,
|
|
56
|
+
redirect,
|
|
57
|
+
paramName: this.paramName,
|
|
58
|
+
paramValue: this.paramValue
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
handleConnectClick(event) {
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
this.submitOAuthAction(this.connectAction, this.connectRedirect);
|
|
64
|
+
}
|
|
65
|
+
handleDisconnectClick(event) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
this.submitOAuthAction(this.disconnectAction, this.disconnectRedirect);
|
|
68
|
+
}
|
|
69
|
+
render() {
|
|
70
|
+
if (this.isDirty) return html`
|
|
71
|
+
<div class="heading">
|
|
72
|
+
<span class="warning with-icon">${this.labelSaveToConnect}</span>
|
|
73
|
+
</div>
|
|
74
|
+
`;
|
|
75
|
+
if (this.connected) return html`
|
|
76
|
+
<div class="heading">
|
|
77
|
+
<pk-status status="on" class="pk-connect__status-icon"></pk-status>${this.labelConnected}
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div class="input ltr">
|
|
81
|
+
<pk-button
|
|
82
|
+
type="button"
|
|
83
|
+
size="xs"
|
|
84
|
+
variant="default"
|
|
85
|
+
class="pk-connect__action"
|
|
86
|
+
@click=${this.handleDisconnectClick}
|
|
87
|
+
>
|
|
88
|
+
${this.labelDisconnect}
|
|
89
|
+
</pk-button>
|
|
90
|
+
</div>
|
|
91
|
+
`;
|
|
92
|
+
return html`
|
|
93
|
+
<div class="heading">
|
|
94
|
+
<pk-status status="disabled" class="pk-connect__status-icon"></pk-status><span class="light">${this.labelNotConnected}</span>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div class="input ltr">
|
|
98
|
+
<pk-button
|
|
99
|
+
type="button"
|
|
100
|
+
size="xs"
|
|
101
|
+
variant="default"
|
|
102
|
+
class="pk-connect__action"
|
|
103
|
+
@click=${this.handleConnectClick}
|
|
104
|
+
>
|
|
105
|
+
${this.labelConnect}
|
|
106
|
+
</pk-button>
|
|
107
|
+
</div>
|
|
108
|
+
`;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
__decorate([property({
|
|
112
|
+
type: Boolean,
|
|
113
|
+
reflect: true
|
|
114
|
+
})], PkConnectOauth.prototype, "connected", void 0);
|
|
115
|
+
__decorate([property({ attribute: "connect-action" })], PkConnectOauth.prototype, "connectAction", void 0);
|
|
116
|
+
__decorate([property({ attribute: "disconnect-action" })], PkConnectOauth.prototype, "disconnectAction", void 0);
|
|
117
|
+
__decorate([property({ attribute: "param-name" })], PkConnectOauth.prototype, "paramName", void 0);
|
|
118
|
+
__decorate([property({ attribute: "param-value" })], PkConnectOauth.prototype, "paramValue", void 0);
|
|
119
|
+
__decorate([property({ attribute: "connect-redirect" })], PkConnectOauth.prototype, "connectRedirect", void 0);
|
|
120
|
+
__decorate([property({ attribute: "disconnect-redirect" })], PkConnectOauth.prototype, "disconnectRedirect", void 0);
|
|
121
|
+
__decorate([property({ attribute: "form-selector" })], PkConnectOauth.prototype, "formSelector", void 0);
|
|
122
|
+
__decorate([property({
|
|
123
|
+
type: Boolean,
|
|
124
|
+
attribute: "skip-dirty-watch"
|
|
125
|
+
})], PkConnectOauth.prototype, "skipDirtyWatch", void 0);
|
|
126
|
+
__decorate([property({ attribute: "label-connected" })], PkConnectOauth.prototype, "labelConnected", void 0);
|
|
127
|
+
__decorate([property({ attribute: "label-not-connected" })], PkConnectOauth.prototype, "labelNotConnected", void 0);
|
|
128
|
+
__decorate([property({ attribute: "label-connect" })], PkConnectOauth.prototype, "labelConnect", void 0);
|
|
129
|
+
__decorate([property({ attribute: "label-disconnect" })], PkConnectOauth.prototype, "labelDisconnect", void 0);
|
|
130
|
+
__decorate([property({ attribute: "label-save-to-connect" })], PkConnectOauth.prototype, "labelSaveToConnect", void 0);
|
|
131
|
+
__decorate([state()], PkConnectOauth.prototype, "isDirty", void 0);
|
|
132
|
+
PkConnectOauth = __decorate([customElement("pk-connect-oauth")], PkConnectOauth);
|
|
133
|
+
//#endregion
|
|
134
|
+
export { PkConnectOauth };
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=pk-connect-oauth.js.map
|
|
@@ -0,0 +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 'lit/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 chrome. 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":";;;;;;;;AAiBO,IAAA,iBAAA,MAAM,uBAAuB,WAAW;;;mBAI/B;uBAGI;0BAGG;mBAGP;oBAGC;yBAGK;4BAGG;sBAGN;wBAIE;wBAGA;2BAGG;sBAGL;yBAGG;4BAGG;iBAGH;sBAE0B;;;gBAhDnB;;CAkDzB,mBAA4D;AACxD,SAAO;;CAGX,oBAAmC;AAC/B,QAAM,mBAAmB;AAEzB,MAAI,KAAK,eACL;AAGJ,OAAK,eAAe,iBAAiB;GACjC,cAAc,KAAK;GACnB,MAAM;GACN,eAAe;AACX,SAAK,UAAU;;GAEtB,CAAC;;CAGN,uBAAsC;AAClC,OAAK,gBAAgB;AACrB,OAAK,eAAe;AACpB,QAAM,sBAAsB;;CAGhC,kBAA0B,QAAgB,UAAwB;AAC9D,qBAAmB;GACf,cAAc,KAAK;GACnB,MAAM;GACN;GACA;GACA,WAAW,KAAK;GAChB,YAAY,KAAK;GACpB,CAAC;;CAGN,mBAA2B,OAAoB;AAC3C,QAAM,gBAAgB;AACtB,OAAK,kBAAkB,KAAK,eAAe,KAAK,gBAAgB;;CAGpE,sBAA8B,OAAoB;AAC9C,QAAM,gBAAgB;AACtB,OAAK,kBAAkB,KAAK,kBAAkB,KAAK,mBAAmB;;CAG1E,SAAkB;AACd,MAAI,KAAK,QACL,QAAO,IAAI;;sDAE+B,KAAK,mBAAmB;;;AAKtE,MAAI,KAAK,UACL,QAAO,IAAI;;yFAEkE,KAAK,eAAe;;;;;;;;;iCAS5E,KAAK,sBAAsB;;0BAElC,KAAK,gBAAgB;;;;AAMvC,SAAO,IAAI;;+GAE4F,KAAK,kBAAkB;;;;;;;;;6BASzG,KAAK,mBAAmB;;sBAE/B,KAAK,aAAa;;;;;;YAzInC,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,eAAA,WAAA,aAAA,KAAA,EAAA;YAG1C,SAAS,EAAE,WAAW,kBAAkB,CAAC,CAAA,EAAA,eAAA,WAAA,iBAAA,KAAA,EAAA;YAGzC,SAAS,EAAE,WAAW,qBAAqB,CAAC,CAAA,EAAA,eAAA,WAAA,oBAAA,KAAA,EAAA;YAG5C,SAAS,EAAE,WAAW,cAAc,CAAC,CAAA,EAAA,eAAA,WAAA,aAAA,KAAA,EAAA;YAGrC,SAAS,EAAE,WAAW,eAAe,CAAC,CAAA,EAAA,eAAA,WAAA,cAAA,KAAA,EAAA;YAGtC,SAAS,EAAE,WAAW,oBAAoB,CAAC,CAAA,EAAA,eAAA,WAAA,mBAAA,KAAA,EAAA;YAG3C,SAAS,EAAE,WAAW,uBAAuB,CAAC,CAAA,EAAA,eAAA,WAAA,sBAAA,KAAA,EAAA;YAG9C,SAAS,EAAE,WAAW,iBAAiB,CAAC,CAAA,EAAA,eAAA,WAAA,gBAAA,KAAA,EAAA;YAIxC,SAAS;CAAE,MAAM;CAAS,WAAW;CAAoB,CAAC,CAAA,EAAA,eAAA,WAAA,kBAAA,KAAA,EAAA;YAG1D,SAAS,EAAE,WAAW,mBAAmB,CAAC,CAAA,EAAA,eAAA,WAAA,kBAAA,KAAA,EAAA;YAG1C,SAAS,EAAE,WAAW,uBAAuB,CAAC,CAAA,EAAA,eAAA,WAAA,qBAAA,KAAA,EAAA;YAG9C,SAAS,EAAE,WAAW,iBAAiB,CAAC,CAAA,EAAA,eAAA,WAAA,gBAAA,KAAA,EAAA;YAGxC,SAAS,EAAE,WAAW,oBAAoB,CAAC,CAAA,EAAA,eAAA,WAAA,mBAAA,KAAA,EAAA;YAG3C,SAAS,EAAE,WAAW,yBAAyB,CAAC,CAAA,EAAA,eAAA,WAAA,sBAAA,KAAA,EAAA;YAGhD,OAAO,CAAA,EAAA,eAAA,WAAA,WAAA,KAAA,EAAA;6BA/CX,cAAc,mBAAmB,CAAA,EAAA,eAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ConnectStatus } from '@verbb/plugin-kit-core';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* Credentials / REST connect row for Craft CP source settings.
|
|
5
|
+
*
|
|
6
|
+
* **Light DOM** — mounts inside Craft `.field.lightswitch-field` and reuses CP
|
|
7
|
+
* `.heading` / `.input` columns (see `pk-connect-oauth` for the same rationale).
|
|
8
|
+
*
|
|
9
|
+
* @fires pk-status-change - `detail.status` is the new {@link ConnectStatus}.
|
|
10
|
+
*/
|
|
11
|
+
export declare class PkConnect extends LitElement {
|
|
12
|
+
static styles: import('lit').CSSResult;
|
|
13
|
+
/** Craft controller action, e.g. `metrix/sources/check-connection`. */
|
|
14
|
+
action: string;
|
|
15
|
+
status: ConnectStatus;
|
|
16
|
+
formSelector: string;
|
|
17
|
+
sourceId: string | null;
|
|
18
|
+
/** POST key for the record id (`sourceId` default; Formie uses `id`). */
|
|
19
|
+
idParam: string;
|
|
20
|
+
type: string;
|
|
21
|
+
labelConnected: string;
|
|
22
|
+
labelNotConnected: string;
|
|
23
|
+
labelConnecting: string;
|
|
24
|
+
labelError: string;
|
|
25
|
+
labelConnect: string;
|
|
26
|
+
labelRefresh: string;
|
|
27
|
+
labelSaveToConnect: string;
|
|
28
|
+
labelErrorHeading: string;
|
|
29
|
+
labelGenericError: string;
|
|
30
|
+
labelShowDetails: string;
|
|
31
|
+
labelHideDetails: string;
|
|
32
|
+
labelClose: string;
|
|
33
|
+
private isDirty;
|
|
34
|
+
private loading;
|
|
35
|
+
private showDetails;
|
|
36
|
+
private unwatchDirty;
|
|
37
|
+
private errorDialog;
|
|
38
|
+
createRenderRoot(): HTMLElement | DocumentFragment;
|
|
39
|
+
connectedCallback(): void;
|
|
40
|
+
disconnectedCallback(): void;
|
|
41
|
+
private get labels();
|
|
42
|
+
private get fieldHost();
|
|
43
|
+
private get statusLabel();
|
|
44
|
+
private get statusLabelMuted();
|
|
45
|
+
private get actionLabel();
|
|
46
|
+
private setConnectStatus;
|
|
47
|
+
private setModalOpen;
|
|
48
|
+
private ensureErrorDialog;
|
|
49
|
+
private showErrorModal;
|
|
50
|
+
private handleConnectClick;
|
|
51
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
52
|
+
}
|
|
53
|
+
declare global {
|
|
54
|
+
interface HTMLElementTagNameMap {
|
|
55
|
+
'pk-connect': PkConnect;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=pk-connect.d.ts.map
|
|
@@ -0,0 +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;AAC5B,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;IAGxB,OAAO,CAAC,WAAW,CAAS;IAE5B,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;IAQpB,OAAO,CAAC,iBAAiB;IAkEzB,OAAO,CAAC,cAAc;YA8BR,kBAAkB;IAwCvB,MAAM;CAiClB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
|