@verbb/plugin-kit-web 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/a11y/scroll-lock.d.ts +13 -7
  3. package/dist/a11y/scroll-lock.d.ts.map +1 -1
  4. package/dist/chunks/{autoloader-DXK9MVuw.js → autoloader-hkX3zcAt.js} +2 -21
  5. package/dist/chunks/autoloader-hkX3zcAt.js.map +1 -0
  6. package/dist/chunks/{pk-combobox-DtkXaX67.js → pk-combobox-BqaSsLJb.js} +2 -2
  7. package/dist/chunks/{pk-combobox-DtkXaX67.js.map → pk-combobox-BqaSsLJb.js.map} +1 -1
  8. package/dist/chunks/{pk-dialog-DZZd1Tzb.js → pk-dialog-BXJr3iEo.js} +17 -6
  9. package/dist/chunks/pk-dialog-BXJr3iEo.js.map +1 -0
  10. package/dist/chunks/{pk-editable-table-DVqOEz3W.js → pk-editable-table-sZO9JwiR.js} +4 -4
  11. package/dist/chunks/{pk-editable-table-DVqOEz3W.js.map → pk-editable-table-sZO9JwiR.js.map} +1 -1
  12. package/dist/chunks/{pk-select-odSNU1tN.js → pk-select-BPnO9qgj.js} +2 -2
  13. package/dist/chunks/{pk-select-odSNU1tN.js.map → pk-select-BPnO9qgj.js.map} +1 -1
  14. package/dist/chunks/{pk-time-picker-DtX0LtID.js → pk-time-picker-CZGr2dI2.js} +2 -2
  15. package/dist/chunks/{pk-time-picker-DtX0LtID.js.map → pk-time-picker-CZGr2dI2.js.map} +1 -1
  16. package/dist/chunks/{pk-tiptap-editor-CdoutapZ.js → pk-tiptap-editor-HemVPILE.js} +2 -2
  17. package/dist/chunks/{pk-tiptap-editor-CdoutapZ.js.map → pk-tiptap-editor-HemVPILE.js.map} +1 -1
  18. package/dist/chunks/{register-BYPBQHrq.js → register-BCiqL-PO.js} +7 -7
  19. package/dist/chunks/{register-BYPBQHrq.js.map → register-BCiqL-PO.js.map} +1 -1
  20. package/dist/chunks/scroll-lock-Bbh3Sc5g.js +160 -0
  21. package/dist/chunks/scroll-lock-Bbh3Sc5g.js.map +1 -0
  22. package/dist/components/combobox/pk-combobox.js +1 -1
  23. package/dist/components/combobox.js +1 -1
  24. package/dist/components/dialog/pk-dialog.d.ts +5 -0
  25. package/dist/components/dialog/pk-dialog.d.ts.map +1 -1
  26. package/dist/components/dialog/pk-dialog.js +1 -1
  27. package/dist/components/dialog/pk-dialog.styles.d.ts.map +1 -1
  28. package/dist/components/dialog.js +1 -1
  29. package/dist/components/editable-table/pk-editable-table.js +1 -1
  30. package/dist/components/editable-table.js +1 -1
  31. package/dist/components/select/pk-select.js +1 -1
  32. package/dist/components/select.js +1 -1
  33. package/dist/components/time-picker/pk-time-picker.js +1 -1
  34. package/dist/components/time-picker.js +1 -1
  35. package/dist/components/tiptap/pk-tiptap-editor.js +1 -1
  36. package/dist/components/tiptap-editor.js +1 -1
  37. package/dist/index.js +9 -9
  38. package/dist/plugin-kit.css +2 -5
  39. package/dist/plugin-kit.js +2 -2
  40. package/dist/register.js +7 -7
  41. package/dist/tokens.css +2 -5
  42. package/dist/utils/config.d.ts +2 -2
  43. package/dist/utils/config.d.ts.map +1 -1
  44. package/dist/utils/documentScrollStability.d.ts +3 -7
  45. package/dist/utils/documentScrollStability.d.ts.map +1 -1
  46. package/dist-loader/chunks/{pk-a11y-Cx5RZvhu.js → pk-a11y-CjB4-U-R.js} +61 -94
  47. package/dist-loader/chunks/{pk-combobox-fXGaY4L0.js → pk-combobox-IyQd9a1s.js} +1 -1
  48. package/dist-loader/chunks/{pk-date-picker-CE4TlRRZ.js → pk-date-picker-38hUgJ2-.js} +1 -1
  49. package/dist-loader/chunks/{pk-dialog-CP1YT85H.js → pk-dialog-DNAhdVbM.js} +16 -5
  50. package/dist-loader/chunks/{pk-dropdown-menu-CajQAobW.js → pk-dropdown-menu-DsHJ-4Ys.js} +1 -1
  51. package/dist-loader/chunks/{pk-field-BbKmQmTF.js → pk-field-tDfxz4Fd.js} +1 -1
  52. package/dist-loader/chunks/{pk-input-CXE7_rTQ.js → pk-input-88DVgoVz.js} +1 -1
  53. package/dist-loader/chunks/{pk-select-CbmPJCx8.js → pk-select-ClUdE4yB.js} +1 -1
  54. package/dist-loader/chunks/{pk-textarea-Ch8JpP83.js → pk-textarea-LC_CPUav.js} +1 -1
  55. package/dist-loader/chunks/{pk-time-picker-DZljwJn9.js → pk-time-picker-Bc6UkCYG.js} +1 -1
  56. package/dist-loader/chunks/{pk-tooltip-DHiCn33o.js → pk-tooltip-DRU95AZ6.js} +1 -1
  57. package/dist-loader/chunks/{tiptap.styles-CDjt6Iz4.js → tiptap.styles-gpE_nQ_B.js} +1 -1
  58. package/dist-loader/components/code-editor/code-editor.js +5 -5
  59. package/dist-loader/components/combobox/combobox.js +1 -1
  60. package/dist-loader/components/date-picker/date-picker.js +1 -1
  61. package/dist-loader/components/dialog/dialog.js +1 -1
  62. package/dist-loader/components/dropdown-menu/dropdown-menu.js +1 -1
  63. package/dist-loader/components/editable-table/editable-table.js +7 -7
  64. package/dist-loader/components/field/field.js +1 -1
  65. package/dist-loader/components/input/input.js +1 -1
  66. package/dist-loader/components/popover/popover.js +1 -1
  67. package/dist-loader/components/select/option-group.js +1 -1
  68. package/dist-loader/components/select/select.js +1 -1
  69. package/dist-loader/components/tabs/tabs.js +1 -1
  70. package/dist-loader/components/textarea/textarea.js +1 -1
  71. package/dist-loader/components/time-picker/time-picker.js +1 -1
  72. package/dist-loader/components/tiptap/tiptap-content.js +1 -1
  73. package/dist-loader/components/tiptap/tiptap-editor.js +7 -7
  74. package/dist-loader/components/tiptap/tiptap-input.js +1 -1
  75. package/dist-loader/components/tooltip/tooltip.js +1 -1
  76. package/dist-loader/plugin-kit.css +2 -5
  77. package/dist-loader/plugin-kit.loader.js +2 -22
  78. package/dist-loader/tokens.css +2 -5
  79. package/package.json +8 -7
  80. package/dist/chunks/autoloader-DXK9MVuw.js.map +0 -1
  81. package/dist/chunks/pk-dialog-DZZd1Tzb.js.map +0 -1
  82. package/dist/chunks/scroll-lock-B4o9vdzJ.js +0 -193
  83. package/dist/chunks/scroll-lock-B4o9vdzJ.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import { t as PkCombobox } from "../../chunks/pk-combobox-DtkXaX67.js";
