@nldd/design-system 0.8.43 → 0.8.44

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 (235) hide show
  1. package/dist/components/actions/button/button.d.ts +19 -1
  2. package/dist/components/actions/button/button.d.ts.map +1 -1
  3. package/dist/components/actions/button/button.js +25 -1
  4. package/dist/components/actions/button/button.js.map +1 -1
  5. package/dist/components/actions/button/button.styles.js +28 -28
  6. package/dist/components/actions/button/button.template.d.ts.map +1 -1
  7. package/dist/components/actions/button/button.template.js +7 -0
  8. package/dist/components/actions/button/button.template.js.map +1 -1
  9. package/dist/components/actions/button-bar/button-bar.styles.js +4 -4
  10. package/dist/components/actions/button-group/button-group.styles.js +1 -1
  11. package/dist/components/actions/icon-button/icon-button.d.ts +28 -7
  12. package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
  13. package/dist/components/actions/icon-button/icon-button.js +36 -9
  14. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  15. package/dist/components/actions/icon-button/icon-button.styles.js +25 -25
  16. package/dist/components/actions/icon-button/icon-button.template.d.ts.map +1 -1
  17. package/dist/components/actions/icon-button/icon-button.template.js +9 -2
  18. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  19. package/dist/components/actions/split-button/split-button.d.ts +5 -5
  20. package/dist/components/actions/split-button/split-button.d.ts.map +1 -1
  21. package/dist/components/actions/split-button/split-button.js +19 -15
  22. package/dist/components/actions/split-button/split-button.js.map +1 -1
  23. package/dist/components/actions/split-button/split-button.styles.js +1 -1
  24. package/dist/components/actions/split-button/split-button.template.d.ts.map +1 -1
  25. package/dist/components/actions/split-button/split-button.template.js +14 -12
  26. package/dist/components/actions/split-button/split-button.template.js.map +1 -1
  27. package/dist/components/actions/toolbar/toolbar.d.ts +0 -2
  28. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  29. package/dist/components/actions/toolbar/toolbar.js +20 -17
  30. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  31. package/dist/components/actions/toolbar/toolbar.styles.js +17 -17
  32. package/dist/components/actions/toolbar/toolbar.template.d.ts +1 -1
  33. package/dist/components/actions/toolbar/toolbar.template.d.ts.map +1 -1
  34. package/dist/components/actions/toolbar/toolbar.template.js +13 -5
  35. package/dist/components/actions/toolbar/toolbar.template.js.map +1 -1
  36. package/dist/components/components.js +1 -1
  37. package/dist/components/content/blockquote/blockquote.styles.js +5 -5
  38. package/dist/components/content/code/code.styles.js +3 -3
  39. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  40. package/dist/components/content/icon/icon-aliases.js +15 -0
  41. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  42. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  43. package/dist/components/content/icon/icon-registry.js +11 -5
  44. package/dist/components/content/icon/icon-registry.js.map +1 -1
  45. package/dist/components/content/icon/icon.styles.js +1 -1
  46. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +22 -0
  47. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
  48. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +46 -2
  49. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  50. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +5 -5
  51. package/dist/components/content/rich-text/rich-text.d.ts +3 -1
  52. package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
  53. package/dist/components/content/rich-text/rich-text.js +6 -1
  54. package/dist/components/content/rich-text/rich-text.js.map +1 -1
  55. package/dist/components/content/tag/tag.styles.js +6 -6
  56. package/dist/components/content/title/title.styles.js +2 -2
  57. package/dist/components/content/tooltip/tooltip.styles.js +8 -8
  58. package/dist/components/forms/form-actions/form-actions.styles.js +2 -2
  59. package/dist/components/forms/form-field/form-field.styles.js +6 -6
  60. package/dist/components/{index-By2jYHEw.js → index-1v33GjGX.js} +2950 -2632
  61. package/dist/components/index.d.ts +1 -1
  62. package/dist/components/index.d.ts.map +1 -1
  63. package/dist/components/index.js +1 -1
  64. package/dist/components/index.js.map +1 -1
  65. package/dist/components/inputs/checkbox/checkbox.styles.js +9 -9
  66. package/dist/components/inputs/checkbox-field/checkbox-field.styles.js +4 -4
  67. package/dist/components/inputs/code-editor/code-editor.styles.js +14 -14
  68. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  69. package/dist/components/inputs/combo-box/combo-box.styles.js +15 -14
  70. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  71. package/dist/components/inputs/combo-box/combo-box.template.js +2 -2
  72. package/dist/components/inputs/dropdown/dropdown.d.ts +7 -5
  73. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  74. package/dist/components/inputs/dropdown/dropdown.js +11 -9
  75. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  76. package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
  77. package/dist/components/inputs/dropdown/dropdown.styles.js +23 -17
  78. package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
  79. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.d.ts.map +1 -1
  80. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +12 -11
  81. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js.map +1 -1
  82. package/dist/components/inputs/number-field/number-field.styles.d.ts.map +1 -1
  83. package/dist/components/inputs/number-field/number-field.styles.js +16 -15
  84. package/dist/components/inputs/number-field/number-field.styles.js.map +1 -1
  85. package/dist/components/inputs/number-field/number-field.template.js +2 -2
  86. package/dist/components/inputs/password-field/password-field.d.ts +8 -8
  87. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  88. package/dist/components/inputs/password-field/password-field.js +16 -16
  89. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  90. package/dist/components/inputs/password-field/password-field.styles.d.ts.map +1 -1
  91. package/dist/components/inputs/password-field/password-field.styles.js +18 -17
  92. package/dist/components/inputs/password-field/password-field.styles.js.map +1 -1
  93. package/dist/components/inputs/password-field/password-field.template.js +3 -3
  94. package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
  95. package/dist/components/inputs/radio-button/radio-button.styles.js +11 -11
  96. package/dist/components/inputs/radio-button-field/radio-button-field.styles.js +4 -4
  97. package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
  98. package/dist/components/inputs/search-field/search-field.styles.js +17 -16
  99. package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
  100. package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
  101. package/dist/components/inputs/segmented-control/segmented-control.styles.js +37 -67
  102. package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
  103. package/dist/components/inputs/stepper/stepper.styles.js +2 -2
  104. package/dist/components/inputs/stepper/stepper.template.js +2 -2
  105. package/dist/components/inputs/switch/switch.styles.js +13 -13
  106. package/dist/components/inputs/switch-field/switch-field.styles.js +4 -4
  107. package/dist/components/inputs/text-field/text-field.styles.d.ts.map +1 -1
  108. package/dist/components/inputs/text-field/text-field.styles.js +17 -16
  109. package/dist/components/inputs/text-field/text-field.styles.js.map +1 -1
  110. package/dist/components/inputs/toggle-button/toggle-button.styles.js +12 -12
  111. package/dist/components/inputs/token/token.styles.js +5 -5
  112. package/dist/components/inputs/token/token.template.js +1 -1
  113. package/dist/components/layout/app-view/app-view.styles.js +4 -4
  114. package/dist/components/layout/box/box.styles.js +2 -2
  115. package/dist/components/layout/card/card.styles.js +4 -4
  116. package/dist/components/layout/collection/collection.styles.js +6 -6
  117. package/dist/components/layout/divider/divider.styles.js +2 -2
  118. package/dist/components/layout/page/page.styles.js +9 -9
  119. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.d.ts.map +1 -1
  120. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js +15 -14
  121. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js.map +1 -1
  122. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.js +6 -6
  123. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.js +6 -6
  124. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js +14 -14
  125. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js.map +1 -1
  126. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.js +6 -6
  127. package/dist/components/layout/popover/popover.styles.js +4 -4
  128. package/dist/components/layout/sheet/sheet.d.ts +17 -4
  129. package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
  130. package/dist/components/layout/sheet/sheet.js +40 -6
  131. package/dist/components/layout/sheet/sheet.js.map +1 -1
  132. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  133. package/dist/components/layout/sheet/sheet.styles.js +28 -35
  134. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  135. package/dist/components/layout/spacer/spacer.styles.js +5 -5
  136. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.js +9 -9
  137. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js +34 -34
  138. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js +6 -6
  139. package/dist/components/layout/split-views/split-view-divider/split-view-divider.styles.js +4 -4
  140. package/dist/components/layout/split-views/split-view-pane/split-view-pane.styles.js +3 -3
  141. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js +7 -7
  142. package/dist/components/layout/window/window.styles.js +8 -8
  143. package/dist/components/lists-and-menus/cells/cell/cell.styles.js +5 -5
  144. package/dist/components/lists-and-menus/cells/description-cell/description-cell.styles.js +5 -5
  145. package/dist/components/lists-and-menus/cells/drag-handle-cell/drag-handle-cell.styles.js +9 -9
  146. package/dist/components/lists-and-menus/cells/spacer-cell/spacer-cell.styles.js +1 -1
  147. package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.js +6 -6
  148. package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.js +6 -6
  149. package/dist/components/lists-and-menus/list/list.styles.js +13 -13
  150. package/dist/components/lists-and-menus/list-item/list-item.styles.js +21 -21
  151. package/dist/components/lists-and-menus/menu/menu.d.ts +160 -29
  152. package/dist/components/lists-and-menus/menu/menu.d.ts.map +1 -1
  153. package/dist/components/lists-and-menus/menu/menu.i18n.d.ts +2 -0
  154. package/dist/components/lists-and-menus/menu/menu.i18n.d.ts.map +1 -1
  155. package/dist/components/lists-and-menus/menu/menu.i18n.js +2 -0
  156. package/dist/components/lists-and-menus/menu/menu.i18n.js.map +1 -1
  157. package/dist/components/lists-and-menus/menu/menu.js +534 -102
  158. package/dist/components/lists-and-menus/menu/menu.js.map +1 -1
  159. package/dist/components/lists-and-menus/menu/menu.styles.d.ts.map +1 -1
  160. package/dist/components/lists-and-menus/menu/menu.styles.js +93 -32
  161. package/dist/components/lists-and-menus/menu/menu.styles.js.map +1 -1
  162. package/dist/components/lists-and-menus/menu/menu.template.d.ts.map +1 -1
  163. package/dist/components/lists-and-menus/menu/menu.template.js +13 -0
  164. package/dist/components/lists-and-menus/menu/menu.template.js.map +1 -1
  165. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts +0 -2
  166. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts.map +1 -1
  167. package/dist/components/navigation/document-tab-bar/document-tab-bar.js +20 -22
  168. package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
  169. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +48 -48
  170. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.d.ts.map +1 -1
  171. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js +11 -9
  172. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js.map +1 -1
  173. package/dist/components/navigation/link/link.d.ts.map +1 -0
  174. package/dist/components/navigation/link/link.js.map +1 -0
  175. package/dist/components/navigation/link/link.styles.d.ts.map +1 -0
  176. package/dist/components/{actions → navigation}/link/link.styles.js +4 -4
  177. package/dist/components/navigation/link/link.styles.js.map +1 -0
  178. package/dist/components/navigation/link/link.template.d.ts.map +1 -0
  179. package/dist/components/navigation/link/link.template.js.map +1 -0
  180. package/dist/components/navigation/menu-bar/menu-bar.d.ts +17 -5
  181. package/dist/components/navigation/menu-bar/menu-bar.d.ts.map +1 -1
  182. package/dist/components/navigation/menu-bar/menu-bar.js +79 -34
  183. package/dist/components/navigation/menu-bar/menu-bar.js.map +1 -1
  184. package/dist/components/navigation/menu-bar/menu-bar.styles.js +2 -2
  185. package/dist/components/navigation/menu-bar/menu-bar.template.d.ts.map +1 -1
  186. package/dist/components/navigation/menu-bar/menu-bar.template.js +12 -2
  187. package/dist/components/navigation/menu-bar/menu-bar.template.js.map +1 -1
  188. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +16 -0
  189. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts.map +1 -1
  190. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +22 -0
  191. package/dist/components/navigation/menu-bar-item/menu-bar-item.js.map +1 -1
  192. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +19 -19
  193. package/dist/components/navigation/menu-bar-item/menu-bar-item.template.d.ts.map +1 -1
  194. package/dist/components/navigation/menu-bar-item/menu-bar-item.template.js +2 -0
  195. package/dist/components/navigation/menu-bar-item/menu-bar-item.template.js.map +1 -1
  196. package/dist/components/navigation/pagination/pagination.d.ts +12 -0
  197. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -1
  198. package/dist/components/navigation/pagination/pagination.js +19 -0
  199. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  200. package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  201. package/dist/components/navigation/pagination/pagination.styles.js +47 -77
  202. package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
  203. package/dist/components/navigation/pagination/pagination.template.d.ts.map +1 -1
  204. package/dist/components/navigation/pagination/pagination.template.js +23 -16
  205. package/dist/components/navigation/pagination/pagination.template.js.map +1 -1
  206. package/dist/components/navigation/skip-link/skip-link.styles.js +9 -9
  207. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  208. package/dist/components/navigation/tab-bar/tab-bar.styles.js +28 -51
  209. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  210. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  211. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +57 -70
  212. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  213. package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +15 -15
  214. package/dist/components/{prism-typescript-BlIir5CV.js → prism-typescript-D2EqsCqV.js} +1 -1
  215. package/dist/components/status-and-feedback/badge/badge.styles.js +7 -7
  216. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js +7 -7
  217. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js +5 -5
  218. package/dist/css/rich-text.css +85 -58
  219. package/dist/css/settings.css +36 -33
  220. package/dist/utilities/os.d.ts +27 -0
  221. package/dist/utilities/os.d.ts.map +1 -0
  222. package/dist/utilities/os.js +60 -0
  223. package/dist/utilities/os.js.map +1 -0
  224. package/package.json +5 -5
  225. package/dist/components/actions/link/link.d.ts.map +0 -1
  226. package/dist/components/actions/link/link.js.map +0 -1
  227. package/dist/components/actions/link/link.styles.d.ts.map +0 -1
  228. package/dist/components/actions/link/link.styles.js.map +0 -1
  229. package/dist/components/actions/link/link.template.d.ts.map +0 -1
  230. package/dist/components/actions/link/link.template.js.map +0 -1
  231. /package/dist/components/{actions → navigation}/link/link.d.ts +0 -0
  232. /package/dist/components/{actions → navigation}/link/link.js +0 -0
  233. /package/dist/components/{actions → navigation}/link/link.styles.d.ts +0 -0
  234. /package/dist/components/{actions → navigation}/link/link.template.d.ts +0 -0
  235. /package/dist/components/{actions → navigation}/link/link.template.js +0 -0
