@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
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Document-scoped connect styles (light DOM — not shadow-piercing).
|
|
3
|
+
*
|
|
4
|
+
* Row layout lives here — canonical for CP. Lit `:host` rules in `pk-connect.styles.ts`
|
|
5
|
+
* are a secondary copy; light-DOM WCs do not always receive adopted `:host` styles.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* Lift the connect row above CP chrome while the error dialog is open. */
|
|
9
|
+
.pk-connect-field.pk-connect-field--modal-open {
|
|
10
|
+
position: relative;
|
|
11
|
+
z-index: 2147482999;
|
|
12
|
+
isolation: isolate;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* Connect row layout — CP meta lightswitch row (status/label left, action right).
|
|
17
|
+
* Twig mounts `<pk-connect>` / `<pk-connect-oauth>` inside `.pk-connect-field`.
|
|
18
|
+
*/
|
|
19
|
+
.pk-connect-field > pk-connect,
|
|
20
|
+
.pk-connect-field > pk-connect-oauth {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-wrap: nowrap;
|
|
23
|
+
align-items: stretch;
|
|
24
|
+
justify-content: space-between;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
width: 100%;
|
|
27
|
+
flex: 1 1 100%;
|
|
28
|
+
min-width: 0;
|
|
29
|
+
min-height: 2.75rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .heading {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
gap: var(--pk-connect-status-gap, 15px);
|
|
36
|
+
margin: 0;
|
|
37
|
+
flex: 1 1 auto;
|
|
38
|
+
min-width: 0;
|
|
39
|
+
line-height: 1.125rem;
|
|
40
|
+
padding-block: 0.75rem;
|
|
41
|
+
padding-inline: var(--pk-connect-heading-padding-inline, var(--m, 1rem) var(--s, 0.75rem));
|
|
42
|
+
color: var(--pk-connect-heading-color, var(--gray-600, #515f6c));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .heading:only-child {
|
|
46
|
+
flex: 1 1 100%;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .input {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
flex: 0 0 auto;
|
|
53
|
+
padding-block: var(--pk-connect-input-padding-block, var(--s, 0.75rem));
|
|
54
|
+
padding-inline: var(--pk-connect-input-padding-inline, 10px var(--m, 1rem));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .heading .light {
|
|
58
|
+
color: var(--pk-connect-muted-color, var(--gray-500, #606d7b));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .heading pk-status.pk-connect__status-icon {
|
|
62
|
+
display: block;
|
|
63
|
+
flex-shrink: 0;
|
|
64
|
+
width: 0.75rem;
|
|
65
|
+
height: 0.75rem;
|
|
66
|
+
--pk-status-ring: var(--gray-500);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.pk-connect-field > :is(pk-connect, pk-connect-oauth) > .heading .warning.with-icon::before {
|
|
70
|
+
margin-inline-end: 7px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* Connection error dialog — full-viewport on small screens, ~66% on md+.
|
|
75
|
+
* Tokens pierce into pk-dialog's shadow panel; host Tailwind never reaches .dialog.
|
|
76
|
+
*/
|
|
77
|
+
pk-dialog.pk-connect-dialog {
|
|
78
|
+
--pk-dialog-width: calc(100vw - 24px);
|
|
79
|
+
--pk-dialog-max-width: calc(100vw - 24px);
|
|
80
|
+
--pk-dialog-height: calc(100dvh - 24px);
|
|
81
|
+
--pk-dialog-max-height: calc(100dvh - 24px);
|
|
82
|
+
--pk-dialog-min-width: 0;
|
|
83
|
+
--pk-dialog-min-height: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@media (min-width: 768px) {
|
|
87
|
+
pk-dialog.pk-connect-dialog {
|
|
88
|
+
--pk-dialog-width: 66%;
|
|
89
|
+
--pk-dialog-max-width: 66%;
|
|
90
|
+
--pk-dialog-height: 66%;
|
|
91
|
+
--pk-dialog-max-height: calc(100dvh - 24px);
|
|
92
|
+
--pk-dialog-min-width: 600px;
|
|
93
|
+
--pk-dialog-min-height: 400px;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
pk-dialog.pk-connect-dialog::part(body) {
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
position: relative;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
pk-button.pk-connect-dialog__close {
|
|
104
|
+
position: absolute;
|
|
105
|
+
top: 1rem;
|
|
106
|
+
right: 1rem;
|
|
107
|
+
z-index: 1;
|
|
108
|
+
opacity: 0.7;
|
|
109
|
+
color: var(--pk-color-gray-600, #515f6c);
|
|
110
|
+
--pk-btn-height: 1.125rem;
|
|
111
|
+
--pk-btn-icon-size: 1.125rem;
|
|
112
|
+
--pk-btn-padding-inline: 0;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
pk-button.pk-connect-dialog__close:hover:not([disabled]) {
|
|
116
|
+
opacity: 1;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
pk-button.pk-connect-dialog__close::part(base) {
|
|
120
|
+
width: 1.125rem;
|
|
121
|
+
min-width: 1.125rem;
|
|
122
|
+
height: 1.125rem;
|
|
123
|
+
min-height: 1.125rem;
|
|
124
|
+
padding: 0;
|
|
125
|
+
background: transparent;
|
|
126
|
+
box-shadow: none;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.pk-connection-error {
|
|
130
|
+
display: flex;
|
|
131
|
+
width: 100%;
|
|
132
|
+
height: 100%;
|
|
133
|
+
align-items: center;
|
|
134
|
+
justify-content: center;
|
|
135
|
+
padding: 2rem;
|
|
136
|
+
text-align: center;
|
|
137
|
+
color: var(--pk-color-rose-600, #e11d48);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.pk-connection-error__stack {
|
|
141
|
+
display: flex;
|
|
142
|
+
width: 100%;
|
|
143
|
+
max-width: 680px;
|
|
144
|
+
flex-direction: column;
|
|
145
|
+
align-items: center;
|
|
146
|
+
gap: 0.5rem;
|
|
147
|
+
font-size: 0.875rem;
|
|
148
|
+
color: inherit;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.pk-connection-error__icon {
|
|
152
|
+
display: flex;
|
|
153
|
+
align-items: center;
|
|
154
|
+
justify-content: center;
|
|
155
|
+
color: var(--pk-color-rose-600, #e11d48);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.pk-connection-error__icon pk-icon {
|
|
159
|
+
width: 2.5rem;
|
|
160
|
+
height: 2.5rem;
|
|
161
|
+
font-size: 2.5rem;
|
|
162
|
+
color: inherit;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.pk-connection-error__heading {
|
|
166
|
+
margin: 0;
|
|
167
|
+
font-size: 1rem;
|
|
168
|
+
font-weight: 600;
|
|
169
|
+
line-height: 1.25;
|
|
170
|
+
color: inherit;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.pk-connection-error__message {
|
|
174
|
+
margin: 0;
|
|
175
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
176
|
+
font-size: 0.75rem;
|
|
177
|
+
line-height: 1.5;
|
|
178
|
+
color: inherit;
|
|
179
|
+
white-space: pre-wrap;
|
|
180
|
+
overflow-wrap: anywhere;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.pk-connection-error__details {
|
|
184
|
+
width: 100%;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.pk-connection-error__details.hidden {
|
|
188
|
+
display: none;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.pk-connection-error__details-toggle {
|
|
192
|
+
display: flex;
|
|
193
|
+
align-items: center;
|
|
194
|
+
justify-content: center;
|
|
195
|
+
gap: 0.25rem;
|
|
196
|
+
margin: 0.25rem auto 0;
|
|
197
|
+
padding: 0;
|
|
198
|
+
border: 0;
|
|
199
|
+
background: transparent;
|
|
200
|
+
color: inherit;
|
|
201
|
+
cursor: pointer;
|
|
202
|
+
font-size: 0.75rem;
|
|
203
|
+
line-height: 1.25;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.pk-connection-error__details-toggle pk-icon {
|
|
207
|
+
width: 0.75rem;
|
|
208
|
+
height: 0.75rem;
|
|
209
|
+
font-size: 0.75rem;
|
|
210
|
+
transition: transform 0.15s ease;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.pk-connection-error__details-toggle pk-icon.is-open {
|
|
214
|
+
transform: rotate(90deg);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.pk-connection-error__trace {
|
|
218
|
+
margin-top: 0.75rem;
|
|
219
|
+
max-height: 180px;
|
|
220
|
+
overflow: auto;
|
|
221
|
+
border-radius: 0.375rem;
|
|
222
|
+
background: var(--pk-color-gray-50, #f3f7fc);
|
|
223
|
+
padding: 0.75rem;
|
|
224
|
+
text-align: left;
|
|
225
|
+
font-size: 0.75rem;
|
|
226
|
+
color: var(--pk-color-gray-700, #3f4d5a);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.pk-connection-error__trace.hidden {
|
|
230
|
+
display: none;
|
|
231
|
+
}
|
package/dist/utilities/fouce.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, u as t } from "./lit-Dnn7gEi2.js";
|
|
2
2
|
import { c as __decorate, l as PkElement, s as iconStyles, u as hostDisplayInlineBlock } from "./pk-base-BlxAYXJD.js";
|
|
3
3
|
import "./pk-spinner-Di9O69-m.js";
|
|
4
|
-
import { h as chevronDown, t as iconToSvg } from "./svg-
|
|
5
|
-
import { i as buttonGroupIndentStyles, n as buttonGroupCornerRadiusStyles, r as buttonGroupCornerRoleStyles, t as buttonGroupBorderJoinStyles } from "./button-group-item.styles-
|
|
4
|
+
import { h as chevronDown, t as iconToSvg } from "./svg-_Mtb7CHx.js";
|
|
5
|
+
import { i as buttonGroupIndentStyles, n as buttonGroupCornerRadiusStyles, r as buttonGroupCornerRoleStyles, t as buttonGroupBorderJoinStyles } from "./button-group-item.styles-Dwakbyx5.js";
|
|
6
6
|
//#region src/components/spinner/spinner-utils.ts
|
|
7
7
|
function getButtonSpinnerSize(buttonSize = "default") {
|
|
8
8
|
if (buttonSize === "xxs" || buttonSize === "xs") return "xxs";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as o$1, c as r, f as A, i as e, l as n, m as i, o, p as b, u as t } from "./lit-Dnn7gEi2.js";
|
|
2
2
|
import { c as __decorate, l as PkElement, s as iconStyles } from "./pk-base-BlxAYXJD.js";
|
|
3
|
-
import { _ as chevronRight, g as chevronLeft } from "./svg-
|
|
4
|
-
import { t as HasSlotController } from "./has-slot-
|
|
5
|
-
import { n as renderIconHtml } from "./render-
|
|
3
|
+
import { _ as chevronRight, g as chevronLeft } from "./svg-_Mtb7CHx.js";
|
|
4
|
+
import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
|
|
5
|
+
import { n as renderIconHtml } from "./render-Niz5wYRa.js";
|
|
6
6
|
//#region src/utils/date.ts
|
|
7
7
|
/** ISO date helpers — ported from `date-picker/internal/iso`. */
|
|
8
8
|
var ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
|
|
2
2
|
import { c as __decorate, i as PkFormAssociatedElement, r as checkboxControlStyles } from "./pk-base-BlxAYXJD.js";
|
|
3
|
-
import { t as RequiredValidator } from "./required-validator-
|
|
4
|
-
import { t as HasSlotController } from "./has-slot-
|
|
3
|
+
import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
|
|
4
|
+
import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
|
|
5
5
|
//#region src/icons/checkbox-indicators.ts
|
|
6
6
|
/** Craft checkbox tick — matches plugin-kit-react Checkbox.tsx */
|
|
7
7
|
function renderCheckboxCheckIcon() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
|
|
2
2
|
import { c as __decorate, i as PkFormAssociatedElement } from "./pk-base-BlxAYXJD.js";
|
|
3
|
-
import { t as MirrorValidator } from "./mirror-validator-
|
|
4
|
-
import { t as RequiredValidator } from "./required-validator-
|
|
3
|
+
import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
|
|
4
|
+
import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
|
|
5
5
|
//#region src/components/color-input/pk-color-input.styles.ts
|
|
6
6
|
/**
|
|
7
7
|
* Size scale matches pk-input (xs / sm / default / lg). Metrics are shifted so
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, t as LiveRegion, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
|
|
2
2
|
import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
|
|
3
3
|
import { c as __decorate, i as PkFormAssociatedElement, s as iconStyles } from "./pk-base-BlxAYXJD.js";
|
|
4
|
-
import {
|
|
5
|
-
import { t as MirrorValidator } from "./mirror-validator-
|
|
6
|
-
import { t as HasSlotController } from "./has-slot-
|
|
7
|
-
import { t as PkClearEvent } from "./pk-clear-
|
|
8
|
-
import { n as renderIconHtml } from "./render-
|
|
9
|
-
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-
|
|
10
|
-
import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-
|
|
11
|
-
import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-
|
|
12
|
-
import "./pk-popup-
|
|
13
|
-
import { n as isPointerInsideOverlay, t as isEventInsideOverlay } from "./popup-pointer-
|
|
14
|
-
import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS, t as syncListboxSeparators } from "./sync-listbox-separators-
|
|
4
|
+
import { Y as xmark, h as chevronDown } from "./svg-_Mtb7CHx.js";
|
|
5
|
+
import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
|
|
6
|
+
import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
|
|
7
|
+
import { t as PkClearEvent } from "./pk-clear-BMZUzwDt.js";
|
|
8
|
+
import { n as renderIconHtml } from "./render-Niz5wYRa.js";
|
|
9
|
+
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
|
|
10
|
+
import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
|
|
11
|
+
import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-S6CK-zPp.js";
|
|
12
|
+
import "./pk-popup-Cfj3YNEC.js";
|
|
13
|
+
import { n as isPointerInsideOverlay, t as isEventInsideOverlay } from "./popup-pointer-caPc8kwB.js";
|
|
14
|
+
import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS, t as syncListboxSeparators } from "./sync-listbox-separators-Dk_E_IVa.js";
|
|
15
15
|
//#region src/events/pk-create.ts
|
|
16
16
|
/** Fired before a combobox creates a new option — mirrors `pk-create`. */
|
|
17
17
|
var PkCreateEvent = class extends Event {
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { m as i } from "./lit-Dnn7gEi2.js";
|
|
2
|
+
//#region ../plugin-kit-core/dist/utils/forms.js
|
|
3
|
+
var nl2br = (str) => {
|
|
4
|
+
return str.replace(/\n/g, "<br>");
|
|
5
|
+
};
|
|
6
|
+
var getErrorHeading = (error) => {
|
|
7
|
+
if (error.response?.statusText) return error.response.statusText;
|
|
8
|
+
if (error.message?.includes("Network Error")) return "Network Error";
|
|
9
|
+
if (error.message?.includes("timeout")) return "Request Timeout";
|
|
10
|
+
return "An error has occurred";
|
|
11
|
+
};
|
|
12
|
+
var getErrorText = (error) => {
|
|
13
|
+
if (error.response?.data?.message) return error.response.data.message;
|
|
14
|
+
if (error.response?.data?.error) return error.response.data.error;
|
|
15
|
+
if (error.message) return error.message;
|
|
16
|
+
return String(error);
|
|
17
|
+
};
|
|
18
|
+
var getErrorTrace = (error, maxTraceLines = 5) => {
|
|
19
|
+
const traces = [];
|
|
20
|
+
const file1 = error.response?.data?.file;
|
|
21
|
+
const line1 = error.response?.data?.line;
|
|
22
|
+
if (file1 && line1) traces.push(`${file1}:${line1}`);
|
|
23
|
+
const traceArray = error.response?.data?.trace || [];
|
|
24
|
+
for (let i = 0; i < Math.min(maxTraceLines, traceArray.length); i++) {
|
|
25
|
+
const traceItem = traceArray[i];
|
|
26
|
+
if (traceItem?.file && traceItem?.line) traces.push(`${traceItem.file}:${traceItem.line}`);
|
|
27
|
+
}
|
|
28
|
+
if (error.stack && traces.length === 0) traces.push(error.stack);
|
|
29
|
+
return {
|
|
30
|
+
traces,
|
|
31
|
+
traceAsString: traces.map(nl2br).join("<br>")
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
var getErrorMessage = function(error, maxTraceLines = 5) {
|
|
35
|
+
const { traces, traceAsString } = getErrorTrace(error, maxTraceLines);
|
|
36
|
+
return {
|
|
37
|
+
heading: getErrorHeading(error),
|
|
38
|
+
text: getErrorText(error),
|
|
39
|
+
trace: traceAsString,
|
|
40
|
+
traceAsString,
|
|
41
|
+
traceAsArray: traces
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region ../plugin-kit-core/dist/utils/connect.js
|
|
46
|
+
var DEFAULT_FORM_SELECTOR = "#main-form";
|
|
47
|
+
var resolveCpForm = ({ formSelector = DEFAULT_FORM_SELECTOR, host } = {}) => {
|
|
48
|
+
if (formSelector) {
|
|
49
|
+
const explicit = document.querySelector(formSelector);
|
|
50
|
+
if (explicit) return explicit;
|
|
51
|
+
}
|
|
52
|
+
const hostForm = host?.closest("form") ?? null;
|
|
53
|
+
if (hostForm) return hostForm;
|
|
54
|
+
return document.querySelector(DEFAULT_FORM_SELECTOR) ?? document.getElementById("main");
|
|
55
|
+
};
|
|
56
|
+
/** Escape text for CP dialog markup; prefers `Craft.escapeHtml` when available. */
|
|
57
|
+
var escapeCpHtml = (value) => {
|
|
58
|
+
if (window.Craft?.escapeHtml) return window.Craft.escapeHtml(value);
|
|
59
|
+
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
60
|
+
};
|
|
61
|
+
/** POST a credentials connect/check controller action from the CP. */
|
|
62
|
+
var sendCpConnectRequest = (action, data) => {
|
|
63
|
+
if (!window.Craft?.sendActionRequest) return Promise.reject(/* @__PURE__ */ new Error("Craft.sendActionRequest is unavailable."));
|
|
64
|
+
return window.Craft.sendActionRequest("POST", action, { data });
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Serialize named CP form controls into a flat key → value map.
|
|
68
|
+
* Mirrors Video Picker / Formie connect payloads (name attribute only).
|
|
69
|
+
*/
|
|
70
|
+
var serializeCpForm = (formSelector = DEFAULT_FORM_SELECTOR, host) => {
|
|
71
|
+
const form = resolveCpForm({
|
|
72
|
+
formSelector,
|
|
73
|
+
host
|
|
74
|
+
});
|
|
75
|
+
if (!form) return {};
|
|
76
|
+
const values = {};
|
|
77
|
+
form.querySelectorAll("input, select, textarea").forEach((input) => {
|
|
78
|
+
const name = input.getAttribute("name");
|
|
79
|
+
if (name) values[name] = input.value;
|
|
80
|
+
});
|
|
81
|
+
return values;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Build the POST body for check-connection controller actions from serialized form values.
|
|
85
|
+
*/
|
|
86
|
+
var buildConnectPayload = (values, options = {}) => {
|
|
87
|
+
const includeTypeNamespace = options.includeTypeNamespace !== false;
|
|
88
|
+
const type = values.type || options.type || "";
|
|
89
|
+
const idParam = options.idParam ?? "sourceId";
|
|
90
|
+
const payload = { type };
|
|
91
|
+
payload[idParam] = values[idParam] ?? values.sourceId ?? values.id ?? options.sourceId;
|
|
92
|
+
const csrfTokenName = typeof window !== "undefined" ? window.Craft?.csrfTokenName : void 0;
|
|
93
|
+
if (csrfTokenName && values[csrfTokenName]) payload[csrfTokenName] = values[csrfTokenName];
|
|
94
|
+
if (includeTypeNamespace && type) {
|
|
95
|
+
const prefix = `types[${type}]`;
|
|
96
|
+
Object.keys(values).forEach((key) => {
|
|
97
|
+
if (key.startsWith(prefix)) payload[key] = values[key];
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
(options.extraKeys ?? [
|
|
101
|
+
"name",
|
|
102
|
+
"handle",
|
|
103
|
+
"enabled"
|
|
104
|
+
]).forEach((key) => {
|
|
105
|
+
if (values[key] !== void 0) payload[key] = values[key];
|
|
106
|
+
});
|
|
107
|
+
return payload;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Normalize Craft AJAX / logical failures into dialog-friendly error content.
|
|
111
|
+
*/
|
|
112
|
+
var resolveConnectError = (sourceError, labels) => {
|
|
113
|
+
if (sourceError == null || sourceError === "") return {
|
|
114
|
+
heading: labels.errorHeading,
|
|
115
|
+
text: labels.genericError,
|
|
116
|
+
trace: "",
|
|
117
|
+
traceAsString: "",
|
|
118
|
+
traceAsArray: []
|
|
119
|
+
};
|
|
120
|
+
if (typeof sourceError === "string") return {
|
|
121
|
+
heading: labels.errorHeading,
|
|
122
|
+
text: sourceError,
|
|
123
|
+
trace: "",
|
|
124
|
+
traceAsString: "",
|
|
125
|
+
traceAsArray: []
|
|
126
|
+
};
|
|
127
|
+
let normalized = sourceError;
|
|
128
|
+
if (typeof sourceError === "object" && sourceError !== null && "data" in sourceError && !("response" in sourceError)) normalized = { response: {
|
|
129
|
+
data: sourceError.data,
|
|
130
|
+
statusText: labels.errorHeading
|
|
131
|
+
} };
|
|
132
|
+
const parsed = getErrorMessage(normalized);
|
|
133
|
+
if (parsed.text) return parsed;
|
|
134
|
+
return {
|
|
135
|
+
heading: labels.errorHeading,
|
|
136
|
+
text: labels.genericError,
|
|
137
|
+
trace: "",
|
|
138
|
+
traceAsString: "",
|
|
139
|
+
traceAsArray: []
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Submit a Craft CP controller action via the edit form (or host's ancestor form).
|
|
144
|
+
* Mirrors `.formsubmit` / `Craft.submitForm` without requiring a Craft-styled trigger.
|
|
145
|
+
*/
|
|
146
|
+
var submitCpFormAction = ({ formSelector = DEFAULT_FORM_SELECTOR, host, action, redirect, paramName, paramValue, confirm }) => {
|
|
147
|
+
const form = resolveCpForm({
|
|
148
|
+
formSelector,
|
|
149
|
+
host
|
|
150
|
+
});
|
|
151
|
+
const craft = window.Craft;
|
|
152
|
+
const $ = window.$;
|
|
153
|
+
if (!form || typeof craft?.submitForm !== "function" || !$) return;
|
|
154
|
+
const params = {};
|
|
155
|
+
if (paramName && paramValue) params[paramName] = paramValue;
|
|
156
|
+
craft.submitForm($(form), {
|
|
157
|
+
action,
|
|
158
|
+
redirect,
|
|
159
|
+
params,
|
|
160
|
+
confirm
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Watch the main CP edit form for unsaved changes.
|
|
165
|
+
* Returns a cleanup function — use for OAuth rows or custom connect hosts.
|
|
166
|
+
*/
|
|
167
|
+
var watchCpFormDirty = ({ formSelector = DEFAULT_FORM_SELECTOR, host, onDirty, onClean }) => {
|
|
168
|
+
const form = resolveCpForm({
|
|
169
|
+
formSelector,
|
|
170
|
+
host
|
|
171
|
+
});
|
|
172
|
+
if (!form) return () => {};
|
|
173
|
+
const initialSnapshot = JSON.stringify(serializeCpForm(formSelector, host));
|
|
174
|
+
const handleChange = () => {
|
|
175
|
+
if (JSON.stringify(serializeCpForm(formSelector, host)) !== initialSnapshot) onDirty();
|
|
176
|
+
else onClean?.();
|
|
177
|
+
};
|
|
178
|
+
const inputs = form.querySelectorAll("input, select, textarea");
|
|
179
|
+
const lightswitches = form.querySelectorAll(".lightswitch");
|
|
180
|
+
inputs.forEach((input) => {
|
|
181
|
+
input.addEventListener("input", handleChange);
|
|
182
|
+
});
|
|
183
|
+
lightswitches.forEach((lightswitch) => {
|
|
184
|
+
lightswitch.addEventListener("change", handleChange);
|
|
185
|
+
});
|
|
186
|
+
return () => {
|
|
187
|
+
inputs.forEach((input) => {
|
|
188
|
+
input.removeEventListener("input", handleChange);
|
|
189
|
+
});
|
|
190
|
+
lightswitches.forEach((lightswitch) => {
|
|
191
|
+
lightswitch.removeEventListener("change", handleChange);
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region src/components/connect/pk-connect.styles.ts
|
|
197
|
+
/**
|
|
198
|
+
* Connect row layout on the custom-element host (light DOM).
|
|
199
|
+
*
|
|
200
|
+
* Mirrors `styles/connect/pk-connect.css` — document CSS is canonical for CP;
|
|
201
|
+
* keep `:host` rules in sync as a bundled fallback when document CSS is present.
|
|
202
|
+
*/
|
|
203
|
+
var pkConnectStyles = i`
|
|
204
|
+
@layer pk-component {
|
|
205
|
+
:host {
|
|
206
|
+
display: flex;
|
|
207
|
+
flex-wrap: nowrap;
|
|
208
|
+
align-items: stretch;
|
|
209
|
+
justify-content: space-between;
|
|
210
|
+
box-sizing: border-box;
|
|
211
|
+
width: 100%;
|
|
212
|
+
flex: 1 1 100%;
|
|
213
|
+
min-width: 0;
|
|
214
|
+
min-height: 2.75rem;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
:host .heading {
|
|
218
|
+
display: flex;
|
|
219
|
+
align-items: center;
|
|
220
|
+
gap: var(--pk-connect-status-gap, 15px);
|
|
221
|
+
margin: 0;
|
|
222
|
+
flex: 1 1 auto;
|
|
223
|
+
min-width: 0;
|
|
224
|
+
line-height: 1.125rem;
|
|
225
|
+
padding-block: 0.75rem;
|
|
226
|
+
padding-inline: var(--pk-connect-heading-padding-inline, var(--m, 1rem) var(--s, 0.75rem));
|
|
227
|
+
color: var(--pk-connect-heading-color, var(--gray-600, #515f6c));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
:host .heading:only-child {
|
|
231
|
+
flex: 1 1 100%;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
:host .input {
|
|
235
|
+
display: flex;
|
|
236
|
+
align-items: center;
|
|
237
|
+
flex: 0 0 auto;
|
|
238
|
+
padding-block: var(--pk-connect-input-padding-block, var(--s, 0.75rem));
|
|
239
|
+
padding-inline: var(--pk-connect-input-padding-inline, 10px var(--m, 1rem));
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
:host .heading .light {
|
|
243
|
+
color: var(--pk-connect-muted-color, var(--gray-500, #606d7b));
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
:host .heading pk-status.pk-connect__status-icon {
|
|
247
|
+
display: block;
|
|
248
|
+
flex-shrink: 0;
|
|
249
|
+
width: 0.75rem;
|
|
250
|
+
height: 0.75rem;
|
|
251
|
+
--pk-status-ring: var(--gray-500);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
:host .heading .warning.with-icon::before {
|
|
255
|
+
margin-inline-end: 7px;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
`;
|
|
259
|
+
//#endregion
|
|
260
|
+
export { sendCpConnectRequest as a, watchCpFormDirty as c, resolveConnectError as i, buildConnectPayload as n, serializeCpForm as o, escapeCpHtml as r, submitCpFormAction as s, pkConnectStyles as t };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
|
|
2
2
|
import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
|
|
3
3
|
import { c as __decorate, i as PkFormAssociatedElement, n as formControlStyles, s as iconStyles } from "./pk-base-BlxAYXJD.js";
|
|
4
|
-
import {
|
|
5
|
-
import { t as MirrorValidator } from "./mirror-validator-
|
|
6
|
-
import { t as RequiredValidator } from "./required-validator-
|
|
7
|
-
import { t as HasSlotController } from "./has-slot-
|
|
8
|
-
import { t as PkClearEvent } from "./pk-clear-
|
|
9
|
-
import { n as readLegacyInstructions } from "./field-labels-
|
|
10
|
-
import { n as renderIconHtml } from "./render-
|
|
11
|
-
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-
|
|
12
|
-
import { i as waitForPopupReposition } from "./popup-placement-animation-
|
|
13
|
-
import "./pk-popup-
|
|
14
|
-
import { n as isPointerInsideOverlay } from "./popup-pointer-
|
|
15
|
-
import { a as parseIsoDate, i as parseDateList, n as coerceToDate, o as parseRange, r as formatIsoDate } from "./pk-calendar-
|
|
4
|
+
import { Y as xmark, p as calendar } from "./svg-_Mtb7CHx.js";
|
|
5
|
+
import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
|
|
6
|
+
import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
|
|
7
|
+
import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
|
|
8
|
+
import { t as PkClearEvent } from "./pk-clear-BMZUzwDt.js";
|
|
9
|
+
import { n as readLegacyInstructions } from "./field-labels-D3lKQ2nq.js";
|
|
10
|
+
import { n as renderIconHtml } from "./render-Niz5wYRa.js";
|
|
11
|
+
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
|
|
12
|
+
import { i as waitForPopupReposition } from "./popup-placement-animation-WlEXnS85.js";
|
|
13
|
+
import "./pk-popup-Cfj3YNEC.js";
|
|
14
|
+
import { n as isPointerInsideOverlay } from "./popup-pointer-caPc8kwB.js";
|
|
15
|
+
import { a as parseIsoDate, i as parseDateList, n as coerceToDate, o as parseRange, r as formatIsoDate } from "./pk-calendar-Bb6q8opO.js";
|
|
16
16
|
//#region src/utils/host-date.ts
|
|
17
17
|
function getCraft() {
|
|
18
18
|
return globalThis.Craft;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { c as unlockBodyScrolling, d as registerDismissible, f as unregisterDismissible, o as lockBodyScrolling, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
|
|
2
2
|
import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
|
|
3
3
|
import { c as __decorate, l as PkElement } from "./pk-base-BlxAYXJD.js";
|
|
4
|
-
import {
|
|
5
|
-
import { n as renderIconHtml } from "./render-
|
|
6
|
-
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-
|
|
7
|
-
import { t as animateWithClass } from "./animate-with-class-
|
|
4
|
+
import { Y as xmark } from "./svg-_Mtb7CHx.js";
|
|
5
|
+
import { n as renderIconHtml } from "./render-Niz5wYRa.js";
|
|
6
|
+
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
|
|
7
|
+
import { t as animateWithClass } from "./animate-with-class-DT0jwaR_.js";
|
|
8
8
|
//#region src/utils/craft-host-modal.ts
|
|
9
9
|
/**
|
|
10
10
|
* Craft CP Garnish modals (element selector, asset picker, …) live in normal
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { a as o, c as r, f as A, l as n, m as i, p as b, s as e, u as t } from "./lit-Dnn7gEi2.js";
|
|
2
2
|
import { c as __decorate, l as PkElement } from "./pk-base-BlxAYXJD.js";
|
|
3
|
-
import { _ as chevronRight, m as check } from "./svg-
|
|
4
|
-
import { t as HasSlotController } from "./has-slot-
|
|
5
|
-
import { n as renderIconHtml } from "./render-
|
|
6
|
-
import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-
|
|
7
|
-
import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-
|
|
3
|
+
import { _ as chevronRight, m as check } from "./svg-_Mtb7CHx.js";
|
|
4
|
+
import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
|
|
5
|
+
import { n as renderIconHtml } from "./render-Niz5wYRa.js";
|
|
6
|
+
import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
|
|
7
|
+
import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-S6CK-zPp.js";
|
|
8
8
|
//#region src/components/dropdown-menu/dropdown-menu-size.styles.ts
|
|
9
9
|
var dropdownMenuSizeTokens = {
|
|
10
10
|
default: i`
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { d as registerDismissible, f as unregisterDismissible, r as activeElements, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
|
|
2
2
|
import { l as n, m as i, p as b, s as e, u as t } from "./lit-Dnn7gEi2.js";
|
|
3
3
|
import { c as __decorate, l as PkElement } from "./pk-base-BlxAYXJD.js";
|
|
4
|
-
import { r as buttonGroupCornerRoleStyles } from "./button-group-item.styles-
|
|
5
|
-
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-
|
|
6
|
-
import { t as animateWithClass } from "./animate-with-class-
|
|
7
|
-
import { i as waitForPopupReposition } from "./popup-placement-animation-
|
|
8
|
-
import { n as dropdownMenuHostSizeStyles, r as dropdownMenuPanelSizeStyles, t as PkDropdownItem } from "./pk-dropdown-item-
|
|
9
|
-
import { n as resolveElementById } from "./pk-popup-
|
|
4
|
+
import { r as buttonGroupCornerRoleStyles } from "./button-group-item.styles-Dwakbyx5.js";
|
|
5
|
+
import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
|
|
6
|
+
import { t as animateWithClass } from "./animate-with-class-DT0jwaR_.js";
|
|
7
|
+
import { i as waitForPopupReposition } from "./popup-placement-animation-WlEXnS85.js";
|
|
8
|
+
import { n as dropdownMenuHostSizeStyles, r as dropdownMenuPanelSizeStyles, t as PkDropdownItem } from "./pk-dropdown-item-D2X2L4nu.js";
|
|
9
|
+
import { n as resolveElementById } from "./pk-popup-Cfj3YNEC.js";
|
|
10
10
|
//#region src/components/dropdown-menu/pk-dropdown-menu.styles.ts
|
|
11
11
|
/**
|
|
12
12
|
* Dropdown panel motion — `pk-dropdown` scale+fade, with transform
|