@pine-ds/core 4.6.0 → 4.7.1

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 (174) hide show
  1. package/components/pds-box2.js +1 -1
  2. package/components/pds-checkbox2.js +1 -1
  3. package/components/pds-chip2.js +1 -1
  4. package/components/pds-combobox.js +1 -1
  5. package/components/pds-copytext.js +1 -1
  6. package/components/pds-drawer.js +1 -1
  7. package/components/pds-dropdown-menu-item.js +1 -1
  8. package/components/pds-dropdown-menu.js +1 -1
  9. package/components/pds-modal2.js +1 -1
  10. package/components/pds-multiselect.js +1 -1
  11. package/components/pds-popover.js +1 -1
  12. package/components/pds-radio.js +1 -1
  13. package/components/pds-row.js +1 -1
  14. package/components/pds-switch.js +1 -1
  15. package/components/pds-table-cell2.js +1 -1
  16. package/components/pds-text2.js +1 -1
  17. package/components/truncation-tooltip.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/pds-box.cjs.entry.js +96 -96
  20. package/dist/cjs/pds-checkbox.cjs.entry.js +16 -4
  21. package/dist/cjs/pds-chip.cjs.entry.js +34 -9
  22. package/dist/cjs/pds-combobox.cjs.entry.js +47 -4
  23. package/dist/cjs/pds-copytext.cjs.entry.js +7 -2
  24. package/dist/cjs/pds-drawer.cjs.entry.js +23 -10
  25. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  26. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +9 -5
  27. package/dist/cjs/pds-modal.cjs.entry.js +175 -49
  28. package/dist/cjs/pds-multiselect.cjs.entry.js +40 -9
  29. package/dist/cjs/pds-popover.cjs.entry.js +170 -26
  30. package/dist/cjs/pds-radio.cjs.entry.js +1 -1
  31. package/dist/cjs/pds-row.cjs.entry.js +7 -7
  32. package/dist/cjs/pds-switch.cjs.entry.js +15 -3
  33. package/dist/cjs/pds-table-cell.cjs.entry.js +24 -4
  34. package/dist/cjs/pds-text.cjs.entry.js +17 -9
  35. package/dist/cjs/pine-core.cjs.js +1 -1
  36. package/dist/cjs/{truncation-tooltip-CYgQfBLt.js → truncation-tooltip-DO9xli2e.js} +7 -7
  37. package/dist/collection/components/pds-box/pds-box.js +96 -96
  38. package/dist/collection/components/pds-checkbox/pds-checkbox.css +4 -0
  39. package/dist/collection/components/pds-checkbox/pds-checkbox.js +15 -3
  40. package/dist/collection/components/pds-chip/pds-chip.js +33 -8
  41. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +17 -0
  42. package/dist/collection/components/pds-combobox/pds-combobox.js +48 -5
  43. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +1 -1
  44. package/dist/collection/components/pds-copytext/pds-copytext.js +6 -1
  45. package/dist/collection/components/pds-drawer/pds-drawer.css +4 -1
  46. package/dist/collection/components/pds-drawer/pds-drawer.js +54 -17
  47. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +6 -1
  48. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +2 -2
  49. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +15 -5
  50. package/dist/collection/components/pds-modal/pds-modal.js +180 -50
  51. package/dist/collection/components/pds-multiselect/pds-multiselect.css +4 -0
  52. package/dist/collection/components/pds-multiselect/pds-multiselect.js +42 -11
  53. package/dist/collection/components/pds-popover/pds-popover.js +171 -27
  54. package/dist/collection/components/pds-radio/pds-radio.css +6 -0
  55. package/dist/collection/components/pds-row/pds-row.js +7 -7
  56. package/dist/collection/components/pds-switch/pds-switch.js +15 -3
  57. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +23 -3
  58. package/dist/collection/components/pds-text/pds-text.js +16 -8
  59. package/dist/collection/utils/truncation-tooltip.js +7 -7
  60. package/dist/docs.json +48 -9
  61. package/dist/esm/loader.js +1 -1
  62. package/dist/esm/pds-box.entry.js +96 -96
  63. package/dist/esm/pds-checkbox.entry.js +16 -4
  64. package/dist/esm/pds-chip.entry.js +34 -9
  65. package/dist/esm/pds-combobox.entry.js +47 -4
  66. package/dist/esm/pds-copytext.entry.js +7 -2
  67. package/dist/esm/pds-drawer.entry.js +23 -10
  68. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  69. package/dist/esm/pds-dropdown-menu.entry.js +9 -5
  70. package/dist/esm/pds-modal.entry.js +175 -49
  71. package/dist/esm/pds-multiselect.entry.js +40 -9
  72. package/dist/esm/pds-popover.entry.js +171 -27
  73. package/dist/esm/pds-radio.entry.js +1 -1
  74. package/dist/esm/pds-row.entry.js +7 -7
  75. package/dist/esm/pds-switch.entry.js +15 -3
  76. package/dist/esm/pds-table-cell.entry.js +24 -4
  77. package/dist/esm/pds-text.entry.js +17 -9
  78. package/dist/esm/pine-core.js +1 -1
  79. package/dist/esm/{truncation-tooltip-_902ENWC.js → truncation-tooltip-DRXsdKk1.js} +7 -7
  80. package/dist/esm-es5/loader.js +1 -1
  81. package/dist/esm-es5/pds-box.entry.js +1 -1
  82. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  83. package/dist/esm-es5/pds-chip.entry.js +1 -1
  84. package/dist/esm-es5/pds-combobox.entry.js +1 -1
  85. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  86. package/dist/esm-es5/pds-drawer.entry.js +1 -1
  87. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  88. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  89. package/dist/esm-es5/pds-modal.entry.js +1 -1
  90. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  91. package/dist/esm-es5/pds-popover.entry.js +1 -1
  92. package/dist/esm-es5/pds-radio.entry.js +1 -1
  93. package/dist/esm-es5/pds-row.entry.js +1 -1
  94. package/dist/esm-es5/pds-switch.entry.js +1 -1
  95. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  96. package/dist/esm-es5/pds-text.entry.js +1 -1
  97. package/dist/esm-es5/pine-core.js +1 -1
  98. package/dist/esm-es5/truncation-tooltip-DRXsdKk1.js +1 -0
  99. package/dist/pine-core/{p-9af131d6.system.entry.js → p-11d98408.system.entry.js} +1 -1
  100. package/dist/pine-core/p-153ba77b.entry.js +1 -0
  101. package/dist/pine-core/p-355e4cf9.entry.js +1 -0
  102. package/dist/pine-core/p-4435fff6.system.entry.js +1 -0
  103. package/dist/pine-core/p-576cf904.system.entry.js +1 -0
  104. package/dist/pine-core/{p-4f94b4f1.system.entry.js → p-645a482b.system.entry.js} +1 -1
  105. package/dist/pine-core/{p-4fa63723.system.entry.js → p-6d603d16.system.entry.js} +1 -1
  106. package/dist/pine-core/p-74a05bcc.entry.js +1 -0
  107. package/dist/pine-core/p-7fa66cad.entry.js +1 -0
  108. package/dist/pine-core/p-80a698ae.entry.js +1 -0
  109. package/dist/pine-core/{p-bf7ee3b7.system.entry.js → p-80e6f3a0.system.entry.js} +1 -1
  110. package/dist/pine-core/p-88ff1604.entry.js +1 -0
  111. package/dist/pine-core/p-92ae6082.entry.js +1 -0
  112. package/dist/pine-core/{p-6eec23a7.system.entry.js → p-97d0b89e.system.entry.js} +1 -1
  113. package/dist/pine-core/p-993d1043.entry.js +1 -0
  114. package/dist/pine-core/p-CuSNnuFu.system.js +1 -1
  115. package/dist/pine-core/p-JtdHT_W5.js +1 -0
  116. package/dist/pine-core/p-a787b34a.system.entry.js +1 -0
  117. package/dist/pine-core/p-a939b471.entry.js +1 -0
  118. package/dist/pine-core/p-aa032a5e.system.entry.js +1 -0
  119. package/dist/pine-core/{p-646afbca.system.entry.js → p-b60ac7eb.system.entry.js} +1 -1
  120. package/dist/pine-core/p-bb73ad66.entry.js +2 -0
  121. package/dist/pine-core/p-bd26a5e8.entry.js +1 -0
  122. package/dist/pine-core/p-bf5887e8.system.entry.js +1 -0
  123. package/dist/pine-core/p-c36b490e.entry.js +1 -0
  124. package/dist/pine-core/p-c81d8ac8.entry.js +1 -0
  125. package/dist/pine-core/p-ca0a8f5c.entry.js +1 -0
  126. package/dist/pine-core/p-ca0d48e8.entry.js +1 -0
  127. package/dist/pine-core/p-cfc52b95.system.entry.js +1 -0
  128. package/dist/pine-core/{p-ba1f65c2.system.entry.js → p-d8570b4b.system.entry.js} +1 -1
  129. package/dist/pine-core/{p-9e0f920a.system.entry.js → p-e7a95a49.system.entry.js} +1 -1
  130. package/dist/pine-core/p-e803f629.system.entry.js +1 -0
  131. package/dist/pine-core/{p-df539c42.system.entry.js → p-e836f3ec.system.entry.js} +2 -2
  132. package/dist/pine-core/{p-b8e8a4ce.entry.js → p-f474d7de.entry.js} +1 -1
  133. package/dist/pine-core/{p-CBu9UrXr.system.js → p-qhdoK1Jp.system.js} +1 -1
  134. package/dist/pine-core/pine-core.esm.js +1 -1
  135. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +4 -0
  136. package/dist/types/components/pds-combobox/pds-combobox.d.ts +7 -1
  137. package/dist/types/components/pds-drawer/pds-drawer.d.ts +21 -9
  138. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +1 -0
  139. package/dist/types/components/pds-modal/pds-modal.d.ts +16 -3
  140. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +10 -3
  141. package/dist/types/components/pds-popover/pds-popover.d.ts +31 -1
  142. package/dist/types/components/pds-switch/pds-switch.d.ts +4 -0
  143. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +3 -0
  144. package/dist/types/components/pds-text/pds-text.d.ts +1 -0
  145. package/dist/types/components.d.ts +47 -32
  146. package/dist/types/utils/truncation-tooltip.d.ts +15 -2
  147. package/dist/vscode.html-data.json +11 -4
  148. package/hydrate/index.js +698 -253
  149. package/hydrate/index.mjs +698 -253
  150. package/package.json +2 -2
  151. package/dist/esm-es5/truncation-tooltip-_902ENWC.js +0 -1
  152. package/dist/pine-core/p-01c9b8f3.entry.js +0 -1
  153. package/dist/pine-core/p-258d5e83.entry.js +0 -1
  154. package/dist/pine-core/p-3c27088f.system.entry.js +0 -1
  155. package/dist/pine-core/p-4849fda7.entry.js +0 -1
  156. package/dist/pine-core/p-4de8f333.entry.js +0 -1
  157. package/dist/pine-core/p-550c2fd3.entry.js +0 -1
  158. package/dist/pine-core/p-6bf853c9.entry.js +0 -1
  159. package/dist/pine-core/p-6d3610f9.entry.js +0 -1
  160. package/dist/pine-core/p-73eb47fa.entry.js +0 -1
  161. package/dist/pine-core/p-7f367db4.system.entry.js +0 -1
  162. package/dist/pine-core/p-84e9b7da.entry.js +0 -1
  163. package/dist/pine-core/p-9a0083dd.system.entry.js +0 -1
  164. package/dist/pine-core/p-CnM3cCof.js +0 -1
  165. package/dist/pine-core/p-a3735199.entry.js +0 -1
  166. package/dist/pine-core/p-a85a6ab9.system.entry.js +0 -1
  167. package/dist/pine-core/p-cf08a6dd.system.entry.js +0 -1
  168. package/dist/pine-core/p-da103a54.system.entry.js +0 -1
  169. package/dist/pine-core/p-e800a2b1.entry.js +0 -1
  170. package/dist/pine-core/p-eb5465ce.entry.js +0 -1
  171. package/dist/pine-core/p-ec5428fb.entry.js +0 -1
  172. package/dist/pine-core/p-ed4b979e.entry.js +0 -1
  173. package/dist/pine-core/p-f1f17940.entry.js +0 -2
  174. package/dist/pine-core/p-f25e4731.system.entry.js +0 -1