@@ -7,7 +7,7 @@
7
7
  * @attr {boolean} disabled - Disabled state
8
8
  * @attr {string} type - Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set)
9
9
  * @attr {boolean} expandable - Whether the button has a icon to indicate it opens a menu or popover
10
- * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-open visual state.
10
+ * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-expanded visual state.
11
11
  * @attr {string} popup-type - Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state.
12
12
  * @attr {string} width - Width mode: 'full' (stretches to container) or any CSS length (e.g. '240px')
13
13
  * @attr {string} text - Button text
@@ -46,6 +46,24 @@ export declare class NLDDButton extends LitElement {
46
46
  popupType?: PopupType;
47
47
  type: ButtonType;
48
48
  popovertarget: string | undefined;
49
+ /**
50
+ * Direct element reference to the popover this button invokes — IDL-only
51
+ * counterpart to `popovertarget` that works across shadow boundaries.
52
+ * Use this when the popover lives in a different tree (e.g. an
53
+ * `nldd-menu` reparented to `<body>`) so the browser still recognises
54
+ * this button as the popover's invoker and excludes it from the popover
55
+ * light-dismiss algorithm. Set programmatically; not reflected to an
56
+ * HTML attribute (the attribute form is `popovertarget`, ID-based).
57
+ */
58
+ popoverTargetElement: Element | null;
59
+ /**
60
+ * Action the browser performs when the button is clicked, mirroring the
61
+ * standard `popovertargetaction` attribute. Defaults to `'toggle'`. Use
62
+ * `'show'` when a separate handler owns the close path (e.g. the
63
+ * consumer toggles the popover programmatically) so the browser's
64
+ * default action doesn't double-fire.
65
+ */
66
+ popoverTargetAction: 'toggle' | 'show' | 'hide';
49
67
  disabled: boolean;
50
68
  /** Button text. */
51
69
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,8BAA8B,CAAC;AAEtC,KAAK,OAAO,GACT,SAAS,GACT,WAAW,GACX,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,CAAC;AAC1B,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/B,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,qBACa,UAAW,SAAQ,UAAU;IACzC,OAAgB,MAAM,0BAAgB;IAGtC,OAAO,EAAE,OAAO,CAAoB;IAGpC,IAAI,EAAE,IAAI,CAAQ;IAElB,mEAAmE;IAEnE,KAAK,SAAM;IAGX,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,IAAI,EAAE,UAAU,CAAY;IAG5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAG9C,QAAQ,UAAS;IAEjB,mBAAmB;IAEnB,IAAI,SAAM;IAGV,UAAU,UAAS;IAEnB,6FAA6F;IAE7F,SAAS,SAAM;IAEf,wFAAwF;IAExF,OAAO,SAAM;IAEb,0GAA0G;IAE1G,eAAe,SAAM;IAErB,4DAA4D;IAE5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC,+DAA+D;IAE/D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IAEvC;;;OAGG;IAEH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpC,OAAO,CAAC,WAAW,CAAS;IAEnB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0B/D,OAAO,CAAC,YAAY;IAQpB,2DAA2D;IAC3D,YAAY,IAAI,MAAM;IAMtB;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAKf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,aAAa,EAAE,UAAU,CAAC;KAC1B;CACD"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,8BAA8B,CAAC;AAEtC,KAAK,OAAO,GACT,SAAS,GACT,WAAW,GACX,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,CAAC;AAC1B,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/B,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,qBACa,UAAW,SAAQ,UAAU;IACzC,OAAgB,MAAM,0BAAgB;IAGtC,OAAO,EAAE,OAAO,CAAoB;IAGpC,IAAI,EAAE,IAAI,CAAQ;IAElB,mEAAmE;IAEnE,KAAK,SAAM;IAGX,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,IAAI,EAAE,UAAU,CAAY;IAG5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAE9C;;;;;;;;OAQG;IAEH,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE5C;;;;;;OAMG;IAEH,mBAAmB,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAY;IAG3D,QAAQ,UAAS;IAEjB,mBAAmB;IAEnB,IAAI,SAAM;IAGV,UAAU,UAAS;IAEnB,6FAA6F;IAE7F,SAAS,SAAM;IAEf,wFAAwF;IAExF,OAAO,SAAM;IAEb,0GAA0G;IAE1G,eAAe,SAAM;IAErB,4DAA4D;IAE5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC,+DAA+D;IAE/D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IAEvC;;;OAGG;IAEH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpC,OAAO,CAAC,WAAW,CAAS;IAEnB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0B/D,OAAO,CAAC,YAAY;IAQpB,2DAA2D;IAC3D,YAAY,IAAI,MAAM;IAMtB;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAKf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,aAAa,EAAE,UAAU,CAAC;KAC1B;CACD"}
@@ -7,7 +7,7 @@
7
7
  * @attr {boolean} disabled - Disabled state