1
+ import { t as PkCombobox } from "../../chunks/pk-combobox-BqaSsLJb.js";
2
2
  export { PkCombobox };
@@ -1,2 +1,2 @@
1
- import { t as PkCombobox } from "../chunks/pk-combobox-DtkXaX67.js";
1
+ import { t as PkCombobox } from "../chunks/pk-combobox-BqaSsLJb.js";
2
2
  export { PkCombobox };
@@ -33,6 +33,11 @@ export declare class PkDialog extends PkElement {
33
33
  * Use for flush layouts (sidebars, full-bleed pickers) that own their own inset.
34
34
  */
35
35
  withoutBodyPadding: boolean;
36
+ /**
37
+ * Skip document scroll lock while open. Useful for labs / rare cases where the
38
+ * page should keep scrolling under the modal (native dialog still traps focus).
39
+ */
40
+ disableScrollLock: boolean;
36
41
  size: 'default' | 'wide';
37
42
  private dialogElement;
38
43
  private triggerElement;
@@ -1 +1 @@
1
- {"version":3,"file":"pk-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/pk-dialog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAKH,KAAK,eAAe,EACvB,MAAM,mCAAmC,CAAC;AAO3C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,QAAS,SAAQ,SAAS;IACnC,OAAgB,MAAM,0BAAkB;IAGxC,IAAI,UAAS;IAGb,KAAK,SAAM;IAEX,uFAAuF;IAEvF,WAAW,SAAM;IAEjB,2CAA2C;IAE3C,uBAAuB,UAAS;IAGhC,aAAa,UAAS;IAEtB;;;OAGG;IAEH,kBAAkB,UAAS;IAG3B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAa;IAGrC,OAAO,CAAC,aAAa,CAAqB;IAG1C,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,iBAAiB,CAA4B;IAErD,oFAAoF;IACpF,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAA6E;IAE7F,+FAA+F;IAC/F,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB,CAW3B;IAEF,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAkB1B,sFAAsF;IACtF,OAAO,CAAC,gBAAgB;IA0BxB,0DAA0D;IAC1D,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB,CAM/B;IAEO,YAAY,IAAI,IAAI;IAWpB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAU/C,iEAAiE;IACjE,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,OAAO,CAAS;IAExB,oCAAoC;IAC9B,IAAI,CAAC,OAAO,GAAE,eAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDrD,IAAI,CAAC,MAAM,GAAE,eAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,WAAW,IAAI,IAAI;IAInB,wBAAwB;IAClB,YAAY,CAAC,MAAM,GAAE,eAAe,GAAG,WAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpF,kEAAkE;IAClE,iBAAiB,IAAI,IAAI;IAkBzB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB,CAMxB;IAEF,OAAO,CAAC,iBAAiB,CAUvB;IAEF,OAAO,CAAC,uBAAuB,CAW7B;IAEF,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,cAAc,CAGpB;IAEF,wFAAwF;IACxF,OAAO,CAAC,kBAAkB,CAExB;IAEO,MAAM;CA6DlB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
1
+ {"version":3,"file":"pk-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/pk-dialog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAKH,KAAK,eAAe,EACvB,MAAM,mCAAmC,CAAC;AAO3C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,QAAS,SAAQ,SAAS;IACnC,OAAgB,MAAM,0BAAkB;IAGxC,IAAI,UAAS;IAGb,KAAK,SAAM;IAEX,uFAAuF;IAEvF,WAAW,SAAM;IAEjB,2CAA2C;IAE3C,uBAAuB,UAAS;IAGhC,aAAa,UAAS;IAEtB;;;OAGG;IAEH,kBAAkB,UAAS;IAE3B;;;OAGG;IAEH,iBAAiB,UAAS;IAG1B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAa;IAGrC,OAAO,CAAC,aAAa,CAAqB;IAG1C,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,iBAAiB,CAA4B;IAErD,oFAAoF;IACpF,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAA6E;IAE7F,+FAA+F;IAC/F,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB,CAW3B;IAEF,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAkB1B,sFAAsF;IACtF,OAAO,CAAC,gBAAgB;IA0BxB,0DAA0D;IAC1D,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB,CAM/B;IAEO,YAAY,IAAI,IAAI;IAWpB,oBAAoB,IAAI,IAAI;IAS5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAU/C,iEAAiE;IACjE,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,OAAO,CAAS;IAExB,oCAAoC;IAC9B,IAAI,CAAC,OAAO,GAAE,eAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDrD,IAAI,CAAC,MAAM,GAAE,eAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,WAAW,IAAI,IAAI;IAInB,wBAAwB;IAClB,YAAY,CAAC,MAAM,GAAE,eAAe,GAAG,WAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCpF,kEAAkE;IAClE,iBAAiB,IAAI,IAAI;IAqBzB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB,CAMxB;IAEF,OAAO,CAAC,iBAAiB,CAUvB;IAEF,OAAO,CAAC,uBAAuB,CAW7B;IAEF,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,cAAc,CAGpB;IAEF,wFAAwF;IACxF,OAAO,CAAC,kBAAkB,CAExB;IAEO,MAAM;CA6DlB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
@@ -1,2 +1,2 @@
1
- import { t as PkDialog } from "../../chunks/pk-dialog-DZZd1Tzb.js";
1
+ import { t as PkDialog } from "../../chunks/pk-dialog-BXJr3iEo.js";
2
2
  export { PkDialog };
@@ -1 +1 @@
1
- {"version":3,"file":"pk-dialog.styles.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/pk-dialog.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,yBAiP1B,CAAC"}
1
+ {"version":3,"file":"pk-dialog.styles.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/pk-dialog.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,yBAsP1B,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as PkDialog } from "../chunks/pk-dialog-DZZd1Tzb.js";
1
+ import { t as PkDialog } from "../chunks/pk-dialog-BXJr3iEo.js";
2
2
  export { PkDialog };
@@ -1,2 +1,2 @@
1
- import { a as nextRowId, i as isCustomColumn, r as getCustomCellSlotName, t as PkEditableTable } from "../../chunks/pk-editable-table-DVqOEz3W.js";
1
+ import { a as nextRowId, i as isCustomColumn, r as getCustomCellSlotName, t as PkEditableTable } from "../../chunks/pk-editable-table-sZO9JwiR.js";
2
2
  export { PkEditableTable, getCustomCellSlotName, isCustomColumn, nextRowId };
@@ -1,2 +1,2 @@
1
- import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "../chunks/pk-editable-table-DVqOEz3W.js";
1
+ import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "../chunks/pk-editable-table-sZO9JwiR.js";
2
2
  export { BUILTIN_COLUMN_TYPES, PkEditableTable, getCustomCellSlotName, isCustomColumn, nextRowId };
@@ -1,2 +1,2 @@
1
- import { t as PkSelect } from "../../chunks/pk-select-odSNU1tN.js";
1
+ import { t as PkSelect } from "../../chunks/pk-select-BPnO9qgj.js";
2
2
  export { PkSelect };
@@ -1,4 +1,4 @@
1
1
  import { t as PkOption } from "../chunks/pk-option-C-cR-jOv.js";
2
- import { t as PkSelect } from "../chunks/pk-select-odSNU1tN.js";
2
+ import { t as PkSelect } from "../chunks/pk-select-BPnO9qgj.js";
3
3
  import { t as PkOptionGroup } from "../chunks/pk-option-group-CbI56A3T.js";
4
4
  export { PkOption, PkOptionGroup, PkSelect };
@@ -1,2 +1,2 @@
1
- import { t as PkTimePicker } from "../../chunks/pk-time-picker-DtX0LtID.js";
1
+ import { t as PkTimePicker } from "../../chunks/pk-time-picker-CZGr2dI2.js";
2
2
  export { PkTimePicker };
@@ -1,2 +1,2 @@
1
- import { t as PkTimePicker } from "../chunks/pk-time-picker-DtX0LtID.js";
1
+ import { t as PkTimePicker } from "../chunks/pk-time-picker-CZGr2dI2.js";
2
2
  export { PkTimePicker };
@@ -1,2 +1,2 @@
1
- import { t as PkTiptapEditor } from "../../chunks/pk-tiptap-editor-CdoutapZ.js";
1
+ import { t as PkTiptapEditor } from "../../chunks/pk-tiptap-editor-HemVPILE.js";
2
2
  export { PkTiptapEditor };
@@ -1,2 +1,2 @@
1
- import { t as PkTiptapEditor } from "../chunks/pk-tiptap-editor-CdoutapZ.js";
1
+ import { t as PkTiptapEditor } from "../chunks/pk-tiptap-editor-HemVPILE.js";
2
2
  export { PkTiptapEditor };
package/dist/index.js CHANGED
@@ -21,8 +21,8 @@ import { n as renderIconHtml, t as createIconElement } from "./chunks/render-Dvc
21
21
  import { n as getDeepestActiveElement, t as activeElements } from "./chunks/active-elements-BwpXu8Lb.js";
22
22
  import { i as uniqueId, n as createFocusTrap, r as getFocusableElements, t as LiveRegion } from "./chunks/focus-aa5dlv8k.js";
23
23
  import { i as unregisterDismissible, n as isTopDismissible, r as registerDismissible } from "./chunks/dismissible-stack-XQUMfKO3.js";
24
- import { a as unlockBodyScrolling, i as scrollIntoView, o as getOffset, r as lockBodyScrolling } from "./chunks/scroll-lock-B4o9vdzJ.js";
25
- import { n as PkCreateEvent, t as PkCombobox } from "./chunks/pk-combobox-DtkXaX67.js";
24
+ import { a as unlockBodyScrolling, i as scrollIntoView, o as getOffset, r as lockBodyScrolling } from "./chunks/scroll-lock-Bbh3Sc5g.js";
25
+ import { n as PkCreateEvent, t as PkCombobox } from "./chunks/pk-combobox-BqaSsLJb.js";
26
26
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./chunks/overlay-lifecycle-D0pkTQyI.js";
27
27
  import { n as PkRepositionEvent, t as PkPopup } from "./chunks/pk-popup-CgiXok-U.js";
28
28
  import "./components/combobox.js";
@@ -49,7 +49,7 @@ import { t as PkLightswitch } from "./chunks/pk-lightswitch-B-rLflNq.js";
49
49
  import "./components/lightswitch.js";
50
50
  import { a as PkCopyEvent, i as PkCopyErrorEvent, n as copyToClipboard, r as resolveCopyValue, t as PkCopyButton } from "./chunks/pk-copy-button-C17MLLYS.js";
51
51
  import "./components/copy-button.js";
52
- import { t as PkDialog } from "./chunks/pk-dialog-DZZd1Tzb.js";
52
+ import { t as PkDialog } from "./chunks/pk-dialog-BXJr3iEo.js";
53
53
  import "./components/dialog.js";
54
54
  import { t as PkDropdownItem } from "./chunks/pk-dropdown-item-P3LLojCI.js";
55
55
  import { t as PkDropdownMenu } from "./chunks/pk-dropdown-menu-CsX95MCP.js";
@@ -60,9 +60,9 @@ import { t as PkColorInput } from "./chunks/pk-color-input-CNnmHJJB.js";
60
60
  import { t as PkCalendar } from "./chunks/pk-calendar-TEFA09cI.js";
61
61
  import { t as PkDatePicker } from "./chunks/pk-date-picker-x-qkpQWF.js";
62
62
  import { t as PkOption } from "./chunks/pk-option-C-cR-jOv.js";
63
- import { t as PkSelect } from "./chunks/pk-select-odSNU1tN.js";
64
- import { t as PkTimePicker } from "./chunks/pk-time-picker-DtX0LtID.js";
65
- import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "./chunks/pk-editable-table-DVqOEz3W.js";
63
+ import { t as PkSelect } from "./chunks/pk-select-BPnO9qgj.js";
64
+ import { t as PkTimePicker } from "./chunks/pk-time-picker-CZGr2dI2.js";
65
+ import { a as nextRowId, i as isCustomColumn, n as BUILTIN_COLUMN_TYPES, r as getCustomCellSlotName, t as PkEditableTable } from "./chunks/pk-editable-table-sZO9JwiR.js";
66
66
  import "./components/editable-table.js";
67
67
  import { t as PkField } from "./chunks/pk-field-Buy_AtYF.js";
68
68
  import "./components/field.js";
@@ -91,10 +91,10 @@ import "./components/select.js";
91
91
  import "./components/time-picker.js";
92
92
  import "./components/spinner.js";
93
93
  import { t as PkTiptapContent } from "./chunks/pk-tiptap-content-DAtNbJYC.js";
94
- import { t as PkTiptapEditor } from "./chunks/pk-tiptap-editor-CdoutapZ.js";
94
+ import { t as PkTiptapEditor } from "./chunks/pk-tiptap-editor-HemVPILE.js";
95
95
  import { t as PkTiptapInput } from "./chunks/pk-tiptap-input-CXcYXbRa.js";
96
- import { t as registerAll } from "./chunks/register-BYPBQHrq.js";
97
- import { _ as setPortalClassName, a as startLoader, c as setBasePath, d as getPortalClassName, f as getPortalContainer, g as resolvePositionMethod, h as getShadowRootSelectors, i as preventTurboFouce, l as allDefined, m as getPortalTargetForAppend, n as FOUCE_TIMEOUT_MS, o as stopLoader, p as getPortalMountElement, r as discover, s as getBasePath, t as DISCOVERY_COMPLETE_EVENT, u as configurePluginKitWeb, v as setPortalContainer, y as setShadowRootSelectors } from "./chunks/autoloader-DXK9MVuw.js";
96
+ import { t as registerAll } from "./chunks/register-BCiqL-PO.js";
97
+ import { _ as setPortalClassName, a as startLoader, c as setBasePath, d as getPortalClassName, f as getPortalContainer, g as resolvePositionMethod, h as getShadowRootSelectors, i as preventTurboFouce, l as allDefined, m as getPortalTargetForAppend, n as FOUCE_TIMEOUT_MS, o as stopLoader, p as getPortalMountElement, r as discover, s as getBasePath, t as DISCOVERY_COMPLETE_EVENT, u as configurePluginKitWeb, v as setPortalContainer, y as setShadowRootSelectors } from "./chunks/autoloader-hkX3zcAt.js";
98
98
  import { t as BUNDLER_TAG_IMPORT_PATHS } from "./chunks/component-registry-BOlxFlou.js";
99
99
  import { t as createRegisterComponents } from "./chunks/register-components-BG_6_v_T.js";
100
100
  export * from "@verbb/plugin-kit-icons";
@@ -399,11 +399,8 @@
399
399
 
400
400
  /* Scroll lock — class is a state marker; locking logic lives in a11y/scroll-lock.ts.
401
401
  * Do NOT pad body for the scrollbar: that shifts position:fixed Craft/playground chrome.
402
- * Prefer permanent stable gutter so Path A succeeds more often. */
403
- html {
404
- scrollbar-gutter: stable;
405
- }
406
-
402
+ * Do NOT set permanent `scrollbar-gutter: stable` on html — that leaves an empty strip
403
+ * on every Craft CP page. Lock applies compensation only while overlays are open. */
407
404
  html.pk-scroll-lock {
408
405
  --pk-scroll-lock: 1;
409
406
  }
@@ -1,6 +1,6 @@
1
1
  import { t as getDismissibleStackSnapshot } from "./chunks/dismissible-stack-XQUMfKO3.js";
2
- import { n as getScrollLockDepth, t as forceClearScrollLock } from "./chunks/scroll-lock-B4o9vdzJ.js";
3
- import { _ as setPortalClassName, a as startLoader, c as setBasePath, i as preventTurboFouce, l as allDefined, n as FOUCE_TIMEOUT_MS, o as stopLoader, r as discover, s as getBasePath, t as DISCOVERY_COMPLETE_EVENT, u as configurePluginKitWeb, v as setPortalContainer } from "./chunks/autoloader-DXK9MVuw.js";
2
+ import { n as getScrollLockDepth, t as forceClearScrollLock } from "./chunks/scroll-lock-Bbh3Sc5g.js";
3
+ import { _ as setPortalClassName, a as startLoader, c as setBasePath, i as preventTurboFouce, l as allDefined, n as FOUCE_TIMEOUT_MS, o as stopLoader, r as discover, s as getBasePath, t as DISCOVERY_COMPLETE_EVENT, u as configurePluginKitWeb, v as setPortalContainer } from "./chunks/autoloader-hkX3zcAt.js";
4
4
  import { t as BUNDLER_TAG_IMPORT_PATHS } from "./chunks/component-registry-BOlxFlou.js";
5
5
  //#region src/utils/overlay-recovery.ts
6
6
  /**
package/dist/register.js CHANGED
@@ -12,7 +12,7 @@ import { n as PkCheckboxSelect, t as ALL_VALUE } from "./chunks/pk-checkbox-sele
12
12
  import "./components/checkbox-select.js";
13
13
  import { t as PkCodeEditor } from "./chunks/pk-code-editor-DSG6AwLV.js";
14
14
  import "./components/code-editor.js";
15
- import { t as PkCombobox } from "./chunks/pk-combobox-DtkXaX67.js";
15
+ import { t as PkCombobox } from "./chunks/pk-combobox-BqaSsLJb.js";
16
16
  import { t as PkPopup } from "./chunks/pk-popup-CgiXok-U.js";
17
17
  import { t as PkInput } from "./chunks/pk-input-naIRPWGC.js";
18
18
  import "./components/input.js";
@@ -37,7 +37,7 @@ import { t as PkLightswitch } from "./chunks/pk-lightswitch-B-rLflNq.js";
37
37
  import "./components/lightswitch.js";
38
38
  import { t as PkCopyButton } from "./chunks/pk-copy-button-C17MLLYS.js";
39
39
  import "./components/copy-button.js";
40
- import { t as PkDialog } from "./chunks/pk-dialog-DZZd1Tzb.js";
40
+ import { t as PkDialog } from "./chunks/pk-dialog-BXJr3iEo.js";
41
41
  import "./components/dialog.js";
42
42
  import { t as PkDropdownItem } from "./chunks/pk-dropdown-item-P3LLojCI.js";
43
43
  import { t as PkDropdownMenu } from "./chunks/pk-dropdown-menu-CsX95MCP.js";
@@ -48,9 +48,9 @@ import { t as PkColorInput } from "./chunks/pk-color-input-CNnmHJJB.js";
48
48
  import { t as PkCalendar } from "./chunks/pk-calendar-TEFA09cI.js";
49
49
  import { t as PkDatePicker } from "./chunks/pk-date-picker-x-qkpQWF.js";
50
50
  import { t as PkOption } from "./chunks/pk-option-C-cR-jOv.js";
51
- import { t as PkSelect } from "./chunks/pk-select-odSNU1tN.js";
52
- import { t as PkTimePicker } from "./chunks/pk-time-picker-DtX0LtID.js";
53
- import { t as PkEditableTable } from "./chunks/pk-editable-table-DVqOEz3W.js";
51
+ import { t as PkSelect } from "./chunks/pk-select-BPnO9qgj.js";
52
+ import { t as PkTimePicker } from "./chunks/pk-time-picker-CZGr2dI2.js";
53
+ import { t as PkEditableTable } from "./chunks/pk-editable-table-sZO9JwiR.js";
54
54
  import { t as PkField } from "./chunks/pk-field-Buy_AtYF.js";
55
55
  import "./components/field.js";
56
56
  import { PkIcon } from "./components/icon/pk-icon.js";
@@ -77,9 +77,9 @@ import "./components/select.js";
77
77
  import "./components/time-picker.js";
78
78
  import "./components/spinner.js";
79
79
  import { t as PkTiptapContent } from "./chunks/pk-tiptap-content-DAtNbJYC.js";
80
- import { t as PkTiptapEditor } from "./chunks/pk-tiptap-editor-CdoutapZ.js";
80
+ import { t as PkTiptapEditor } from "./chunks/pk-tiptap-editor-HemVPILE.js";
81
81
  import { t as PkTiptapInput } from "./chunks/pk-tiptap-input-CXcYXbRa.js";
82
- import { t as registerAll } from "./chunks/register-BYPBQHrq.js";
82
+ import { t as registerAll } from "./chunks/register-BCiqL-PO.js";
83
83
  import { t as BUNDLER_TAG_IMPORT_PATHS } from "./chunks/component-registry-BOlxFlou.js";
84
84
  import { t as createRegisterComponents } from "./chunks/register-components-BG_6_v_T.js";
85
85
  export { ALL_VALUE, PkButton, PkButtonGroup, PkButtonGroupSeparator, PkButtonGroupText, PkCalendar, PkCheckbox, PkCheckboxSelect, PkCodeEditor, PkColorInput, PkCombobox, PkCopyButton, PkDatePicker, PkDialog, PkDropdownItem, PkDropdownLabel, PkDropdownMenu, PkDropdownSeparator, PkEditableTable, PkField, PkIcon, PkInput, PkInputGroup, PkInputGroupAddon, PkInputGroupButton, PkInputGroupInput, PkInputGroupText, PkInputGroupTextarea, PkLightswitch, PkOption, PkOptionGroup, PkPopover, PkPopup, PkRadio, PkRadioGroup, PkScrollArea, PkSelect, PkSeparator, PkSpinner, PkStatus, PkTab, PkTabHeading, PkTabPanel, PkTabs, PkTextarea, PkTimePicker, PkTiptapContent, PkTiptapEditor, PkTiptapInput, PkToggle, PkToggleGroup, PkTooltip, BUNDLER_TAG_IMPORT_PATHS as componentImportPaths, createRegisterComponents, getButtonSpinnerSize, registerAll, resolveSpinnerVariant };
package/dist/tokens.css CHANGED
@@ -398,11 +398,8 @@
398
398
 
399
399
  /* Scroll lock — class is a state marker; locking logic lives in a11y/scroll-lock.ts.
400
400
  * Do NOT pad body for the scrollbar: that shifts position:fixed Craft/playground chrome.
401
- * Prefer permanent stable gutter so Path A succeeds more often. */
402
- html {
403
- scrollbar-gutter: stable;
404
- }
405
-
401
+ * Do NOT set permanent `scrollbar-gutter: stable` on html — that leaves an empty strip
402
+ * on every Craft CP page. Lock applies compensation only while overlays are open. */
406
403
  html.pk-scroll-lock {
407
404
  --pk-scroll-lock: 1;
408
405
  }
@@ -5,8 +5,8 @@ export type PluginKitWebConfig = {
5
5
  */
6
6
  portalClassName?: string;
7
7
  /**
8
- * When a `ShadowRoot`, enables document scroll-gutter stability for overlay scroll lock
9
- * in embedded hosts (e.g. Craft CP). React/Base UI compat still uses this as a portal target.
8
+ * When a `ShadowRoot`, used as a React portal target for Base UI compat.
9
+ * No longer injects document scroll-gutter CSS (see scroll-lock.ts).
10
10
  */
11
11
  portalContainer?: PortalContainer;
12
12
  shadowRootSelectors?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,eAAe,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,kBAAkB,KAAG,IAQlE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,eAAe,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,kBAAkB,KAAG,IASlE,CAAC"}
@@ -1,11 +1,7 @@
1
1
  /**
2
- * Reserve scrollbar space on the document root so overlay scroll lock
3
- * can use the stable gutter path instead of body width compensation.
4
- * Safe to call multiple times; only injects once.
5
- *
6
- * tokens.css already sets `html { scrollbar-gutter: stable }` for kit surfaces
7
- * that import tokens. This injector covers hosts that load components without
8
- * tokens (e.g. craft CP early boot / ShadowRoot portal config).
2
+ * @deprecated No-op. Permanent `html { scrollbar-gutter: stable }` was removed —
3
+ * it reserved an empty scrollbar strip on every Craft CP page. Overlay scroll lock
4
+ * compensates only while locked (see a11y/scroll-lock.ts).
9
5
  */
10
6
  export declare const ensureDocumentScrollStability: () => void;
11
7
  //# sourceMappingURL=documentScrollStability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentScrollStability.d.ts","sourceRoot":"","sources":["../../src/utils/documentScrollStability.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,QAAO,IAahD,CAAC"}
1
+ {"version":3,"file":"documentScrollStability.d.ts","sourceRoot":"","sources":["../../src/utils/documentScrollStability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAO,IAEhD,CAAC"}
@@ -45,114 +45,81 @@ function getOffset(element, parent) {
45
45
  *
46
46
  * Ref-counted so nested overlays unlock only when all close.
47
47
  *
48
- * Avoids the classic “fixed chrome jumps” bug from `padding-right` compensation:
49
- * Craft CP / playground fixed sidebars & tip bars do not inherit body padding, so
50
- * `body { padding-right: scrollbar }` shifts them when the scrollbar goes
51
- * away. v1 (Base UI) did not jump — follow that model instead:
48
+ * Aligns with Craft / Garnish.Modal where it matters:
49
+ * - Modal + shade are `position: fixed` (hosts, not the document).
50
+ * - Document lock is `body { overflow: hidden }` (Craft’s `.no-scroll`) — **not**
51
+ * `body { position: fixed }`, and **not** `overflow: hidden` on `html`.
52
+ * Body-only overflow keeps Craft’s sticky `#global-sidebar` stuck at the current
53
+ * scrollY; html overflow / body fixed both make sticky “let go” and the nav jumps.
52
54
  *
53
- * 1. Prefer a real `scrollbar-gutter: stable` lock (width unchanged under overflow:hidden).
54
- * 2. Otherwise keep `overflow-y: scroll` on `<html>` so the gutter stays painted, and
55
- * constrain `<body>` so the page cannot scroll.
55
+ * Craft’s class alone still lets the page scroll under the shade (wheel / scrollBy).
56
+ * We add wheel / touch / page-key `preventDefault` outside locking overlay hosts so
57
+ * user scrolling actually stops — without a `scroll` listener that rubber-bands the
58
+ * position back (that felt gross).
59
+ *
60
+ * Also avoid: permanent/lock-time `scrollbar-gutter`, and `padding-right` compensation
61
+ * (Craft fixed tip bars ignore body padding and jump).
56
62
  */
57
63
  var locks = /* @__PURE__ */ new Set();
58
64
  /** Undo for the currently applied lock (only while locks.size > 0). */
59
65
  var restoreLock = null;
60
- function isOverflowScrollContainer(element) {
61
- const overflowY = getComputedStyle(element).overflowY;
62
- return overflowY === "auto" || overflowY === "scroll" || overflowY === "overlay";
63
- }
64
- /** True when setting gutter + toggling overflow does not change layout width. */
65
- function supportsStableScrollbarGutterLock() {
66
- if (typeof CSS === "undefined" || !CSS.supports?.("scrollbar-gutter", "stable")) return false;
67
- const html = document.documentElement;
68
- const body = document.body;
69
- const scrollContainer = isOverflowScrollContainer(html) ? html : body;
70
- const prevOverflowY = scrollContainer.style.overflowY;
71
- const prevGutter = html.style.scrollbarGutter;
72
- html.style.scrollbarGutter = "stable";
73
- scrollContainer.style.overflowY = "scroll";
74
- const before = scrollContainer.offsetWidth;
75
- scrollContainer.style.overflowY = "hidden";
76
- const after = scrollContainer.offsetWidth;
77
- scrollContainer.style.overflowY = prevOverflowY;
78
- html.style.scrollbarGutter = prevGutter;
79
- return before === after;
80
- }
81
- function getInsetScrollbarWidth() {
82
- return Math.max(0, window.innerWidth - document.documentElement.clientWidth);
66
+ var SCROLL_KEYS = new Set([
67
+ " ",
68
+ "ArrowUp",
69
+ "ArrowDown",
70
+ "ArrowLeft",
71
+ "ArrowRight",
72
+ "PageUp",
73
+ "PageDown",
74
+ "Home",
75
+ "End"
76
+ ]);
77
+ function eventPathContainsLock(event) {
78
+ for (const node of event.composedPath()) if (node instanceof HTMLElement && locks.has(node)) return true;
79
+ return false;
80
+ }
81
+ function isEditableTarget(target) {
82
+ if (!(target instanceof HTMLElement)) return false;
83
+ if (target.isContentEditable) return true;
84
+ const tag = target.tagName;
85
+ return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
83
86
  }
84
87
  /**
85
- * Apply a lock that does not use body padding-right (fixed elements stay put).
88
+ * Craft-like body overflow + gesture block (no scroll-position pin).
86
89
  * Returns a restore function.
87
90
  */
88
91
  function applyScrollLock() {
89
- const html = document.documentElement;
90
92
  const body = document.body;
91
- const htmlStyles = getComputedStyle(html);
92
- const bodyStyles = getComputedStyle(body);
93
- if (getInsetScrollbarWidth() < 2) {
94
- const prevHtmlOverflow = html.style.overflow;
95
- const prevBodyOverflow = body.style.overflow;
96
- html.style.overflow = "hidden";
97
- body.style.overflow = "hidden";
98
- return () => {
99
- html.style.overflow = prevHtmlOverflow;
100
- body.style.overflow = prevBodyOverflow;
101
- };
102
- }
103
- const elementToLock = isOverflowScrollContainer(html) ? html : body;
104
- if (supportsStableScrollbarGutterLock()) {
105
- const prevGutter = html.style.scrollbarGutter;
106
- const prevOverflowY = elementToLock.style.overflowY;
107
- const prevOverflowX = elementToLock.style.overflowX;
108
- html.style.scrollbarGutter = htmlStyles.scrollbarGutter?.includes("both-edges") ? "stable both-edges" : "stable";
109
- elementToLock.style.overflowY = "hidden";
110
- elementToLock.style.overflowX = "hidden";
111
- return () => {
112
- html.style.scrollbarGutter = prevGutter;
113
- elementToLock.style.overflowY = prevOverflowY;
114
- elementToLock.style.overflowX = prevOverflowX;
115
- };
116
- }
117
- const scrollTop = html.scrollTop;
118
- const scrollLeft = html.scrollLeft;
119
- const scrollbarWidth = Math.max(0, window.innerWidth - body.clientWidth);
120
- const scrollbarHeight = Math.max(0, window.innerHeight - body.clientHeight);
121
- const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
122
- const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
123
- const prevHtml = {
124
- scrollbarGutter: html.style.scrollbarGutter,
125
- overflowY: html.style.overflowY,
126
- overflowX: html.style.overflowX,
127
- scrollBehavior: html.style.scrollBehavior
93
+ const prevOverflow = body.style.overflow;
94
+ body.style.setProperty("overflow", "hidden", "important");
95
+ const onWheel = (event) => {
96
+ if (eventPathContainsLock(event)) return;
97
+ event.preventDefault();
98
+ };
99
+ const onTouchMove = (event) => {
100
+ if (eventPathContainsLock(event)) return;
101
+ event.preventDefault();
128
102
  };
129
- const prevBody = {
130
- position: body.style.position,
131
- height: body.style.height,
132
- width: body.style.width,
133
- boxSizing: body.style.boxSizing,
134
- overflow: body.style.overflow,
135
- overflowY: body.style.overflowY,
136
- overflowX: body.style.overflowX,
137
- scrollBehavior: body.style.scrollBehavior
103
+ const onKeyDown = (event) => {
104
+ if (!SCROLL_KEYS.has(event.key)) return;
105
+ if (eventPathContainsLock(event) || isEditableTarget(event.target)) return;
106
+ event.preventDefault();
138
107
  };
139
- html.style.scrollbarGutter = "stable";
140
- html.style.overflowY = "scroll";
141
- html.style.overflowX = "hidden";
142
- html.style.scrollBehavior = "unset";
143
- body.style.position = "relative";
144
- body.style.boxSizing = "border-box";
145
- body.style.overflow = "hidden";
146
- body.style.scrollBehavior = "unset";
147
- body.style.width = marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : "100vw";
148
- body.style.height = marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : "100dvh";
149
- body.scrollTop = scrollTop;
150
- body.scrollLeft = scrollLeft;
108
+ window.addEventListener("wheel", onWheel, {
109
+ passive: false,
110
+ capture: true
111
+ });
112
+ window.addEventListener("touchmove", onTouchMove, {
113
+ passive: false,
114
+ capture: true
115
+ });
116
+ window.addEventListener("keydown", onKeyDown, { capture: true });
151
117
  return () => {
152
- Object.assign(html.style, prevHtml);
153
- Object.assign(body.style, prevBody);
154
- html.scrollTop = scrollTop;
155
- html.scrollLeft = scrollLeft;
118
+ window.removeEventListener("wheel", onWheel, { capture: true });
119
+ window.removeEventListener("touchmove", onTouchMove, { capture: true });
120
+ window.removeEventListener("keydown", onKeyDown, { capture: true });
121
+ body.style.removeProperty("overflow");
122
+ if (prevOverflow) body.style.overflow = prevOverflow;
156
123
  };
157
124
  }
158
125
  function lockBodyScrolling(lockingEl) {
@@ -1,4 +1,4 @@
1
- import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, t as LiveRegion, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
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
4
  import { J as xmark, h as chevronDown } from "./svg-BCGsRUz7.js";
@@ -1,4 +1,4 @@
1
- import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
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
4
  import { J as xmark, p as calendar } from "./svg-BCGsRUz7.js";
@@ -1,4 +1,4 @@
1
- import { c as unlockBodyScrolling, d as registerDismissible, f as unregisterDismissible, o as lockBodyScrolling, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
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
4
  import { J as xmark } from "./svg-BCGsRUz7.js";
@@ -79,6 +79,11 @@ var pkDialogStyles = i`
79
79
  * Controlled dialogs (no slot="trigger") — panel is top-layer / fixed while
80
80
  * yielding. An inline-block host still sizes to the open <dialog> box in some
81
81
  * engines and expands parents (Formie nested field cards grow a blank gap).
82
+ *
83
+ * Zero box ≠ gone from the tree: Tailwind space-y-* uses :not(:last-child) on
84
+ * DOM siblings, so an in-tree host still steals last-child and margins the
85
+ * previous sibling. Prefer flex/grid gap-* (skips out-of-flow children), or
86
+ * mount overlays outside the spaced stack. True light-DOM portal would also fix it.
82
87
  */
83
88
  :host(:not([data-has-trigger])) {
84
89
  position: absolute;
@@ -315,6 +320,7 @@ var PkDialog = class PkDialog extends PkElement {
315
320
  this.disablePointerDismissal = false;
316
321
  this.withoutHeader = false;
317
322
  this.withoutBodyPadding = false;
323
+ this.disableScrollLock = false;
318
324
  this.size = "default";
319
325
  this.triggerElement = null;
320
326
  this.previouslyFocused = null;
@@ -429,7 +435,7 @@ var PkDialog = class PkDialog extends PkElement {
429
435
  if (this.open) this.show();
430
436
  }
431
437
  disconnectedCallback() {
432
- unlockBodyScrolling(this);
438
+ if (!this.disableScrollLock) unlockBodyScrolling(this);
433
439
  this.removeOpenListeners();
434
440
  super.disconnectedCallback();
435
441
  }
@@ -460,7 +466,7 @@ var PkDialog = class PkDialog extends PkElement {
460
466
  this.previouslyFocused = document.activeElement;
461
467
  this.open = true;
462
468
  this.dialogElement.showModal();
463
- lockBodyScrolling(this);
469
+ if (!this.disableScrollLock) lockBodyScrolling(this);
464
470
  requestAnimationFrame(() => {
465
471
  const elementToFocus = this.querySelector("[autofocus]");
466
472
  if (elementToFocus) {
@@ -498,7 +504,7 @@ var PkDialog = class PkDialog extends PkElement {
498
504
  await animateWithClass(this.dialogElement, "hide");
499
505
  this.open = false;
500
506
  this.dialogElement.close();
501
- unlockBodyScrolling(this);
507
+ if (!this.disableScrollLock) unlockBodyScrolling(this);
502
508
  const restoreFocus = this.previouslyFocused;
503
509
  this.previouslyFocused = null;
504
510
  if (restoreFocus?.isConnected) window.setTimeout(() => {
@@ -521,7 +527,7 @@ var PkDialog = class PkDialog extends PkElement {
521
527
  this.dialogElement.close();
522
528
  } catch {}
523
529
  this.dialogElement?.classList.remove("hide", "show", "pulse");
524
- unlockBodyScrolling(this);
530
+ if (!this.disableScrollLock) unlockBodyScrolling(this);
525
531
  }
526
532
  addOpenListeners() {
527
533
  document.addEventListener("keydown", this.handleDocumentKeyDown);
@@ -622,6 +628,11 @@ __decorate([n({
622
628
  type: Boolean,
623
629
  reflect: true
624
630
  })], PkDialog.prototype, "withoutBodyPadding", void 0);
631
+ __decorate([n({
632
+ attribute: "disable-scroll-lock",
633
+ type: Boolean,
634
+ reflect: true
635
+ })], PkDialog.prototype, "disableScrollLock", void 0);
625
636
  __decorate([n({ reflect: true })], PkDialog.prototype, "size", void 0);
626
637
  __decorate([e$1("dialog")], PkDialog.prototype, "dialogElement", void 0);
627
638
  __decorate([r()], PkDialog.prototype, "triggerElement", void 0);
@@ -1,4 +1,4 @@
1
- import { d as registerDismissible, f as unregisterDismissible, r as activeElements, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
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
4
  import { r as buttonGroupCornerRoleStyles } from "./button-group-item.styles-BNc-ksl1.js";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CzwdidQP.js";
2
- import { n as uniqueId } from "./pk-a11y-Cx5RZvhu.js";
2
+ import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
3
3
  import { f as A, i as e, l as n, m as i, o, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
4
4
  import { c as __decorate, l as PkElement, n as formControlStyles, t as inlineMarkdownStyles } from "./pk-base-BlxAYXJD.js";
5
5
  import { K as triangleExclamation, N as lightbulb, u as asterisk } from "./svg-BCGsRUz7.js";
@@ -1,4 +1,4 @@
1
- import { n as uniqueId } from "./pk-a11y-Cx5RZvhu.js";
1
+ import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
2
2
  import { c as r, f as A, l as n, m as i, n as l, p as b, r as o, s as e, u as t } from "./lit-Dnn7gEi2.js";
3
3
  import { c as __decorate, i as PkFormAssociatedElement, n as formControlStyles, o as syncStandaloneControlAria } from "./pk-base-BlxAYXJD.js";
4
4
  import { n as buttonGroupCornerRadiusStyles, r as buttonGroupCornerRoleStyles, t as buttonGroupBorderJoinStyles } from "./button-group-item.styles-BNc-ksl1.js";
@@ -1,4 +1,4 @@
1
- import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
1
+ import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, 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
4
  import { h as chevronDown } from "./svg-BCGsRUz7.js";
@@ -1,4 +1,4 @@
1
- import { n as uniqueId } from "./pk-a11y-Cx5RZvhu.js";
1
+ import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
2
2
  import { c as r, f as A, l as n, m as i, n as l, p as b, r as o, s as e, u as t } from "./lit-Dnn7gEi2.js";
3
3
  import { c as __decorate, i as PkFormAssociatedElement, n as formControlStyles, o as syncStandaloneControlAria } from "./pk-base-BlxAYXJD.js";
4
4
  import { t as MirrorValidator } from "./mirror-validator-DEz3BsbN.js";
@@ -3,7 +3,7 @@ import { c as __decorate } from "./pk-base-BlxAYXJD.js";
3
3
  import { v as clock } from "./svg-BCGsRUz7.js";
4
4
  import { t as createIconElement } from "./render-BCU9WDSk.js";
5
5
  import "./pk-option-vh8UvSAI.js";
6
- import { n as pkSelectStyles, t as PkSelect } from "./pk-select-CbmPJCx8.js";
6
+ import { n as pkSelectStyles, t as PkSelect } from "./pk-select-ClUdE4yB.js";
7
7
  //#region src/utils/time-options.ts
8
8
  var timeOptionsCache = null;
9
9
  function resolveTimepickerOptions() {
@@ -1,4 +1,4 @@
1
- import { n as uniqueId } from "./pk-a11y-Cx5RZvhu.js";
1
+ import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
2
2
  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";
3
3
  import { c as __decorate, l as PkElement } from "./pk-base-BlxAYXJD.js";
4
4
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-BG4QMRLw.js";
@@ -1,4 +1,4 @@
1
- import { n as uniqueId } from "./pk-a11y-Cx5RZvhu.js";
1
+ import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
2
2
  import { m as i } from "./lit-Dnn7gEi2.js";
3
3
  import { A as Node3, C as index_default$10, D as index_default$1, E as index_default$7, F as PluginKey, I as TextSelection, N as NodeSelection, O as index_default, P as Plugin, S as index_default$11, T as index_default$8, _ as index_default$16, a as index_default$5, b as index_default$13, c as index_default$24, d as index_default$21, f as index_default$20, g as index_default$17, h as index_default$6, i as index_default$2, j as getMarkRange, l as Table, m as index_default$18, n as index_default$25, o as index_default$22, p as index_default$19, r as index_default$3, s as index_default$23, t as index_default$26, u as index_default$4, v as index_default$15, w as index_default$9, x as index_default$12, y as index_default$14 } from "./tiptap-_LAjdgeV.js";
4
4
  //#region ../plugin-kit-tiptap-core/dist/links/extension.js