@@ -970,7 +970,7 @@ export namespace Components {
970
970
  */
971
971
  "chipSentiment": ChipSentimentType;
972
972
  /**
973
- * Clears the selected value and resets the component.
973
+ * Clears the selected value and resets the component. Works while disabled too, as setting a native control's value from script does.
974
974
  */
975
975
  "clear": () => Promise<void>;
976
976
  /**
@@ -1430,12 +1430,13 @@ export namespace Components {
1430
1430
  "vertical": boolean;
1431
1431
  }
1432
1432
  /**
1433
- * A non-modal side panel composed from `pds-modal`.
1434
- * Unlike `pds-modal`, the page stays interactive while a drawer is open: no
1435
- * dimming, no blur, no scroll lock, no click blocking. `pds-drawer` renders a
1436
- * `pds-modal` internally with `disableTopLayer` always on and its backdrop
1437
- * suppressed, and adds the edge, width and dismiss behavior a side panel
1438
- * needs on top. It does not reimplement focus, Escape or dialog semantics —
1433
+ * A side panel composed from `pds-modal`, non-modal by default.
1434
+ * By default, unlike `pds-modal`, the page stays interactive while a drawer
1435
+ * is open: no dimming, no blur, no scroll lock, no click blocking.
1436
+ * `pds-drawer` renders a `pds-modal` internally with `disableTopLayer` on and
1437
+ * its backdrop suppressed, and adds the edge, width and dismiss behavior a
1438
+ * side panel needs on top. With `modal`, it opens that `pds-modal` in the top
1439
+ * layer instead and keeps its backdrop. It does not reimplement focus, Escape or dialog semantics —
1439
1440
  * those come from `pds-modal` unchanged.
1440
1441
  * @lightDom renders-markup
1441
1442
  */
@@ -1445,15 +1446,20 @@ export namespace Components {
1445
1446
  */
1446
1447
  "componentId": string;
1447
1448
  /**
1448
- * Whether to move focus into the drawer when it opens. `auto` is right for a drawer opened by a direct user action (a click, a deep link the user just navigated to). Set to `none` for a drawer that can open from a background event while the user is mid-task elsewhere on the page — moving focus there would interrupt them, and the page stays live under a non-modal drawer, so it is a genuine data-entry risk, not just an annoyance.
1449
+ * Whether to move focus into the drawer when it opens. `auto` is right for a drawer opened by a direct user action (a click, a deep link the user just navigated to). Set to `none` for a drawer that can open from a background event while the user is mid-task elsewhere on the page — moving focus there would interrupt them, and the page stays live under a non-modal drawer, so it is a genuine data-entry risk, not just an annoyance. A `modal` drawer ignores `none`: the page behind it is inert, so focus starts in the drawer.
1449
1450
  * @default 'auto'
1450
1451
  */
1451
1452
  "initialFocus": 'auto' | 'none';
1452
1453
  /**
1453
- * Whether the drawer can be dismissed with a pointerdown outside it. Replaces `pds-modal`'s `backdropDismiss` — there is no backdrop to click. This also gates Escape, matching how `backdropDismiss` gates Escape on `pds-modal` today: setting this to `false` means the close button is the only way out. A trigger outside the drawer should only ever set `open` to `true` and leave closing to the drawer itself. A toggle-style trigger (`open = !open`) fights light dismiss: clicking it while open closes the drawer on `pointerdown`, then the trigger's own click handler re-opens it.
1454
+ * Whether the drawer can be dismissed with a pointerdown outside it (in a `modal` drawer, a click on its backdrop). Replaces `pds-modal`'s `backdropDismiss`. This also gates Escape, matching how `backdropDismiss` gates Escape on `pds-modal` today: setting this to `false` means the close button is the only way out. A trigger outside the drawer should only ever set `open` to `true` and leave closing to the drawer itself. A toggle-style trigger (`open = !open`) fights light dismiss: clicking it while open closes the drawer on `pointerdown`, then the trigger's own click handler re-opens it.
1454
1455
  * @default true
1455
1456
  */
1456
1457
  "lightDismiss": boolean;
1458
+ /**
1459
+ * Whether the drawer is modal. A modal drawer dims the page behind it with a backdrop, makes the page inert, and keeps focus inside the drawer, like `pds-modal`. Use it for a task the page should wait on. Leave it off for a panel people work alongside the page. Read when the drawer opens; changing it while the drawer is open is not supported.
1460
+ * @default false
1461
+ */
1462
+ "modal": boolean;
1457
1463
  /**
1458
1464
  * Whether the drawer is open
1459
1465
  * @default false
@@ -1838,7 +1844,7 @@ export namespace Components {
1838
1844
  */
1839
1845
  interface PdsModal {
1840
1846
  /**
1841
- * Whether the modal can be dismissed by clicking the backdrop
1847
+ * Whether the modal can be dismissed by clicking the backdrop, pressing Escape, or the browser's own close request (such as a back gesture)
1842
1848
  * @default true
1843
1849
  */
1844
1850
  "backdropDismiss": boolean;
@@ -1911,7 +1917,7 @@ export namespace Components {
1911
1917
  */
1912
1918
  "asyncUrl"?: string;
1913
1919
  /**
1914
- * Clears all selected values and resets the component.
1920
+ * Clears all selected values and resets the component. Works while disabled too, as setting a native control's value from script does.
1915
1921
  */
1916
1922
  "clear": () => Promise<void>;
1917
1923
  /**
@@ -3254,12 +3260,13 @@ declare global {
3254
3260
  "pdsDrawerClose": void;
3255
3261
  }
3256
3262
  /**
3257
- * A non-modal side panel composed from `pds-modal`.
3258
- * Unlike `pds-modal`, the page stays interactive while a drawer is open: no
3259
- * dimming, no blur, no scroll lock, no click blocking. `pds-drawer` renders a
3260
- * `pds-modal` internally with `disableTopLayer` always on and its backdrop
3261
- * suppressed, and adds the edge, width and dismiss behavior a side panel
3262
- * needs on top. It does not reimplement focus, Escape or dialog semantics —
3263
+ * A side panel composed from `pds-modal`, non-modal by default.
3264
+ * By default, unlike `pds-modal`, the page stays interactive while a drawer
3265
+ * is open: no dimming, no blur, no scroll lock, no click blocking.
3266
+ * `pds-drawer` renders a `pds-modal` internally with `disableTopLayer` on and
3267
+ * its backdrop suppressed, and adds the edge, width and dismiss behavior a
3268
+ * side panel needs on top. With `modal`, it opens that `pds-modal` in the top
3269
+ * layer instead and keeps its backdrop. It does not reimplement focus, Escape or dialog semantics —
3263
3270
  * those come from `pds-modal` unchanged.
3264
3271
  * @lightDom renders-markup
3265
3272
  */
@@ -5284,12 +5291,13 @@ declare namespace LocalJSX {
5284
5291
  "vertical"?: boolean;
5285
5292
  }
5286
5293
  /**
5287
- * A non-modal side panel composed from `pds-modal`.
5288
- * Unlike `pds-modal`, the page stays interactive while a drawer is open: no
5289
- * dimming, no blur, no scroll lock, no click blocking. `pds-drawer` renders a
5290
- * `pds-modal` internally with `disableTopLayer` always on and its backdrop
5291
- * suppressed, and adds the edge, width and dismiss behavior a side panel
5292
- * needs on top. It does not reimplement focus, Escape or dialog semantics —
5294
+ * A side panel composed from `pds-modal`, non-modal by default.
5295
+ * By default, unlike `pds-modal`, the page stays interactive while a drawer
5296
+ * is open: no dimming, no blur, no scroll lock, no click blocking.
5297
+ * `pds-drawer` renders a `pds-modal` internally with `disableTopLayer` on and
5298
+ * its backdrop suppressed, and adds the edge, width and dismiss behavior a
5299
+ * side panel needs on top. With `modal`, it opens that `pds-modal` in the top
5300
+ * layer instead and keeps its backdrop. It does not reimplement focus, Escape or dialog semantics —
5293
5301
  * those come from `pds-modal` unchanged.
5294
5302
  * @lightDom renders-markup
5295
5303
  */
@@ -5299,15 +5307,20 @@ declare namespace LocalJSX {
5299
5307
  */
5300
5308
  "componentId"?: string;
5301
5309
  /**
5302
- * Whether to move focus into the drawer when it opens. `auto` is right for a drawer opened by a direct user action (a click, a deep link the user just navigated to). Set to `none` for a drawer that can open from a background event while the user is mid-task elsewhere on the page — moving focus there would interrupt them, and the page stays live under a non-modal drawer, so it is a genuine data-entry risk, not just an annoyance.
5310
+ * Whether to move focus into the drawer when it opens. `auto` is right for a drawer opened by a direct user action (a click, a deep link the user just navigated to). Set to `none` for a drawer that can open from a background event while the user is mid-task elsewhere on the page — moving focus there would interrupt them, and the page stays live under a non-modal drawer, so it is a genuine data-entry risk, not just an annoyance. A `modal` drawer ignores `none`: the page behind it is inert, so focus starts in the drawer.
5303
5311
  * @default 'auto'
5304
5312
  */
5305
5313
  "initialFocus"?: 'auto' | 'none';
5306
5314
  /**
5307
- * Whether the drawer can be dismissed with a pointerdown outside it. Replaces `pds-modal`'s `backdropDismiss` — there is no backdrop to click. This also gates Escape, matching how `backdropDismiss` gates Escape on `pds-modal` today: setting this to `false` means the close button is the only way out. A trigger outside the drawer should only ever set `open` to `true` and leave closing to the drawer itself. A toggle-style trigger (`open = !open`) fights light dismiss: clicking it while open closes the drawer on `pointerdown`, then the trigger's own click handler re-opens it.
5315
+ * Whether the drawer can be dismissed with a pointerdown outside it (in a `modal` drawer, a click on its backdrop). Replaces `pds-modal`'s `backdropDismiss`. This also gates Escape, matching how `backdropDismiss` gates Escape on `pds-modal` today: setting this to `false` means the close button is the only way out. A trigger outside the drawer should only ever set `open` to `true` and leave closing to the drawer itself. A toggle-style trigger (`open = !open`) fights light dismiss: clicking it while open closes the drawer on `pointerdown`, then the trigger's own click handler re-opens it.
5308
5316
  * @default true
5309
5317
  */
5310
5318
  "lightDismiss"?: boolean;
5319
+ /**
5320
+ * Whether the drawer is modal. A modal drawer dims the page behind it with a backdrop, makes the page inert, and keeps focus inside the drawer, like `pds-modal`. Use it for a task the page should wait on. Leave it off for a panel people work alongside the page. Read when the drawer opens; changing it while the drawer is open is not supported.
5321
+ * @default false
5322
+ */
5323
+ "modal"?: boolean;
5311
5324
  /**
5312
5325
  * Emitted when the drawer is closed
5313
5326
  */
@@ -5724,7 +5737,7 @@ declare namespace LocalJSX {
5724
5737
  */
5725
5738
  interface PdsModal {
5726
5739
  /**
5727
- * Whether the modal can be dismissed by clicking the backdrop
5740
+ * Whether the modal can be dismissed by clicking the backdrop, pressing Escape, or the browser's own close request (such as a back gesture)
5728
5741
  * @default true
5729
5742
  */
5730
5743
  "backdropDismiss"?: boolean;
@@ -7200,6 +7213,7 @@ declare namespace LocalJSX {
7200
7213
  "side": 'start' | 'end';
7201
7214
  "size": 'sm' | 'md';
7202
7215
  "scrollable": boolean;
7216
+ "modal": boolean;
7203
7217
  "lightDismiss": boolean;
7204
7218
  "initialFocus": 'auto' | 'none';
7205
7219
  }
@@ -7650,12 +7664,13 @@ declare module "@stencil/core" {
7650
7664
  "pds-datepicker": LocalJSX.IntrinsicElements["pds-datepicker"] & JSXBase.HTMLAttributes<HTMLPdsDatepickerElement>;
7651
7665
  "pds-divider": LocalJSX.IntrinsicElements["pds-divider"] & JSXBase.HTMLAttributes<HTMLPdsDividerElement>;
7652
7666
  /**
7653
- * A non-modal side panel composed from `pds-modal`.
7654
- * Unlike `pds-modal`, the page stays interactive while a drawer is open: no
7655
- * dimming, no blur, no scroll lock, no click blocking. `pds-drawer` renders a
7656
- * `pds-modal` internally with `disableTopLayer` always on and its backdrop
7657
- * suppressed, and adds the edge, width and dismiss behavior a side panel
7658
- * needs on top. It does not reimplement focus, Escape or dialog semantics —
7667
+ * A side panel composed from `pds-modal`, non-modal by default.
7668
+ * By default, unlike `pds-modal`, the page stays interactive while a drawer
7669
+ * is open: no dimming, no blur, no scroll lock, no click blocking.
7670
+ * `pds-drawer` renders a `pds-modal` internally with `disableTopLayer` on and
7671
+ * its backdrop suppressed, and adds the edge, width and dismiss behavior a
7672
+ * side panel needs on top. With `modal`, it opens that `pds-modal` in the top
7673
+ * layer instead and keeps its backdrop. It does not reimplement focus, Escape or dialog semantics —
7659
7674
  * those come from `pds-modal` unchanged.
7660
7675
  * @lightDom renders-markup
7661
7676
  */
@@ -1,6 +1,7 @@
1
1
  import { PlacementType } from './types';
2
+ import type { ReferenceElement } from '@floating-ui/dom';
2
3
  export interface TruncationTooltipOptions {
3
- /** The host element (for hover/focus listeners and positioning anchor) */
4
+ /** The host element (for hover listeners and positioning anchor; focus listeners too, unless `focusEl` is set) */
4
5
  hostEl: HTMLElement;
5
6
  /** The inner element where overflow actually occurs (inside shadow root) */
6
7
  contentEl: HTMLElement;
@@ -8,16 +9,28 @@ export interface TruncationTooltipOptions {
8
9
  getTooltipText: () => string;
9
10
  /** Tooltip placement preference (default: 'top') */
10
11
  placement?: PlacementType;
12
+ /**
13
+ * What the tooltip is positioned against (default: `hostEl`). A virtual
14
+ * element lets it sit beside a larger region than the host.
15
+ */
16
+ reference?: ReferenceElement;
11
17
  /**
12
18
  * Whether to give `contentEl` a tab stop while its text is clipped (default: true).
13
19
  *
14
20
  * Set to `false` when `contentEl` already sits inside its own focusable
15
21
  * control (e.g. a wrapping `<button>` or `<pds-button>`) that already
16
- * receives focus and triggers this tooltip via `hostEl`'s `focusin`
22
+ * receives focus and triggers this tooltip via `focusEl`'s `focusin`
17
23
  * listener. Managing the tabindex there too would nest a second, nameless
18
24
  * tab stop inside an already-interactive element.
19
25
  */
20
26
  manageTabIndex?: boolean;
27
+ /**
28
+ * The element whose focus shows the tooltip (default: `hostEl`).
29
+ *
30
+ * Pass the wrapping control when it sits outside `hostEl`, so focusing it
31
+ * still reveals the text once `manageTabIndex` is `false`.
32
+ */
33
+ focusEl?: HTMLElement;
21
34
  }
22
35
  /**
23
36
  * Sets up automatic tooltip behavior for a truncated element.
@@ -8174,7 +8174,7 @@
8174
8174
  "name": "pds-drawer",
8175
8175
  "description": {
8176
8176
  "kind": "markdown",
8177
- "value": "A non-modal side panel. Unlike `pds-modal`, the page stays interactive while a drawer is open — no dimming, no blur, no scroll lock, no click blocking.\n\n**Events:**\n- `pdsDrawerClose` - Emitted when the drawer is closed\n- `pdsDrawerOpen` - Emitted when the drawer is opened"
8177
+ "value": "A side panel. By default it's non-modal: unlike `pds-modal`, the page stays interactive while a drawer is open — no dimming, no blur, no scroll lock, no click blocking. Add `modal` for a drawer the page should wait on (see [Modal](#modal)).\n\n**Events:**\n- `pdsDrawerClose` - Emitted when the drawer is closed\n- `pdsDrawerOpen` - Emitted when the drawer is opened"
8178
8178
  },
8179
8179
  "attributes": [
8180
8180
  {
@@ -8188,7 +8188,7 @@
8188
8188
  "name": "initial-focus",
8189
8189
  "description": {
8190
8190
  "kind": "markdown",
8191
- "value": "Whether to move focus into the drawer when it opens. `auto` is right for\na drawer opened by a direct user action (a click, a deep link the user\njust navigated to). Set to `none` for a drawer that can open from a\nbackground event while the user is mid-task elsewhere on the page —\nmoving focus there would interrupt them, and the page stays live under\na non-modal drawer, so it is a genuine data-entry risk, not just an\nannoyance.\n\n**Type:** `\"auto\" | \"none\"`\n\n**Default:** `'auto'`"
8191
+ "value": "Whether to move focus into the drawer when it opens. `auto` is right for\na drawer opened by a direct user action (a click, a deep link the user\njust navigated to). Set to `none` for a drawer that can open from a\nbackground event while the user is mid-task elsewhere on the page —\nmoving focus there would interrupt them, and the page stays live under\na non-modal drawer, so it is a genuine data-entry risk, not just an\nannoyance. A `modal` drawer ignores `none`: the page behind it is inert,\nso focus starts in the drawer.\n\n**Type:** `\"auto\" | \"none\"`\n\n**Default:** `'auto'`"
8192
8192
  },
8193
8193
  "values": [
8194
8194
  {
@@ -8203,7 +8203,14 @@
8203
8203
  "name": "light-dismiss",
8204
8204
  "description": {
8205
8205
  "kind": "markdown",
8206
- "value": "Whether the drawer can be dismissed with a pointerdown outside it.\nReplaces `pds-modal`'s `backdropDismiss` — there is no backdrop to click.\nThis also gates Escape, matching how `backdropDismiss` gates Escape on\n`pds-modal` today: setting this to `false` means the close button is the\nonly way out.\n\nA trigger outside the drawer should only ever set `open` to `true` and\nleave closing to the drawer itself. A toggle-style trigger (`open =\n!open`) fights light dismiss: clicking it while open closes the drawer\non `pointerdown`, then the trigger's own click handler re-opens it.\n\n**Default:** `true`"
8206
+ "value": "Whether the drawer can be dismissed with a pointerdown outside it (in a\n`modal` drawer, a click on its backdrop).\nReplaces `pds-modal`'s `backdropDismiss`.\nThis also gates Escape, matching how `backdropDismiss` gates Escape on\n`pds-modal` today: setting this to `false` means the close button is the\nonly way out.\n\nA trigger outside the drawer should only ever set `open` to `true` and\nleave closing to the drawer itself. A toggle-style trigger (`open =\n!open`) fights light dismiss: clicking it while open closes the drawer\non `pointerdown`, then the trigger's own click handler re-opens it.\n\n**Default:** `true`"
8207
+ }
8208
+ },
8209
+ {
8210
+ "name": "modal",
8211
+ "description": {
8212
+ "kind": "markdown",
8213
+ "value": "Whether the drawer is modal. A modal drawer dims the page behind it with a\nbackdrop, makes the page inert, and keeps focus inside the drawer, like\n`pds-modal`. Use it for a task the page should wait on. Leave it off for a\npanel people work alongside the page. Read when the drawer opens; changing\nit while the drawer is open is not supported.\n\n**Default:** `false`"
8207
8214
  }
8208
8215
  },
8209
8216
  {
@@ -9062,7 +9069,7 @@
9062
9069
  "name": "backdrop-dismiss",
9063
9070
  "description": {
9064
9071
  "kind": "markdown",
9065
- "value": "Whether the modal can be dismissed by clicking the backdrop\n\n**Default:** `true`"
9072
+ "value": "Whether the modal can be dismissed by clicking the backdrop, pressing Escape, or the browser's\nown close request (such as a back gesture)\n\n**Default:** `true`"
9066
9073
  }
9067
9074
  },
9068
9075
  {