8
8
  * @attr {string} type - Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set)
9
9
  * @attr {boolean} expandable - Whether the button has a icon to indicate it opens a menu or popover
10
- * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-open visual state.
10
+ * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-expanded visual state.
11
11
  * @attr {string} popup-type - Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state.
12
12
  * @attr {string} width - Width mode: 'full' (stretches to container) or any CSS length (e.g. '240px')
13
13
  * @attr {string} text - Button text
@@ -46,6 +46,24 @@ let NLDDButton = class NLDDButton extends LitElement {
46
46
  this.expanded = false;
47
47
  this.type = 'button';
48
48
  this.popovertarget = undefined;
49
+ /**
50
+ * Direct element reference to the popover this button invokes — IDL-only
51
+ * counterpart to `popovertarget` that works across shadow boundaries.
52
+ * Use this when the popover lives in a different tree (e.g. an
53
+ * `nldd-menu` reparented to `<body>`) so the browser still recognises
54
+ * this button as the popover's invoker and excludes it from the popover
55
+ * light-dismiss algorithm. Set programmatically; not reflected to an
56
+ * HTML attribute (the attribute form is `popovertarget`, ID-based).
57
+ */
58
+ this.popoverTargetElement = null;
59
+ /**
60
+ * Action the browser performs when the button is clicked, mirroring the
61
+ * standard `popovertargetaction` attribute. Defaults to `'toggle'`. Use
62
+ * `'show'` when a separate handler owns the close path (e.g. the
63
+ * consumer toggles the popover programmatically) so the browser's
64
+ * default action doesn't double-fire.
65
+ */
66
+ this.popoverTargetAction = 'toggle';
49
67
  this.disabled = false;
50
68
  /** Button text. */
51
69
  this.text = '';
@@ -147,6 +165,12 @@ __decorate([
147
165
  __decorate([
148
166
  property({ type: String })
149
167
  ], NLDDButton.prototype, "popovertarget", void 0);
168
+ __decorate([
169
+ property({ attribute: false })
170
+ ], NLDDButton.prototype, "popoverTargetElement", void 0);
171
+ __decorate([
172
+ property({ attribute: false })
173
+ ], NLDDButton.prototype, "popoverTargetAction", void 0);
150
174
  __decorate([
151
175
  property({ type: Boolean, reflect: true })
152
176
  ], NLDDButton.prototype, "disabled", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/actions/button/button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/actions/button/button.ts"],"names":[],"mappings":"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"}
@@ -40,20 +40,20 @@ export const buttonStyles = css `
40
40
  /* # Block */
41
41
 
42
42
  .button {
43
- appearance: none;
44
- border: none;
45
- margin: 0;
46
- padding: 0;
47
- background: none;
48
- font: inherit;
49
43
  box-sizing: border-box;
50
- text-decoration: none;
51
44
  display: inline-flex;
52
- align-items: center;
53
- justify-content: center;
45
+ margin: 0;
46
+ border: none;
47
+ background: none;
54
48
  width: var(--_width);
55
49
  max-width: 100%;
50
+ padding: 0;
51
+ align-items: center;
52
+ justify-content: center;
53
+ font: inherit;
54
+ text-decoration: none;
56
55
  text-wrap: pretty;
56
+ appearance: none;
57
57
  transition:
58
58
  background-color var(--primitives-transition-duration-fast) var(--primitives-transition-easing-default),
59
59
  color var(--primitives-transition-duration-fast) var(--primitives-transition-easing-default)
@@ -89,35 +89,35 @@ export const buttonStyles = css `
89
89
  /* ## Size: XS */
90
90
 
91
91
  :host([size="xs"]) .button {
92
+ border-radius: var(--semantics-controls-xs-corner-radius);
92
93
  min-height: var(--semantics-controls-xs-min-size);
93
94
  min-width: var(--semantics-controls-xs-min-size);
94
95
  padding: var(--semantics-controls-xs-block-padding) var(--semantics-controls-xs-inline-padding);
95
- font: var(--semantics-buttons-xs-font);
96
- border-radius: var(--semantics-controls-xs-corner-radius);
97
96
  gap: var(--semantics-buttons-xs-gap);
97
+ font: var(--semantics-buttons-xs-font);
98
98
  }
99
99
 
100
100
  /* ## Size: SM */
101
101
 
102
102
  :host([size="sm"]) .button {
103
+ border-radius: var(--semantics-controls-sm-corner-radius);
103
104
  min-height: var(--semantics-controls-sm-min-size);
104
105
  min-width: var(--semantics-controls-sm-min-size);
105
106
  padding: var(--semantics-controls-sm-block-padding) var(--semantics-controls-sm-inline-padding);
106
- font: var(--semantics-buttons-sm-font);
107
- border-radius: var(--semantics-controls-sm-corner-radius);
108
107
  gap: var(--semantics-buttons-sm-gap);
108
+ font: var(--semantics-buttons-sm-font);
109
109
  }
110
110
 
111
111
  /* ## Size: MD (Default) */
112
112
 
113
113
  :host([size="md"]) .button,
114
114
  :host(:not([size])) .button {
115
+ border-radius: var(--semantics-controls-md-corner-radius);
115
116
  min-height: var(--semantics-controls-md-min-size);
116
117
  min-width: var(--semantics-controls-md-min-size);
117
118
  padding: var(--semantics-controls-md-block-padding) var(--semantics-controls-md-inline-padding);
118
- font: var(--semantics-buttons-md-font);
119
- border-radius: var(--semantics-controls-md-corner-radius);
120
119
  gap: var(--semantics-buttons-md-gap);
120
+ font: var(--semantics-buttons-md-font);
121
121
  }
122
122
 
123
123
 
@@ -159,8 +159,8 @@ export const buttonStyles = css `
159
159
  :host([expanded][variant="neutral-tinted"]) .button,
160
160
  :host([expanded][variant="secondary"]) .button,
161
161
  :host([expanded]:not([variant])) .button {
162
- background-color: var(--semantics-buttons-neutral-tinted-is-open-background-color);
163
- color: var(--semantics-buttons-neutral-tinted-is-open-content-color);
162
+ background-color: var(--semantics-buttons-neutral-tinted-is-expanded-background-color);
163
+ color: var(--semantics-buttons-neutral-tinted-is-expanded-content-color);
164
164
  }
165
165
 
166
166
  /* ### Open hovered neutral tinted button */
@@ -169,8 +169,8 @@ export const buttonStyles = css `
169
169
  :host([expanded][variant="neutral-tinted"]) .button:hover,
170
170
  :host([expanded][variant="secondary"]) .button:hover,
171
171
  :host([expanded]:not([variant])) .button:hover {
172
- background-color: var(--semantics-buttons-neutral-tinted-is-open-is-hovered-background-color);
173
- color: var(--semantics-buttons-neutral-tinted-is-open-is-hovered-content-color);
172
+ background-color: var(--semantics-buttons-neutral-tinted-is-expanded-is-hovered-background-color);
173
+ color: var(--semantics-buttons-neutral-tinted-is-expanded-is-hovered-content-color);
174
174
  }
175
175
  }
176
176
 
@@ -179,8 +179,8 @@ export const buttonStyles = css `
179
179
  :host([expanded][variant="neutral-tinted"]) .button:active,
180
180
  :host([expanded][variant="secondary"]) .button:active,
181
181
  :host([expanded]:not([variant])) .button:active {
182
- background-color: var(--semantics-buttons-neutral-tinted-is-open-is-active-background-color);
183
- color: var(--semantics-buttons-neutral-tinted-is-open-is-active-content-color);
182
+ background-color: var(--semantics-buttons-neutral-tinted-is-expanded-is-active-background-color);
183
+ color: var(--semantics-buttons-neutral-tinted-is-expanded-is-active-content-color);
184
184
  }
185
185
 
186
186
  /* ## Neutral Transparent */
@@ -238,8 +238,8 @@ export const buttonStyles = css `
238
238
 
239
239
  :host([expanded][variant="accent-filled"]) .button,
240
240
  :host([expanded][variant="primary"]) .button {
241
- background-color: var(--semantics-buttons-accent-filled-is-open-background-color);
242
- color: var(--semantics-buttons-accent-filled-is-open-content-color);
241
+ background-color: var(--semantics-buttons-accent-filled-is-expanded-background-color);
242
+ color: var(--semantics-buttons-accent-filled-is-expanded-content-color);
243
243
  }
244
244
 
245
245
  /* ### Open hovered accent filled button */
@@ -247,8 +247,8 @@ export const buttonStyles = css `
247
247
  @media (hover: hover) {
248
248
  :host([expanded][variant="accent-filled"]) .button:hover,
249
249
  :host([expanded][variant="primary"]) .button:hover {
250
- background-color: var(--semantics-buttons-accent-filled-is-open-is-hovered-background-color);
251
- color: var(--semantics-buttons-accent-filled-is-open-is-hovered-content-color);
250
+ background-color: var(--semantics-buttons-accent-filled-is-expanded-is-hovered-background-color);
251
+ color: var(--semantics-buttons-accent-filled-is-expanded-is-hovered-content-color);
252
252
  }
253
253
  }
254
254
 
@@ -256,8 +256,8 @@ export const buttonStyles = css `
256
256
 
257
257
  :host([expanded][variant="accent-filled"]) .button:active,
258
258
  :host([expanded][variant="primary"]) .button:active {
259
- background-color: var(--semantics-buttons-accent-filled-is-open-is-active-background-color);
260
- color: var(--semantics-buttons-accent-filled-is-open-is-active-content-color);
259
+ background-color: var(--semantics-buttons-accent-filled-is-expanded-is-active-background-color);
260
+ color: var(--semantics-buttons-accent-filled-is-expanded-is-active-content-color);
261
261
  }
262
262
 
263
263
  /* ## Accent Transparent */
@@ -382,9 +382,9 @@ export const buttonStyles = css `
382
382
 
383
383
  .button__disclosure-icon {
384
384
  display: block;
385
- flex-shrink: 0;
386
385
  width: var(--_disclosure-icon-size);
387
386
  height: var(--_disclosure-icon-size);
387
+ flex-shrink: 0;
388
388
  }
389
389
 
390
390
  :host([size="md"]) .button__disclosure-icon,
@@ -1 +1 @@
1
- {"version":3,"file":"button.template.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/button.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,eAAe;IACxB,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACrC;AAyBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,wCA2ClE"}
1
+ {"version":3,"file":"button.template.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/button.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,eAAe;IACxB,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACrC;AAyBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,wCAkDlE"}
@@ -47,6 +47,11 @@ export function template(helpers) {
47
47
  </a>
48
48
  `;
49
49
  }
50
+ // .popoverTargetElement / .popoverTargetAction are bound unguarded: in
51
+ // browsers without Popover-invoker IDL support Lit sets a harmless expando
52
+ // and the cross-shadow association just doesn't take effect — but those
53
+ // browsers don't support the Popover API at all, so the menu this button
54
+ // drives is non-functional regardless. No per-binding capability check.
50
55
  return html `
51
56
  <button class="button"
52
57
  type=${this.type}
@@ -56,6 +61,8 @@ export function template(helpers) {
56
61
  aria-haspopup=${this.popupType || nothing}
57
62
  aria-expanded=${ariaExpanded}
58
63
  popovertarget=${this.popovertarget || nothing}
64
+ .popoverTargetElement=${this.popoverTargetElement}
65
+ .popoverTargetAction=${this.popoverTargetAction}
59
66
  @click=${helpers.handleClick}
60
67
  >
61
68
  ${content}
@@ -1 +1 @@
1
- {"version":3,"file":"button.template.js","sourceRoot":"","sources":["../../../../src/components/actions/button/button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAOpC,SAAS,aAAa,CAAC,SAAqB;IAC3C,OAAO,IAAI,CAAA;;KAEP,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEnB,SAAS,CAAC,SAAS;;IAE3B,CAAC,CAAC,CAAC,IAAI,CAAA,iCAAiC;gCACZ,SAAS,CAAC,IAAI;KACzC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEjB,SAAS,CAAC,OAAO;;IAEzB,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B;KACrC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;;;;IAI5B,CAAC,CAAC,CAAC,OAAO;;EAEZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,OAAwB;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpC,2EAA2E;IAC3E,oEAAoE;IACpE,yEAAyE;IACzE,iEAAiE;IACjE,8BAA8B;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,IAAI,CAAA;;WAEF,IAAI,CAAC,IAAI;aACP,IAAI,CAAC,MAAM,IAAI,OAAO;UACzB,WAAW,IAAI,OAAO;oBACZ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBACnC,IAAI,CAAC,eAAe,IAAI,OAAO;oBAC5B,IAAI,CAAC,SAAS,IAAI,OAAO;oBACzB,YAAY;aACnB,OAAO,CAAC,WAAW;;MAE1B,OAAO;;GAEV,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;;UAEF,IAAI,CAAC,IAAI;eACJ,IAAI,CAAC,QAAQ;mBACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACnC,IAAI,CAAC,eAAe,IAAI,OAAO;mBAC5B,IAAI,CAAC,SAAS,IAAI,OAAO;mBACzB,YAAY;mBACZ,IAAI,CAAC,aAAa,IAAI,OAAO;YACpC,OAAO,CAAC,WAAW;;KAE1B,OAAO;;EAEV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"button.template.js","sourceRoot":"","sources":["../../../../src/components/actions/button/button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAOpC,SAAS,aAAa,CAAC,SAAqB;IAC3C,OAAO,IAAI,CAAA;;KAEP,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEnB,SAAS,CAAC,SAAS;;IAE3B,CAAC,CAAC,CAAC,IAAI,CAAA,iCAAiC;gCACZ,SAAS,CAAC,IAAI;KACzC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEjB,SAAS,CAAC,OAAO;;IAEzB,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B;KACrC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;;;;IAI5B,CAAC,CAAC,CAAC,OAAO;;EAEZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,OAAwB;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpC,2EAA2E;IAC3E,oEAAoE;IACpE,yEAAyE;IACzE,iEAAiE;IACjE,8BAA8B;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,IAAI,CAAA;;WAEF,IAAI,CAAC,IAAI;aACP,IAAI,CAAC,MAAM,IAAI,OAAO;UACzB,WAAW,IAAI,OAAO;oBACZ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBACnC,IAAI,CAAC,eAAe,IAAI,OAAO;oBAC5B,IAAI,CAAC,SAAS,IAAI,OAAO;oBACzB,YAAY;aACnB,OAAO,CAAC,WAAW;;MAE1B,OAAO;;GAEV,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,OAAO,IAAI,CAAA;;UAEF,IAAI,CAAC,IAAI;eACJ,IAAI,CAAC,QAAQ;mBACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACnC,IAAI,CAAC,eAAe,IAAI,OAAO;mBAC5B,IAAI,CAAC,SAAS,IAAI,OAAO;mBACzB,YAAY;mBACZ,IAAI,CAAC,aAAa,IAAI,OAAO;2BACrB,IAAI,CAAC,oBAAoB;0BAC1B,IAAI,CAAC,mBAAmB;YACtC,OAAO,CAAC,WAAW;;KAE1B,OAAO;;EAEV,CAAC;AACH,CAAC"}
@@ -55,16 +55,16 @@ export const buttonBarStyles = css `
55
55
  /* # Size: XS */
56
56
 
57
57
  :host([size="xs"]) .button-bar {
58
- height: var(--semantics-controls-xs-min-size);
59
58
  border-radius: var(--semantics-controls-xs-corner-radius);
59
+ height: var(--semantics-controls-xs-min-size);
60
60
  }
61
61
 
62
62
 
63
63
  /* # Size: SM */
64
64
 
65
65
  :host([size="sm"]) .button-bar {
66
- height: var(--semantics-controls-sm-min-size);
67
66
  border-radius: var(--semantics-controls-sm-corner-radius);
67
+ height: var(--semantics-controls-sm-min-size);
68
68
  }
69
69
 
70
70
 
@@ -72,8 +72,8 @@ export const buttonBarStyles = css `
72
72
 
73
73
  :host([size="md"]) .button-bar,
74
74
  :host(:not([size])) .button-bar {
75
- height: var(--semantics-controls-md-min-size);
76
75
  border-radius: var(--semantics-controls-md-corner-radius);
76
+ height: var(--semantics-controls-md-min-size);
77
77
  }
78
78
 
79
79
 
@@ -100,8 +100,8 @@ export const buttonBarStyles = css `
100
100
  }
101
101
 
102
102
  .button-bar__divider-line {
103
- width: var(--semantics-dividers-thickness);
104
103
  background-color: var(--semantics-buttons-neutral-tinted-divider-color);
104
+ width: var(--semantics-dividers-thickness);
105
105
  }
106
106
 
107
107
  :host([variant="accent-filled"]) .button-bar__divider-line,
@@ -40,8 +40,8 @@ export const buttonGroupStyles = css `
40
40
  }
41
41
 
42
42
  :host([orientation="vertical"]) .button-group {
43
- flex-direction: column;
44
43
  width: 100%;
44
+ flex-direction: column;
45
45
  }
46
46
 
47
47
 
@@ -7,7 +7,7 @@
7
7
  * @attr {boolean} disabled - Disabled state
8
8
  * @attr {string} type - Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set)
9
9
  * @attr {boolean} expandable - Whether the button opens a menu or popover and shows chevron next to the icon
10
- * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-open visual state.
10
+ * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-expanded visual state.
11
11
  * @attr {string} popup-type - Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state.
12
12
  * @attr {string} width - Width mode: 'full' (stretches to container) or any CSS length (e.g. '240px')
13
13
  * @attr {string} text - Button text, used as aria-label and shown below the icon in lg size
@@ -16,10 +16,12 @@
16
16
  * and title tooltip. Use when the visible text alone lacks context for screen
17
17
  * readers (e.g. text "Toon", accessible-label "Toon wachtwoord").
18
18
  * The text is still shown visually in lg size regardless.
19
- * @attr {boolean} hide-tooltip - Suppress the visual tooltip while keeping aria-label intact.
20
- * Use when the surrounding context already explains the button
21
- * (e.g. spin buttons in nldd-number-field, the chevron in
22
- * nldd-split-button) screen readers still get the label.
19
+ * @attr {string} tooltip-timing - Forwarded to the inner nldd-tooltip's `timing`:
20
+ * 'default' (700 ms show-delay), 'instant', or 'never'
21
+ * (suppress the visual tooltip; screen readers still get the
22
+ * aria-label). Use 'never' when the surrounding context
23
+ * already explains the button (e.g. spin buttons in
24
+ * nldd-number-field, the chevron in nldd-split-button).
23
25
  * @attr {string} href - When set, renders an <a> element instead of <button>
24
26
  * @attr {string} target - Link target (e.g. '_blank'); only used when href is set
25
27
  * @attr {string} rel - Link rel attribute; defaults to 'noopener noreferrer' when target is '_blank'
@@ -57,6 +59,24 @@ export declare class NLDDIconButton extends LitElement {
57
59
  /** Width mode: 'full' (stretch to container) or any CSS length. */
58
60
  width: string;
59
61
  popovertarget: string | undefined;
62
+ /**
63
+ * Direct element reference to the popover this button invokes — IDL-only
64
+ * counterpart to `popovertarget` that works across shadow boundaries.
65
+ * Use this when the popover lives in a different tree (e.g. an
66
+ * `nldd-menu` reparented to `<body>`) so the browser still recognises
67
+ * this button as the popover's invoker and excludes it from the popover
68
+ * light-dismiss algorithm. Set programmatically; not reflected to an
69
+ * HTML attribute (the attribute form is `popovertarget`, ID-based).
70
+ */
71
+ popoverTargetElement: Element | null;
72
+ /**
73
+ * Action the browser performs when the button is clicked, mirroring the
74
+ * standard `popovertargetaction` attribute. Defaults to `'toggle'`. Use
75
+ * `'show'` when a separate handler owns the close path (e.g. the
76
+ * consumer toggles the popover programmatically) so the browser's
77
+ * default action doesn't double-fire.
78
+ */
79
+ popoverTargetAction: 'toggle' | 'show' | 'hide';
60
80
  /** Button text, used as aria-label and shown below the icon in lg size. */
61
81
  text: string;
62
82
  /** Icon name for the nldd-icon element. When not set, the icon slot is used. */
@@ -64,8 +84,9 @@ export declare class NLDDIconButton extends LitElement {
64
84
  /** Accessible label for screen readers. Overrides text as aria-label and title tooltip.
65
85
  * The text is still shown visually in lg size regardless. */
66
86
  accessibleLabel: string;
67
- /** Suppress the visual tooltip while keeping aria-label intact. */
68
- hideTooltip: boolean;
87
+ /** Forwarded to the inner nldd-tooltip's `timing`. Use `'never'` to
88
+ * suppress the visual tooltip; aria-label still describes the button. */
89
+ tooltipTiming: 'default' | 'instant' | 'never';
69
90
  /** When set, renders an <a> element instead of <button>. */
70
91
  href: string | undefined;
71
92
  /** Link target (e.g. '_blank'). Only used when href is set. */
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,OAAO,GAChB,SAAS,GACT,WAAW,GACX,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,CAAC;AAC1B,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExE,qBACa,cAAe,SAAQ,UAAU;IAC7C,OAAgB,MAAM,0BAAoB;IAG1C,OAAO,EAAE,OAAO,CAAoB;IAGpC,IAAI,EAAE,IAAI,CAAQ;IAGlB,QAAQ,UAAS;IAGjB,IAAI,EAAE,UAAU,CAAY;IAG5B,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,mEAAmE;IAEnE,KAAK,SAAM;IAGX,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAE9C,2EAA2E;IAE3E,IAAI,SAAM;IAEV,gFAAgF;IAEhF,IAAI,SAAM;IAEV;kEAC8D;IAE9D,eAAe,SAAM;IAErB,mEAAmE;IAEnE,WAAW,UAAS;IAEpB,4DAA4D;IAE5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC,+DAA+D;IAE/D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IAEvC;;;OAGG;IAEH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpC,wDAAwD;IACxD,OAAO,KAAK,QAAQ,GAInB;IAED,OAAO,CAAC,WAAW,CAAS;IAEnB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0B/D,2DAA2D;IAC3D,YAAY,IAAI,MAAM;IAMtB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAQ3C;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,cAAc,CAAC;KACnC;CACD"}
1
+ {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,OAAO,GAChB,SAAS,GACT,WAAW,GACX,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,CAAC;AAC1B,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExE,qBACa,cAAe,SAAQ,UAAU;IAC7C,OAAgB,MAAM,0BAAoB;IAG1C,OAAO,EAAE,OAAO,CAAoB;IAGpC,IAAI,EAAE,IAAI,CAAQ;IAGlB,QAAQ,UAAS;IAGjB,IAAI,EAAE,UAAU,CAAY;IAG5B,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,mEAAmE;IAEnE,KAAK,SAAM;IAGX,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAE9C;;;;;;;;OAQG;IAEH,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE5C;;;;;;OAMG;IAEH,mBAAmB,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAY;IAE3D,2EAA2E;IAE3E,IAAI,SAAM;IAEV,gFAAgF;IAEhF,IAAI,SAAM;IAEV;kEAC8D;IAE9D,eAAe,SAAM;IAErB;6EACyE;IAEzE,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAa;IAE3D,4DAA4D;IAE5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC,+DAA+D;IAE/D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IAEvC;;;OAGG;IAEH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpC,wDAAwD;IACxD,OAAO,KAAK,QAAQ,GAInB;IAED,OAAO,CAAC,WAAW,CAAS;IAEnB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0B/D,2DAA2D;IAC3D,YAAY,IAAI,MAAM;IAMtB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAQ3C;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,cAAc,CAAC;KACnC;CACD"}
@@ -13,7 +13,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
13
13
  * @attr {boolean} disabled - Disabled state
14
14
  * @attr {string} type - Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set)
15
15
  * @attr {boolean} expandable - Whether the button opens a menu or popover and shows chevron next to the icon
16
- * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-open visual state.
16
+ * @attr {boolean} expanded - Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-expanded visual state.
17
17
  * @attr {string} popup-type - Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state.
18
18
  * @attr {string} width - Width mode: 'full' (stretches to container) or any CSS length (e.g. '240px')
19
19
  * @attr {string} text - Button text, used as aria-label and shown below the icon in lg size
@@ -22,10 +22,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
22
22
  * and title tooltip. Use when the visible text alone lacks context for screen
23
23
  * readers (e.g. text "Toon", accessible-label "Toon wachtwoord").
24
24
  * The text is still shown visually in lg size regardless.
25
- * @attr {boolean} hide-tooltip - Suppress the visual tooltip while keeping aria-label intact.
26
- * Use when the surrounding context already explains the button
27
- * (e.g. spin buttons in nldd-number-field, the chevron in
28
- * nldd-split-button) screen readers still get the label.
25
+ * @attr {string} tooltip-timing - Forwarded to the inner nldd-tooltip's `timing`:
26
+ * 'default' (700 ms show-delay), 'instant', or 'never'
27
+ * (suppress the visual tooltip; screen readers still get the
28
+ * aria-label). Use 'never' when the surrounding context
29
+ * already explains the button (e.g. spin buttons in
30
+ * nldd-number-field, the chevron in nldd-split-button).
29
31
  * @attr {string} href - When set, renders an <a> element instead of <button>
30
32
  * @attr {string} target - Link target (e.g. '_blank'); only used when href is set
31
33
  * @attr {string} rel - Link rel attribute; defaults to 'noopener noreferrer' when target is '_blank'
@@ -57,6 +59,24 @@ let NLDDIconButton = class NLDDIconButton extends LitElement {
57
59
  /** Width mode: 'full' (stretch to container) or any CSS length. */
58
60
  this.width = '';
59
61
  this.popovertarget = undefined;
62
+ /**
63
+ * Direct element reference to the popover this button invokes — IDL-only
64
+ * counterpart to `popovertarget` that works across shadow boundaries.
65
+ * Use this when the popover lives in a different tree (e.g. an
66
+ * `nldd-menu` reparented to `<body>`) so the browser still recognises
67
+ * this button as the popover's invoker and excludes it from the popover
68
+ * light-dismiss algorithm. Set programmatically; not reflected to an
69
+ * HTML attribute (the attribute form is `popovertarget`, ID-based).
70
+ */
71
+ this.popoverTargetElement = null;
72
+ /**
73
+ * Action the browser performs when the button is clicked, mirroring the
74
+ * standard `popovertargetaction` attribute. Defaults to `'toggle'`. Use
75
+ * `'show'` when a separate handler owns the close path (e.g. the
76
+ * consumer toggles the popover programmatically) so the browser's
77
+ * default action doesn't double-fire.
78
+ */
79
+ this.popoverTargetAction = 'toggle';
60
80
  /** Button text, used as aria-label and shown below the icon in lg size. */
61
81
  this.text = '';
62
82
  /** Icon name for the nldd-icon element. When not set, the icon slot is used. */
@@ -64,8 +84,9 @@ let NLDDIconButton = class NLDDIconButton extends LitElement {
64
84
  /** Accessible label for screen readers. Overrides text as aria-label and title tooltip.
65
85
  * The text is still shown visually in lg size regardless. */
66
86
  this.accessibleLabel = '';
67
- /** Suppress the visual tooltip while keeping aria-label intact. */
68
- this.hideTooltip = false;
87
+ /** Forwarded to the inner nldd-tooltip's `timing`. Use `'never'` to
88
+ * suppress the visual tooltip; aria-label still describes the button. */
89
+ this.tooltipTiming = 'default';
69
90
  /** When set, renders an <a> element instead of <button>. */
70
91
  this.href = undefined;
71
92
  /** Link target (e.g. '_blank'). Only used when href is set. */
@@ -165,6 +186,12 @@ __decorate([
165
186
  __decorate([
166
187
  property({ type: String })
167
188
  ], NLDDIconButton.prototype, "popovertarget", void 0);
189
+ __decorate([
190
+ property({ attribute: false })
191
+ ], NLDDIconButton.prototype, "popoverTargetElement", void 0);
192
+ __decorate([
193
+ property({ attribute: false })
194
+ ], NLDDIconButton.prototype, "popoverTargetAction", void 0);
168
195
  __decorate([
169
196
  property({ type: String })
170
197
  ], NLDDIconButton.prototype, "text", void 0);
@@ -175,8 +202,8 @@ __decorate([
175
202
  property({ type: String, attribute: 'accessible-label' })
176
203
  ], NLDDIconButton.prototype, "accessibleLabel", void 0);
177
204
  __decorate([
178
- property({ type: Boolean, reflect: true, attribute: 'hide-tooltip' })
179
- ], NLDDIconButton.prototype, "hideTooltip", void 0);
205
+ property({ type: String, reflect: true, attribute: 'tooltip-timing' })
206
+ ], NLDDIconButton.prototype, "tooltipTiming", void 0);
180
207
  __decorate([
181
208
  property({ type: String, reflect: true })
182
209
  ], NLDDIconButton.prototype, "href", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../../src/components/actions/icon-button/icon-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../../src/components/actions/icon-button/icon-button.ts"],"names":[],"mappings":"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"}