@nvidia-elements/core 2.23.6 → 2.24.0

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 (208) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/accordion/accordion-group.js.map +1 -1
  3. package/dist/accordion/accordion.js.map +1 -1
  4. package/dist/accordion/accordion2.js +4 -4
  5. package/dist/alert/alert-group2.js +1 -1
  6. package/dist/alert/alert2.js +1 -1
  7. package/dist/avatar/avatar-group2.js +1 -1
  8. package/dist/avatar/avatar2.js +1 -1
  9. package/dist/badge/badge2.js +1 -1
  10. package/dist/breadcrumb/breadcrumb2.js +1 -1
  11. package/dist/bundle.d.ts +2 -0
  12. package/dist/bundles/index.d.ts +323 -56
  13. package/dist/bundles/index.js +9 -9
  14. package/dist/button/button2.js +1 -1
  15. package/dist/button-group/button-group2.js +1 -1
  16. package/dist/card/card2.js +4 -4
  17. package/dist/chat-message/chat-message2.js +1 -1
  18. package/dist/checkbox/checkbox-group2.js +1 -1
  19. package/dist/checkbox/checkbox2.js +1 -1
  20. package/dist/color/color2.js +1 -1
  21. package/dist/combobox/combobox2.js +1 -1
  22. package/dist/copy-button/copy-button2.js +1 -1
  23. package/dist/custom-elements-jsx.d.ts +167 -1
  24. package/dist/custom-elements-vue.d.ts +161 -1
  25. package/dist/custom-elements.json +4211 -233
  26. package/dist/dashboard/controllers/arrangement.controller.d.ts +30 -0
  27. package/dist/dashboard/controllers/arrangement.controller.js +68 -0
  28. package/dist/dashboard/controllers/arrangement.controller.js.map +1 -0
  29. package/dist/dashboard/controllers/command.controller.d.ts +28 -0
  30. package/dist/dashboard/controllers/command.controller.js +69 -0
  31. package/dist/dashboard/controllers/command.controller.js.map +1 -0
  32. package/dist/dashboard/controllers/composition.controller.d.ts +61 -0
  33. package/dist/dashboard/controllers/composition.controller.js +285 -0
  34. package/dist/dashboard/controllers/composition.controller.js.map +1 -0
  35. package/dist/dashboard/controllers/fullscreen.controller.d.ts +23 -0
  36. package/dist/dashboard/controllers/fullscreen.controller.js +46 -0
  37. package/dist/dashboard/controllers/fullscreen.controller.js.map +1 -0
  38. package/dist/dashboard/controllers/interaction.controller.d.ts +53 -0
  39. package/dist/dashboard/controllers/interaction.controller.js +407 -0
  40. package/dist/dashboard/controllers/interaction.controller.js.map +1 -0
  41. package/dist/dashboard/controllers/measurement.controller.d.ts +28 -0
  42. package/dist/dashboard/controllers/measurement.controller.js +77 -0
  43. package/dist/dashboard/controllers/measurement.controller.js.map +1 -0
  44. package/dist/dashboard/dashboard.d.ts +83 -0
  45. package/dist/dashboard/dashboard.examples.js +5 -0
  46. package/dist/dashboard/dashboard.examples.js.map +1 -0
  47. package/dist/dashboard/dashboard.examples.json +138 -0
  48. package/dist/dashboard/dashboard.js +5 -0
  49. package/dist/dashboard/dashboard.js.map +1 -0
  50. package/dist/dashboard/dashboard.types.d.ts +33 -0
  51. package/dist/dashboard/dashboard2.js +352 -0
  52. package/dist/dashboard/dashboard2.js.map +1 -0
  53. package/dist/dashboard/define.d.ts +10 -0
  54. package/dist/dashboard/define.js +9 -0
  55. package/dist/dashboard/define.js.map +1 -0
  56. package/dist/dashboard/index.d.ts +8 -0
  57. package/dist/dashboard/index.js +6 -0
  58. package/dist/dashboard/panel/panel.d.ts +88 -0
  59. package/dist/dashboard/panel/panel.js +5 -0
  60. package/dist/dashboard/panel/panel.js.map +1 -0
  61. package/dist/dashboard/panel/panel2.js +110 -0
  62. package/dist/dashboard/panel/panel2.js.map +1 -0
  63. package/dist/dashboard/panel-content/panel-content.d.ts +20 -0
  64. package/dist/dashboard/panel-content/panel-content.js +5 -0
  65. package/dist/dashboard/panel-content/panel-content.js.map +1 -0
  66. package/dist/dashboard/panel-content/panel-content2.js +22 -0
  67. package/dist/dashboard/panel-content/panel-content2.js.map +1 -0
  68. package/dist/dashboard/panel-footer/panel-footer.d.ts +25 -0
  69. package/dist/dashboard/panel-footer/panel-footer.js +5 -0
  70. package/dist/dashboard/panel-footer/panel-footer.js.map +1 -0
  71. package/dist/dashboard/panel-footer/panel-footer2.js +28 -0
  72. package/dist/dashboard/panel-footer/panel-footer2.js.map +1 -0
  73. package/dist/dashboard/panel-header/panel-header.d.ts +27 -0
  74. package/dist/dashboard/panel-header/panel-header.js +5 -0
  75. package/dist/dashboard/panel-header/panel-header.js.map +1 -0
  76. package/dist/dashboard/panel-header/panel-header2.js +28 -0
  77. package/dist/dashboard/panel-header/panel-header2.js.map +1 -0
  78. package/dist/dashboard/utils/action.utils.d.ts +17 -0
  79. package/dist/dashboard/utils/action.utils.js +144 -0
  80. package/dist/dashboard/utils/action.utils.js.map +1 -0
  81. package/dist/dashboard/utils/geometry.utils.d.ts +110 -0
  82. package/dist/dashboard/utils/geometry.utils.js +208 -0
  83. package/dist/dashboard/utils/geometry.utils.js.map +1 -0
  84. package/dist/dashboard/utils/intent.types.d.ts +67 -0
  85. package/dist/dashboard/utils/layout.utils.d.ts +20 -0
  86. package/dist/dashboard/utils/layout.utils.js +224 -0
  87. package/dist/dashboard/utils/layout.utils.js.map +1 -0
  88. package/dist/dashboard/utils/movement.utils.d.ts +7 -0
  89. package/dist/dashboard/utils/movement.utils.js +15 -0
  90. package/dist/dashboard/utils/movement.utils.js.map +1 -0
  91. package/dist/dashboard/utils/mutation.utils.d.ts +2 -0
  92. package/dist/dashboard/utils/mutation.utils.js +19 -0
  93. package/dist/dashboard/utils/mutation.utils.js.map +1 -0
  94. package/dist/dashboard/utils/packing.utils.d.ts +13 -0
  95. package/dist/dashboard/utils/packing.utils.js +421 -0
  96. package/dist/dashboard/utils/packing.utils.js.map +1 -0
  97. package/dist/data.html.json +141 -1
  98. package/dist/date/date2.js +1 -1
  99. package/dist/datetime/datetime2.js +1 -1
  100. package/dist/dialog/dialog-footer2.js +1 -1
  101. package/dist/dialog/dialog-header2.js +1 -1
  102. package/dist/dialog/dialog2.js +1 -1
  103. package/dist/divider/divider2.js +1 -1
  104. package/dist/dot/dot2.js +1 -1
  105. package/dist/drag-handle/drag-handle2.js +1 -1
  106. package/dist/drawer/drawer-content2.js +1 -1
  107. package/dist/drawer/drawer-footer2.js +1 -1
  108. package/dist/drawer/drawer-header2.js +1 -1
  109. package/dist/drawer/drawer2.js +1 -1
  110. package/dist/dropdown/dropdown-footer2.js +1 -1
  111. package/dist/dropdown/dropdown-header2.js +1 -1
  112. package/dist/dropdown/dropdown.examples.js.map +1 -1
  113. package/dist/dropdown/dropdown2.js +1 -1
  114. package/dist/dropdown-group/dropdown-group.js +1 -1
  115. package/dist/dropzone/dropzone2.js +1 -1
  116. package/dist/file/file2.js +1 -1
  117. package/dist/format-bytes/format-bytes2.js +1 -1
  118. package/dist/format-datetime/format-datetime2.js +1 -1
  119. package/dist/format-number/format-number2.js +1 -1
  120. package/dist/format-relative-time/format-relative-time2.js +1 -1
  121. package/dist/format-truncate/format-truncate2.js +1 -1
  122. package/dist/forms/control/control2.js +1 -1
  123. package/dist/forms/control-group/control-group2.js +1 -1
  124. package/dist/forms/control-message/control-message2.js +1 -1
  125. package/dist/gauge/gauge2.js +1 -1
  126. package/dist/ghost/ghost2.js +1 -1
  127. package/dist/grid/cell/cell2.js +1 -1
  128. package/dist/grid/column/column2.js +1 -1
  129. package/dist/grid/footer/footer2.js +1 -1
  130. package/dist/grid/grid.js.map +1 -1
  131. package/dist/grid/grid2.js +1 -1
  132. package/dist/grid/header/header2.js +1 -1
  133. package/dist/grid/placeholder/placeholder2.js +1 -1
  134. package/dist/grid/row/row2.js +1 -1
  135. package/dist/icon/icon2.js +1 -1
  136. package/dist/icon-button/icon-button2.js +1 -1
  137. package/dist/iframe/iframe2.js +1 -1
  138. package/dist/index.js +1 -1
  139. package/dist/input/input-group2.js +1 -1
  140. package/dist/input/input2.js +1 -1
  141. package/dist/internal/controllers/native-fullscreen.controller.d.ts +13 -0
  142. package/dist/internal/controllers/native-fullscreen.controller.js +73 -0
  143. package/dist/internal/controllers/native-fullscreen.controller.js.map +1 -0
  144. package/dist/internal/index.d.ts +1 -0
  145. package/dist/internal/index.js +59 -57
  146. package/dist/internal/index.js.map +1 -1
  147. package/dist/joystick/joystick2.js +1 -1
  148. package/dist/logo/logo2.js +1 -1
  149. package/dist/menu/menu-group2.js +1 -1
  150. package/dist/menu/menu-item2.js +1 -1
  151. package/dist/menu/menu2.js +1 -1
  152. package/dist/month/month2.js +1 -1
  153. package/dist/notification/notification-group2.js +1 -1
  154. package/dist/notification/notification2.js +1 -1
  155. package/dist/page/page-panel/page-panel-content2.js +1 -1
  156. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  157. package/dist/page/page-panel/page-panel-header2.js +1 -1
  158. package/dist/page/page-panel/page-panel2.js +1 -1
  159. package/dist/page/page2.js +1 -1
  160. package/dist/page-header/page-header2.js +1 -1
  161. package/dist/page-loader/page-loader2.js +1 -1
  162. package/dist/pagination/pagination2.js +1 -1
  163. package/dist/panel/panel2.js +4 -4
  164. package/dist/password/password2.js +1 -1
  165. package/dist/preferences-input/preferences-input2.js +1 -1
  166. package/dist/progress-bar/progress-bar2.js +1 -1
  167. package/dist/progress-dot/progress-dot2.js +1 -1
  168. package/dist/progress-ring/progress-ring2.js +1 -1
  169. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  170. package/dist/pulse/pulse2.js +1 -1
  171. package/dist/radio/radio-group2.js +1 -1
  172. package/dist/radio/radio2.js +1 -1
  173. package/dist/range/range2.js +1 -1
  174. package/dist/resize-handle/resize-handle2.js +1 -1
  175. package/dist/search/search2.js +1 -1
  176. package/dist/select/select2.js +1 -1
  177. package/dist/skeleton/skeleton2.js +1 -1
  178. package/dist/sort-button/sort-button2.js +1 -1
  179. package/dist/sparkline/sparkline2.js +1 -1
  180. package/dist/star-rating/star-rating2.js +1 -1
  181. package/dist/steps/steps2.js +2 -2
  182. package/dist/switch/switch-group2.js +1 -1
  183. package/dist/switch/switch2.js +1 -1
  184. package/dist/tabs/tabs-group2.js +1 -1
  185. package/dist/tabs/tabs-item-group2.js +1 -1
  186. package/dist/tabs/tabs2.js +2 -2
  187. package/dist/tag/tag2.js +1 -1
  188. package/dist/textarea/textarea2.js +1 -1
  189. package/dist/time/time2.js +1 -1
  190. package/dist/toast/toast2.js +1 -1
  191. package/dist/toggletip/toggletip-footer2.js +1 -1
  192. package/dist/toggletip/toggletip-header2.js +1 -1
  193. package/dist/toggletip/toggletip2.js +1 -1
  194. package/dist/toolbar/toolbar2.js +1 -1
  195. package/dist/tooltip/tooltip2.js +1 -1
  196. package/dist/tree/tree-node2.js +1 -1
  197. package/dist/tree/tree2.js +1 -1
  198. package/dist/week/week2.js +1 -1
  199. package/dist/workspace/controllers/workspace-fullscreen.controller.d.ts +2 -4
  200. package/dist/workspace/controllers/workspace-fullscreen.controller.js +17 -47
  201. package/dist/workspace/controllers/workspace-fullscreen.controller.js.map +1 -1
  202. package/dist/workspace/panel/panel2.js +1 -1
  203. package/dist/workspace/panel-content/panel-content2.js +1 -1
  204. package/dist/workspace/panel-footer/panel-footer2.js +1 -1
  205. package/dist/workspace/panel-header/panel-header2.js +1 -1
  206. package/dist/workspace/workspace.js.map +1 -1
  207. package/dist/workspace/workspace2.js +1 -1
  208. package/package.json +16 -4
@@ -2619,6 +2619,14 @@
2619
2619
  "package": "@nvidia-elements/core/datetime"
2620
2620
  }
2621
2621
  },
2622
+ {
2623
+ "kind": "js",
2624
+ "name": "*",
2625
+ "declaration": {
2626
+ "name": "*",
2627
+ "package": "@nvidia-elements/core/dashboard"
2628
+ }
2629
+ },
2622
2630
  {
2623
2631
  "kind": "js",
2624
2632
  "name": "*",
@@ -7768,227 +7776,4050 @@
7768
7776
  }
7769
7777
  },
7770
7778
  {
7771
- "name": "disabled",
7772
- "fieldName": "disabled",
7779
+ "name": "disabled",
7780
+ "fieldName": "disabled",
7781
+ "type": {
7782
+ "text": "boolean",
7783
+ "_sourceAliases": [],
7784
+ "values": [
7785
+ {
7786
+ "value": "true",
7787
+ "description": "The element has a disabled state and does not accept interaction."
7788
+ },
7789
+ {
7790
+ "value": "false",
7791
+ "description": "The element has an enabled state and accepts interaction."
7792
+ }
7793
+ ]
7794
+ },
7795
+ "description": "This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled)\n- `true` The element has a disabled state and does not accept interaction.\n\n- `false` The element has an enabled state and accepts interaction.",
7796
+ "inheritedFrom": {
7797
+ "name": "ButtonFormControlMixin"
7798
+ },
7799
+ "descriptionText": "This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled)"
7800
+ },
7801
+ {
7802
+ "name": "selected",
7803
+ "fieldName": "selected",
7804
+ "type": {
7805
+ "text": "boolean",
7806
+ "_sourceAliases": [],
7807
+ "values": [
7808
+ {
7809
+ "value": "true",
7810
+ "description": "The element holds selection and represents the user's current choice within the group."
7811
+ },
7812
+ {
7813
+ "value": "false",
7814
+ "description": "The element does not hold selection and the user can choose it."
7815
+ }
7816
+ ]
7817
+ },
7818
+ "description": "Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n- `true` The element holds selection and represents the user's current choice within the group.\n\n- `false` The element does not hold selection and the user can choose it.",
7819
+ "inheritedFrom": {
7820
+ "name": "ButtonFormControlMixin"
7821
+ },
7822
+ "descriptionText": "Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)"
7823
+ },
7824
+ {
7825
+ "name": "current",
7826
+ "fieldName": "current",
7827
+ "type": {
7828
+ "text": "'page' | 'step'",
7829
+ "_sourceAliases": [],
7830
+ "values": [
7831
+ {
7832
+ "value": "page",
7833
+ "description": "Marks the current page within a set of navigation links."
7834
+ },
7835
+ {
7836
+ "value": "step",
7837
+ "description": "Marks the current step within a multi-step process or workflow."
7838
+ }
7839
+ ]
7840
+ },
7841
+ "description": "Indicates the element that represents the user's current location or position within a set. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n- `page` Marks the current page within a set of navigation links.\n\n- `step` Marks the current step within a multi-step process or workflow.",
7842
+ "inheritedFrom": {
7843
+ "name": "ButtonFormControlMixin"
7844
+ },
7845
+ "descriptionText": "Indicates the element that represents the user's current location or position within a set. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)"
7846
+ },
7847
+ {
7848
+ "name": "popovertarget",
7849
+ "fieldName": "popoverTargetElement",
7850
+ "type": {
7851
+ "text": "string",
7852
+ "_sourceAliases": [],
7853
+ "values": [
7854
+ {
7855
+ "value": "string",
7856
+ "description": ""
7857
+ }
7858
+ ]
7859
+ },
7860
+ "description": "Establishes a relationship between a popover and its invoker button.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetElement",
7861
+ "inheritedFrom": {
7862
+ "name": "ButtonFormControlMixin"
7863
+ }
7864
+ },
7865
+ {
7866
+ "name": "popovertargetaction",
7867
+ "fieldName": "popoverTargetAction",
7868
+ "type": {
7869
+ "text": "'show' | 'hide' | 'toggle'",
7870
+ "_sourceAliases": [],
7871
+ "values": [
7872
+ {
7873
+ "value": "show",
7874
+ "description": ""
7875
+ },
7876
+ {
7877
+ "value": "hide",
7878
+ "description": ""
7879
+ },
7880
+ {
7881
+ "value": "toggle",
7882
+ "description": ""
7883
+ }
7884
+ ]
7885
+ },
7886
+ "description": "The popover target action to perform on the popover target element.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetAction",
7887
+ "inheritedFrom": {
7888
+ "name": "ButtonFormControlMixin"
7889
+ }
7890
+ },
7891
+ {
7892
+ "name": "commandfor",
7893
+ "fieldName": "commandForElement",
7894
+ "type": {
7895
+ "text": "string",
7896
+ "_sourceAliases": [],
7897
+ "values": [
7898
+ {
7899
+ "value": "string",
7900
+ "description": ""
7901
+ }
7902
+ ]
7903
+ },
7904
+ "description": "The element that receives the command.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API",
7905
+ "inheritedFrom": {
7906
+ "name": "ButtonFormControlMixin"
7907
+ }
7908
+ },
7909
+ {
7910
+ "name": "command",
7911
+ "fieldName": "command",
7912
+ "type": {
7913
+ "text": "string",
7914
+ "_sourceAliases": [],
7915
+ "values": [
7916
+ {
7917
+ "value": "string",
7918
+ "description": ""
7919
+ }
7920
+ ]
7921
+ },
7922
+ "description": "The command to execute on the element.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API",
7923
+ "inheritedFrom": {
7924
+ "name": "ButtonFormControlMixin"
7925
+ }
7926
+ },
7927
+ {
7928
+ "name": "interestfor",
7929
+ "fieldName": "interestForElement",
7930
+ "type": {
7931
+ "text": "string",
7932
+ "_sourceAliases": [],
7933
+ "values": [
7934
+ {
7935
+ "value": "string",
7936
+ "description": ""
7937
+ }
7938
+ ]
7939
+ },
7940
+ "description": "The element that receives the interest.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/interestForElement",
7941
+ "inheritedFrom": {
7942
+ "name": "ButtonFormControlMixin"
7943
+ }
7944
+ }
7945
+ ],
7946
+ "superclass": {
7947
+ "name": "Button",
7948
+ "package": "@nvidia-elements/core/button"
7949
+ },
7950
+ "tagName": "nve-copy-button",
7951
+ "customElement": true,
7952
+ "metadata": {
7953
+ "unitTests": true,
7954
+ "apiReview": true,
7955
+ "performance": true,
7956
+ "stable": true,
7957
+ "vqa": true,
7958
+ "responsive": true,
7959
+ "themes": true,
7960
+ "aria": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
7961
+ "entrypoint": "@nvidia-elements/core/copy-button",
7962
+ "example": "<nve-copy-button value=\"hello\" aria-label=\"copy value\" behavior-copy></nve-copy-button>",
7963
+ "package": true,
7964
+ "documentation": "https://nvidia.github.io/elements/docs/elements/copy-button/",
7965
+ "since": "1.1.4",
7966
+ "status": "stable",
7967
+ "behavior": "button",
7968
+ "markdown": "## nve-copy-button\n\nA copy button is a button that easily enables the copy to clipboard pattern.\n\n### Example\n\n```html\n<nve-copy-button value=\"hello\" aria-label=\"copy value\" behavior-copy></nve-copy-button>\n```\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/copy-button/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Text label displayed before the copy icon. |\n| icon | `string` | slot for custom icon |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| behaviorCopy (behavior-copy) | `boolean` | Determines if the copy button should auto write to clipboard by the trigger. |\n| command | `string` | The command to execute on the element. https://mdn.dev/Invoker_Commands_API |\n| commandForElement (commandfor) | property: `HTMLElement \\| null`; attribute: `string` | The element that receives the command. https://mdn.dev/Invoker_Commands_API |\n| container | `'flat' \\| 'inline' \\| undefined` | Determines the container of the button. Flat suits nesting within other containers or more muted style. Inline suits inline content such as text. |\n| current | `'page' \\| 'step'` | Indicates the element that represents the user's current location or position within a set. [MDN](https://mdn.dev/ARIA/Attributes/aria-current) - `page` Marks the current page within a set of navigation links. - `step` Marks the current step within a multi-step process or workflow. |\n| disabled | `boolean` | This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://mdn.dev/ARIA/Attributes/aria-disabled) - `true` The element has a disabled state and does not accept interaction. - `false` The element has an enabled state and accepts interaction. |\n| expanded | `boolean` | Indicates whether collapsible content is currently visible or hidden from the user. [MDN](https://mdn.dev/ARIA/Attributes/aria-expanded) - `true` The associated content expands and becomes visible to the user. - `false` The associated content collapses and hides from the user. |\n| form | property: `string \\| HTMLFormElement \\| null`; attribute: `string` | Associates the button with a form. Set the property to a form element or its ID. The HTML attribute accepts only the form ID. Reading the property returns the associated form element or `null`. https://mdn.dev/ElementInternals/form |\n| i18n | | Enables internal string values to update for internationalization. |\n| interaction | `'emphasis' \\| 'destructive'` | The Interaction type provides a way to show the intent of an interactive element. This can help users quickly understand what each interaction does and reduce the potential for confusion or errors. - `emphasis` Shows the interaction targets emphasis or highlighting primary actions. - `destructive` Shows the interaction targets destructive actions such as deleting or removing. |\n| interestForElement (interestfor) | property: `HTMLElement \\| null`; attribute: `string` | The element that receives the interest. https://mdn.dev/HTMLAnchorElement/interestForElement |\n| name | `string` | The name of the button, submitted as a pair with the button value as part of the form data. https://mdn.dev/HTML/Element/button#attr-name |\n| popoverTargetAction (popovertargetaction) | `'show' \\| 'hide' \\| 'toggle'` | The popover target action to perform on the popover target element. https://mdn.dev/HTMLInputElement/popoverTargetAction |\n| popoverTargetElement (popovertarget) | property: `HTMLElement \\| null`; attribute: `string` | Establishes a relationship between a popover and its invoker button. https://mdn.dev/HTMLInputElement/popoverTargetElement |\n| pressed | `boolean` | Indicates the current state of a toggle button that switches on or off. [MDN](https://mdn.dev/ARIA/Attributes/aria-pressed) - `true` The button is in the pressed (on) state and the associated action or setting is active. - `false` The button is in the unpressed (off) state and the associated action or setting is inactive. |\n| readOnly (readonly) | `boolean` | Indicates whether the element is a noninteractive visual treatment instead of a button. https://mdn.dev/HTML/Attributes/readonly |\n| selected | `boolean` | Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://mdn.dev/ARIA/Attributes/aria-selected) - `true` The element holds selection and represents the user's current choice within the group. - `false` The element does not hold selection and the user can choose it. |\n| size | `'sm' \\| 'md' \\| 'lg' \\| undefined` | Controls the visual scale of an element to match its importance and available space. - `sm` Compact size for dense layouts or secondary elements with less visual prominence. - `md` Standard size that works well in most contexts and provides balanced visibility. - `lg` Larger size for emphasizing important elements or improving touch targets in spacious layouts. |\n| type | `'button' \\| 'submit' \\| 'reset'` | Defines the button behavior when associated within a form element. https://mdn.dev/HTML/Element/button#attr-type |\n| value | `string` | Defines the value that copies to the user clipboard. Use `aria-label` to set the tooltip hint. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --background | `string` | [MDN](https://mdn.dev/CSS/background) |\n| --border | `string` | [MDN](https://mdn.dev/CSS/border) |\n| --border-radius | `string` | [MDN](https://mdn.dev/CSS/border-radius) |\n| --color | `string` | [MDN](https://mdn.dev/CSS/color) |\n| --cursor | `string` | [MDN](https://mdn.dev/CSS/cursor) |\n| --font-size | `string` | [MDN](https://mdn.dev/CSS/font-size) |\n| --font-weight | `string` | [MDN](https://mdn.dev/CSS/font-weight) |\n| --gap | `string` | [MDN](https://mdn.dev/CSS/gap) |\n| --height | `string` | [MDN](https://mdn.dev/CSS/height) |\n| --line-height | `string` | [MDN](https://mdn.dev/CSS/line-height) |\n| --min-width | `string` | [MDN](https://mdn.dev/CSS/min-width) |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |\n| --text-align | `string` | [MDN](https://mdn.dev/CSS/text-align) |\n| --text-decoration | `string` | [MDN](https://mdn.dev/CSS/text-decoration) |\n| --text-transform | `string` | [MDN](https://mdn.dev/CSS/text-transform) |\n| --width | `string` | [MDN](https://mdn.dev/CSS/width) |"
7969
+ }
7970
+ }
7971
+ ],
7972
+ "exports": [
7973
+ {
7974
+ "kind": "js",
7975
+ "name": "CopyButton",
7976
+ "declaration": {
7977
+ "name": "CopyButton",
7978
+ "module": "/src/copy-button/copy-button.js"
7979
+ }
7980
+ }
7981
+ ]
7982
+ },
7983
+ {
7984
+ "kind": "javascript-module",
7985
+ "path": "/src/copy-button/define.js",
7986
+ "declarations": [],
7987
+ "exports": []
7988
+ },
7989
+ {
7990
+ "kind": "javascript-module",
7991
+ "path": "/src/copy-button/index.js",
7992
+ "declarations": [],
7993
+ "exports": [
7994
+ {
7995
+ "kind": "js",
7996
+ "name": "*",
7997
+ "declaration": {
7998
+ "name": "*",
7999
+ "module": "home/runner/work/elements/elements/projects/core/src/copy-button/copy-button.js"
8000
+ }
8001
+ }
8002
+ ]
8003
+ },
8004
+ {
8005
+ "kind": "javascript-module",
8006
+ "path": "/src/dashboard/controllers/arrangement.controller.js",
8007
+ "declarations": [
8008
+ {
8009
+ "kind": "class",
8010
+ "description": "Applies arrangement permissions and operations to the current supplied panels.",
8011
+ "name": "DashboardArrangementController",
8012
+ "members": [
8013
+ {
8014
+ "kind": "field",
8015
+ "name": "#host",
8016
+ "privacy": "private",
8017
+ "type": {
8018
+ "text": "DashboardArrangementHost",
8019
+ "_sourceAliases": [],
8020
+ "values": []
8021
+ },
8022
+ "readonly": true,
8023
+ "default": "host"
8024
+ },
8025
+ {
8026
+ "kind": "field",
8027
+ "name": "#delegate",
8028
+ "privacy": "private",
8029
+ "type": {
8030
+ "text": "DashboardArrangementDelegate",
8031
+ "_sourceAliases": [],
8032
+ "values": []
8033
+ },
8034
+ "readonly": true,
8035
+ "default": "delegate"
8036
+ },
8037
+ {
8038
+ "kind": "method",
8039
+ "name": "place",
8040
+ "return": {
8041
+ "type": {
8042
+ "text": "boolean"
8043
+ }
8044
+ },
8045
+ "parameters": [
8046
+ {
8047
+ "name": "id",
8048
+ "type": {
8049
+ "text": "string"
8050
+ }
8051
+ },
8052
+ {
8053
+ "name": "placement",
8054
+ "type": {
8055
+ "text": "DashboardGridPlacement"
8056
+ }
8057
+ }
8058
+ ]
8059
+ },
8060
+ {
8061
+ "kind": "method",
8062
+ "name": "getArrangementStateKey",
8063
+ "return": {
8064
+ "type": {
8065
+ "text": "string"
8066
+ }
8067
+ }
8068
+ },
8069
+ {
8070
+ "kind": "method",
8071
+ "name": "findLayoutProposal",
8072
+ "parameters": [
8073
+ {
8074
+ "name": "layout",
8075
+ "type": {
8076
+ "text": "DashboardLayout"
8077
+ }
8078
+ },
8079
+ {
8080
+ "name": "id",
8081
+ "type": {
8082
+ "text": "string"
8083
+ }
8084
+ },
8085
+ {
8086
+ "name": "request",
8087
+ "type": {
8088
+ "text": "DashboardArrangementRequest"
8089
+ }
8090
+ }
8091
+ ]
8092
+ },
8093
+ {
8094
+ "kind": "method",
8095
+ "name": "isActionAllowed",
8096
+ "parameters": [
8097
+ {
8098
+ "name": "panel",
8099
+ "type": {
8100
+ "text": "DashboardPanel"
8101
+ }
8102
+ },
8103
+ {
8104
+ "name": "action",
8105
+ "type": {
8106
+ "text": "DashboardAction"
8107
+ }
8108
+ }
8109
+ ]
8110
+ },
8111
+ {
8112
+ "kind": "method",
8113
+ "name": "canCommit",
8114
+ "return": {
8115
+ "type": {
8116
+ "text": "boolean"
8117
+ }
8118
+ },
8119
+ "parameters": [
8120
+ {
8121
+ "name": "layout",
8122
+ "type": {
8123
+ "text": "DashboardLayout"
8124
+ }
8125
+ }
8126
+ ]
8127
+ },
8128
+ {
8129
+ "kind": "method",
8130
+ "name": "#isProposalValid",
8131
+ "privacy": "private",
8132
+ "return": {
8133
+ "type": {
8134
+ "text": "boolean"
8135
+ }
8136
+ },
8137
+ "parameters": [
8138
+ {
8139
+ "name": "layout",
8140
+ "type": {
8141
+ "text": "DashboardLayout"
8142
+ }
8143
+ }
8144
+ ]
8145
+ }
8146
+ ]
8147
+ }
8148
+ ],
8149
+ "exports": [
8150
+ {
8151
+ "kind": "js",
8152
+ "name": "DashboardArrangementController",
8153
+ "declaration": {
8154
+ "name": "DashboardArrangementController",
8155
+ "module": "/src/dashboard/controllers/arrangement.controller.js"
8156
+ }
8157
+ }
8158
+ ]
8159
+ },
8160
+ {
8161
+ "kind": "javascript-module",
8162
+ "path": "/src/dashboard/controllers/command.controller.js",
8163
+ "declarations": [
8164
+ {
8165
+ "kind": "class",
8166
+ "description": "Routes Invoker commands and publishes command availability.",
8167
+ "name": "DashboardCommandController",
8168
+ "members": [
8169
+ {
8170
+ "kind": "field",
8171
+ "name": "#host",
8172
+ "privacy": "private",
8173
+ "type": {
8174
+ "text": "DashboardCommandHost",
8175
+ "_sourceAliases": [],
8176
+ "values": []
8177
+ },
8178
+ "readonly": true,
8179
+ "default": "host"
8180
+ },
8181
+ {
8182
+ "kind": "field",
8183
+ "name": "#delegate",
8184
+ "privacy": "private",
8185
+ "type": {
8186
+ "text": "DashboardCommandDelegate",
8187
+ "_sourceAliases": [],
8188
+ "values": []
8189
+ },
8190
+ "readonly": true,
8191
+ "default": "delegate"
8192
+ },
8193
+ {
8194
+ "kind": "field",
8195
+ "name": "#dirty",
8196
+ "privacy": "private",
8197
+ "type": {
8198
+ "text": "boolean",
8199
+ "_sourceAliases": [],
8200
+ "values": [
8201
+ {
8202
+ "value": "boolean",
8203
+ "description": ""
8204
+ }
8205
+ ]
8206
+ },
8207
+ "default": "true"
8208
+ },
8209
+ {
8210
+ "kind": "method",
8211
+ "name": "hostConnected"
8212
+ },
8213
+ {
8214
+ "kind": "method",
8215
+ "name": "hostDisconnected"
8216
+ },
8217
+ {
8218
+ "kind": "method",
8219
+ "name": "invalidate"
8220
+ },
8221
+ {
8222
+ "kind": "method",
8223
+ "name": "flush"
8224
+ },
8225
+ {
8226
+ "kind": "method",
8227
+ "name": "isCommandAvailable",
8228
+ "return": {
8229
+ "type": {
8230
+ "text": "boolean"
8231
+ }
8232
+ },
8233
+ "parameters": [
8234
+ {
8235
+ "name": "command",
8236
+ "type": {
8237
+ "text": "string"
8238
+ }
8239
+ },
8240
+ {
8241
+ "name": "context",
8242
+ "default": "{}",
8243
+ "type": {
8244
+ "text": "DashboardCommandContext"
8245
+ }
8246
+ }
8247
+ ]
8248
+ },
8249
+ {
8250
+ "kind": "method",
8251
+ "name": "#findCommandPanel",
8252
+ "privacy": "private",
8253
+ "parameters": [
8254
+ {
8255
+ "name": "event",
8256
+ "type": {
8257
+ "text": "DashboardCommandEvent"
8258
+ }
8259
+ }
8260
+ ]
8261
+ },
8262
+ {
8263
+ "kind": "field",
8264
+ "name": "#handleCommand",
8265
+ "privacy": "private"
8266
+ },
8267
+ {
8268
+ "kind": "method",
8269
+ "name": "#getFullscreenCommandAvailability",
8270
+ "privacy": "private",
8271
+ "return": {
8272
+ "type": {
8273
+ "text": "boolean | undefined"
8274
+ }
8275
+ },
8276
+ "parameters": [
8277
+ {
8278
+ "name": "command",
8279
+ "type": {
8280
+ "text": "string"
8281
+ }
8282
+ },
8283
+ {
8284
+ "name": "id",
8285
+ "type": {
8286
+ "text": "string"
8287
+ }
8288
+ }
8289
+ ]
8290
+ },
8291
+ {
8292
+ "kind": "method",
8293
+ "name": "#handleFullscreenCommand",
8294
+ "privacy": "private",
8295
+ "return": {
8296
+ "type": {
8297
+ "text": "boolean"
8298
+ }
8299
+ },
8300
+ "parameters": [
8301
+ {
8302
+ "name": "command",
8303
+ "type": {
8304
+ "text": "string"
8305
+ }
8306
+ },
8307
+ {
8308
+ "name": "id",
8309
+ "type": {
8310
+ "text": "string"
8311
+ }
8312
+ }
8313
+ ]
8314
+ }
8315
+ ]
8316
+ }
8317
+ ],
8318
+ "exports": [
8319
+ {
8320
+ "kind": "js",
8321
+ "name": "DashboardCommandController",
8322
+ "declaration": {
8323
+ "name": "DashboardCommandController",
8324
+ "module": "/src/dashboard/controllers/command.controller.js"
8325
+ }
8326
+ }
8327
+ ]
8328
+ },
8329
+ {
8330
+ "kind": "javascript-module",
8331
+ "path": "/src/dashboard/controllers/composition.controller.js",
8332
+ "declarations": [
8333
+ {
8334
+ "kind": "class",
8335
+ "description": "Presents stable panels and observes their supplied composition.",
8336
+ "name": "DashboardCompositionController",
8337
+ "members": [
8338
+ {
8339
+ "kind": "field",
8340
+ "name": "#host",
8341
+ "privacy": "private",
8342
+ "type": {
8343
+ "text": "DashboardCompositionHost",
8344
+ "_sourceAliases": [],
8345
+ "values": []
8346
+ },
8347
+ "readonly": true,
8348
+ "default": "host"
8349
+ },
8350
+ {
8351
+ "kind": "field",
8352
+ "name": "#delegate",
8353
+ "privacy": "private",
8354
+ "type": {
8355
+ "text": "DashboardCompositionDelegate",
8356
+ "_sourceAliases": [],
8357
+ "values": []
8358
+ },
8359
+ "readonly": true,
8360
+ "default": "delegate"
8361
+ },
8362
+ {
8363
+ "kind": "field",
8364
+ "name": "#observer",
8365
+ "privacy": "private",
8366
+ "type": {
8367
+ "text": "MutationObserver | undefined",
8368
+ "_sourceAliases": [],
8369
+ "values": []
8370
+ }
8371
+ },
8372
+ {
8373
+ "kind": "field",
8374
+ "name": "#readingOrderSource",
8375
+ "privacy": "private",
8376
+ "type": {
8377
+ "text": "{ value: string; panels: readonly DashboardPanel[] } | undefined",
8378
+ "_sourceAliases": [],
8379
+ "values": [
8380
+ {
8381
+ "value": "{ value: string; panels: readonly DashboardPanel[] }",
8382
+ "description": ""
8383
+ }
8384
+ ]
8385
+ }
8386
+ },
8387
+ {
8388
+ "kind": "field",
8389
+ "name": "#presentedGeometry",
8390
+ "privacy": "private",
8391
+ "type": {
8392
+ "text": "DashboardPresentationSnapshot | undefined",
8393
+ "_sourceAliases": [],
8394
+ "values": []
8395
+ }
8396
+ },
8397
+ {
8398
+ "kind": "field",
8399
+ "name": "#ghostCorners",
8400
+ "privacy": "private",
8401
+ "type": {
8402
+ "text": "Record<string, string>",
8403
+ "_sourceAliases": [],
8404
+ "values": [
8405
+ {
8406
+ "value": "Record<string, string>",
8407
+ "description": ""
8408
+ }
8409
+ ]
8410
+ },
8411
+ "default": "{}"
8412
+ },
8413
+ {
8414
+ "kind": "field",
8415
+ "name": "ghostCorners",
8416
+ "readonly": true
8417
+ },
8418
+ {
8419
+ "kind": "method",
8420
+ "name": "captureCorners",
8421
+ "parameters": [
8422
+ {
8423
+ "name": "panel",
8424
+ "optional": true,
8425
+ "type": {
8426
+ "text": "DashboardPanel"
8427
+ }
8428
+ }
8429
+ ]
8430
+ },
8431
+ {
8432
+ "kind": "method",
8433
+ "name": "hostConnected"
8434
+ },
8435
+ {
8436
+ "kind": "method",
8437
+ "name": "hostDisconnected"
8438
+ },
8439
+ {
8440
+ "kind": "field",
8441
+ "name": "#panelElements",
8442
+ "privacy": "private",
8443
+ "readonly": true
8444
+ },
8445
+ {
8446
+ "kind": "field",
8447
+ "name": "ready",
8448
+ "readonly": true
8449
+ },
8450
+ {
8451
+ "kind": "field",
8452
+ "name": "catalogueReady",
8453
+ "type": {
8454
+ "text": "boolean",
8455
+ "_sourceAliases": [],
8456
+ "values": [
8457
+ {
8458
+ "value": "boolean",
8459
+ "description": ""
8460
+ }
8461
+ ]
8462
+ },
8463
+ "readonly": true
8464
+ },
8465
+ {
8466
+ "kind": "field",
8467
+ "name": "pendingPresentation",
8468
+ "readonly": true
8469
+ },
8470
+ {
8471
+ "kind": "field",
8472
+ "name": "panels",
8473
+ "type": {
8474
+ "text": "DashboardPanel[]",
8475
+ "_sourceAliases": [],
8476
+ "values": [
8477
+ {
8478
+ "value": "DashboardPanel[]",
8479
+ "description": ""
8480
+ }
8481
+ ]
8482
+ },
8483
+ "readonly": true
8484
+ },
8485
+ {
8486
+ "kind": "field",
8487
+ "name": "hiddenPanelIds",
8488
+ "type": {
8489
+ "text": "ReadonlySet<string>",
8490
+ "_sourceAliases": [],
8491
+ "values": [
8492
+ {
8493
+ "value": "ReadonlySet<string>",
8494
+ "description": ""
8495
+ }
8496
+ ]
8497
+ },
8498
+ "readonly": true
8499
+ },
8500
+ {
8501
+ "kind": "field",
8502
+ "name": "ownedPanels",
8503
+ "type": {
8504
+ "text": "DashboardPanel[]",
8505
+ "_sourceAliases": [],
8506
+ "values": [
8507
+ {
8508
+ "value": "DashboardPanel[]",
8509
+ "description": ""
8510
+ }
8511
+ ]
8512
+ },
8513
+ "readonly": true
8514
+ },
8515
+ {
8516
+ "kind": "method",
8517
+ "name": "hasPresentablePanel",
8518
+ "return": {
8519
+ "type": {
8520
+ "text": "boolean"
8521
+ }
8522
+ },
8523
+ "parameters": [
8524
+ {
8525
+ "name": "id",
8526
+ "type": {
8527
+ "text": "string"
8528
+ }
8529
+ }
8530
+ ]
8531
+ },
8532
+ {
8533
+ "kind": "field",
8534
+ "name": "viewport",
8535
+ "type": {
8536
+ "text": "HTMLElement | undefined",
8537
+ "_sourceAliases": [],
8538
+ "values": []
8539
+ },
8540
+ "readonly": true
8541
+ },
8542
+ {
8543
+ "kind": "method",
8544
+ "name": "present"
8545
+ },
8546
+ {
8547
+ "kind": "method",
8548
+ "name": "#presentSnapshot",
8549
+ "privacy": "private",
8550
+ "parameters": [
8551
+ {
8552
+ "name": "context",
8553
+ "type": {
8554
+ "text": "DashboardPresentationSnapshot"
8555
+ }
8556
+ }
8557
+ ]
8558
+ },
8559
+ {
8560
+ "kind": "method",
8561
+ "name": "#getRetainedSnapshot",
8562
+ "privacy": "private",
8563
+ "return": {
8564
+ "type": {
8565
+ "text": "DashboardPresentationSnapshot"
8566
+ }
8567
+ },
8568
+ "parameters": [
8569
+ {
8570
+ "name": "previous",
8571
+ "type": {
8572
+ "text": "DashboardPresentationSnapshot"
8573
+ }
8574
+ }
8575
+ ]
8576
+ },
8577
+ {
8578
+ "kind": "method",
8579
+ "name": "#getPresentationSnapshot",
8580
+ "privacy": "private",
8581
+ "return": {
8582
+ "type": {
8583
+ "text": "DashboardPresentationSnapshot"
8584
+ }
8585
+ }
8586
+ },
8587
+ {
8588
+ "kind": "method",
8589
+ "name": "#requiresImmediateGeometry",
8590
+ "privacy": "private",
8591
+ "return": {
8592
+ "type": {
8593
+ "text": "boolean"
8594
+ }
8595
+ },
8596
+ "parameters": [
8597
+ {
8598
+ "name": "context",
8599
+ "type": {
8600
+ "text": "DashboardPresentationSnapshot"
8601
+ }
8602
+ }
8603
+ ]
8604
+ },
8605
+ {
8606
+ "kind": "method",
8607
+ "name": "#setGeometryDuration",
8608
+ "privacy": "private",
8609
+ "parameters": [
8610
+ {
8611
+ "name": "panels",
8612
+ "type": {
8613
+ "text": "readonly DashboardPanel[]"
8614
+ }
8615
+ },
8616
+ {
8617
+ "name": "duration",
8618
+ "optional": true,
8619
+ "type": {
8620
+ "text": "string"
8621
+ }
8622
+ }
8623
+ ]
8624
+ },
8625
+ {
8626
+ "kind": "method",
8627
+ "name": "#presentPanels",
8628
+ "privacy": "private",
8629
+ "parameters": [
8630
+ {
8631
+ "name": "panels",
8632
+ "type": {
8633
+ "text": "readonly DashboardPanel[]"
8634
+ }
8635
+ },
8636
+ {
8637
+ "name": "context",
8638
+ "type": {
8639
+ "text": "DashboardPresentationSnapshot"
8640
+ }
8641
+ }
8642
+ ]
8643
+ },
8644
+ {
8645
+ "kind": "method",
8646
+ "name": "#presentPanelGeometry",
8647
+ "privacy": "private",
8648
+ "parameters": [
8649
+ {
8650
+ "name": "input",
8651
+ "type": {
8652
+ "text": "{\n panel: DashboardPanel;\n item: DashboardItem;\n metrics: DashboardMetrics;\n active?: DashboardPointerPresentation;\n }"
8653
+ }
8654
+ }
8655
+ ]
8656
+ },
8657
+ {
8658
+ "kind": "method",
8659
+ "name": "#getPanelPixelPlacement",
8660
+ "privacy": "private",
8661
+ "return": {
8662
+ "type": {
8663
+ "text": "DashboardPixelPlacement"
8664
+ }
8665
+ },
8666
+ "parameters": [
8667
+ {
8668
+ "name": "item",
8669
+ "type": {
8670
+ "text": "DashboardLayout['items'][number]"
8671
+ }
8672
+ },
8673
+ {
8674
+ "name": "metrics",
8675
+ "type": {
8676
+ "text": "DashboardMetrics"
8677
+ }
8678
+ },
8679
+ {
8680
+ "name": "active",
8681
+ "optional": true,
8682
+ "type": {
8683
+ "text": "DashboardPointerPresentation"
8684
+ }
8685
+ }
8686
+ ]
8687
+ },
8688
+ {
8689
+ "kind": "method",
8690
+ "name": "#updateReadingOrder",
8691
+ "privacy": "private",
8692
+ "parameters": [
8693
+ {
8694
+ "name": "panels",
8695
+ "type": {
8696
+ "text": "readonly DashboardPanel[]"
8697
+ }
8698
+ }
8699
+ ]
8700
+ },
8701
+ {
8702
+ "kind": "method",
8703
+ "name": "#configurePanel",
8704
+ "privacy": "private",
8705
+ "parameters": [
8706
+ {
8707
+ "name": "panel",
8708
+ "type": {
8709
+ "text": "DashboardPanel"
8710
+ }
8711
+ },
8712
+ {
8713
+ "name": "presentation",
8714
+ "type": {
8715
+ "text": "{ placed: boolean; active?: DashboardPointerPresentation }"
8716
+ }
8717
+ }
8718
+ ]
8719
+ },
8720
+ {
8721
+ "kind": "method",
8722
+ "name": "#getPanelCapabilities",
8723
+ "privacy": "private",
8724
+ "parameters": [
8725
+ {
8726
+ "name": "panel",
8727
+ "type": {
8728
+ "text": "DashboardPanel"
8729
+ }
8730
+ },
8731
+ {
8732
+ "name": "placed",
8733
+ "type": {
8734
+ "text": "boolean"
8735
+ }
8736
+ }
8737
+ ]
8738
+ },
8739
+ {
8740
+ "kind": "method",
8741
+ "name": "#getFullscreenView",
8742
+ "privacy": "private",
8743
+ "return": {
8744
+ "type": {
8745
+ "text": "'selected' | 'excluded' | undefined"
8746
+ }
8747
+ },
8748
+ "parameters": [
8749
+ {
8750
+ "name": "id",
8751
+ "type": {
8752
+ "text": "string"
8753
+ }
8754
+ }
8755
+ ]
8756
+ },
8757
+ {
8758
+ "kind": "method",
8759
+ "name": "#getFullscreenControl",
8760
+ "privacy": "private",
8761
+ "return": {
8762
+ "type": {
8763
+ "text": "'enter' | 'exit' | 'unavailable' | undefined"
8764
+ }
8765
+ },
8766
+ "parameters": [
8767
+ {
8768
+ "name": "id",
8769
+ "type": {
8770
+ "text": "string"
8771
+ }
8772
+ }
8773
+ ]
8774
+ },
8775
+ {
8776
+ "kind": "method",
8777
+ "name": "getPanelLabel",
8778
+ "parameters": [
8779
+ {
8780
+ "name": "id",
8781
+ "type": {
8782
+ "text": "string"
8783
+ }
8784
+ }
8785
+ ]
8786
+ },
8787
+ {
8788
+ "kind": "method",
8789
+ "name": "revealKeyboardControl",
8790
+ "parameters": [
8791
+ {
8792
+ "name": "layout",
8793
+ "type": {
8794
+ "text": "DashboardLayout"
8795
+ }
8796
+ },
8797
+ {
8798
+ "name": "control",
8799
+ "type": {
8800
+ "text": "{\n panel: DashboardPanel;\n element: HTMLElement;\n action: DashboardAction;\n }"
8801
+ }
8802
+ }
8803
+ ]
8804
+ },
8805
+ {
8806
+ "kind": "method",
8807
+ "name": "#revealControl",
8808
+ "privacy": "private",
8809
+ "parameters": [
8810
+ {
8811
+ "name": "input",
8812
+ "type": {
8813
+ "text": "{\n panel: DashboardPanel;\n control: HTMLElement;\n action: DashboardAction;\n layout: DashboardLayout;\n }"
8814
+ }
8815
+ }
8816
+ ]
8817
+ },
8818
+ {
8819
+ "kind": "method",
8820
+ "name": "#revealFocusedContent",
8821
+ "privacy": "private",
8822
+ "parameters": [
8823
+ {
8824
+ "name": "previousTargetId",
8825
+ "type": {
8826
+ "text": "string | undefined"
8827
+ }
8828
+ },
8829
+ {
8830
+ "name": "targetId",
8831
+ "type": {
8832
+ "text": "string | undefined"
8833
+ }
8834
+ }
8835
+ ]
8836
+ },
8837
+ {
8838
+ "kind": "method",
8839
+ "name": "#scrollViewportTo",
8840
+ "privacy": "private",
8841
+ "parameters": [
8842
+ {
8843
+ "name": "rect",
8844
+ "type": {
8845
+ "text": "Rect"
8846
+ }
8847
+ }
8848
+ ]
8849
+ },
8850
+ {
8851
+ "kind": "field",
8852
+ "name": "#focus",
8853
+ "privacy": "private"
8854
+ }
8855
+ ]
8856
+ }
8857
+ ],
8858
+ "exports": [
8859
+ {
8860
+ "kind": "js",
8861
+ "name": "DashboardCompositionController",
8862
+ "declaration": {
8863
+ "name": "DashboardCompositionController",
8864
+ "module": "/src/dashboard/controllers/composition.controller.js"
8865
+ }
8866
+ }
8867
+ ]
8868
+ },
8869
+ {
8870
+ "kind": "javascript-module",
8871
+ "path": "/src/dashboard/controllers/fullscreen.controller.js",
8872
+ "declarations": [
8873
+ {
8874
+ "kind": "class",
8875
+ "description": "Selects one supplied dashboard panel for fullscreen presentation.",
8876
+ "name": "DashboardFullscreenController",
8877
+ "members": [
8878
+ {
8879
+ "kind": "field",
8880
+ "name": "#host",
8881
+ "privacy": "private",
8882
+ "type": {
8883
+ "text": "DashboardFullscreenHost",
8884
+ "_sourceAliases": [],
8885
+ "values": []
8886
+ },
8887
+ "readonly": true,
8888
+ "default": "host"
8889
+ },
8890
+ {
8891
+ "kind": "field",
8892
+ "name": "#delegate",
8893
+ "privacy": "private",
8894
+ "type": {
8895
+ "text": "DashboardFullscreenDelegate",
8896
+ "_sourceAliases": [],
8897
+ "values": []
8898
+ },
8899
+ "readonly": true,
8900
+ "default": "delegate"
8901
+ },
8902
+ {
8903
+ "kind": "field",
8904
+ "name": "#native",
8905
+ "privacy": "private",
8906
+ "type": {
8907
+ "text": "NativeFullscreenController",
8908
+ "_sourceAliases": [],
8909
+ "values": []
8910
+ },
8911
+ "readonly": true,
8912
+ "default": "new NativeFullscreenController(host, this.#nativeChanged)"
8913
+ },
8914
+ {
8915
+ "kind": "field",
8916
+ "name": "#targetPanelId",
8917
+ "privacy": "private",
8918
+ "type": {
8919
+ "text": "string | undefined",
8920
+ "_sourceAliases": [],
8921
+ "values": [
8922
+ {
8923
+ "value": "string",
8924
+ "description": ""
8925
+ }
8926
+ ]
8927
+ }
8928
+ },
8929
+ {
8930
+ "kind": "field",
8931
+ "name": "active",
8932
+ "readonly": true
8933
+ },
8934
+ {
8935
+ "kind": "field",
8936
+ "name": "targetPanelId",
8937
+ "readonly": true
8938
+ },
8939
+ {
8940
+ "kind": "field",
8941
+ "name": "canExit",
8942
+ "readonly": true
8943
+ },
8944
+ {
8945
+ "kind": "method",
8946
+ "name": "hostUpdate"
8947
+ },
8948
+ {
8949
+ "kind": "method",
8950
+ "name": "isSelectedPanel",
8951
+ "parameters": [
8952
+ {
8953
+ "name": "id",
8954
+ "type": {
8955
+ "text": "string"
8956
+ }
8957
+ }
8958
+ ]
8959
+ },
8960
+ {
8961
+ "kind": "method",
8962
+ "name": "canEnter",
8963
+ "parameters": [
8964
+ {
8965
+ "name": "id",
8966
+ "type": {
8967
+ "text": "string"
8968
+ }
8969
+ }
8970
+ ]
8971
+ },
8972
+ {
8973
+ "kind": "method",
8974
+ "name": "enter",
8975
+ "parameters": [
8976
+ {
8977
+ "name": "id",
8978
+ "type": {
8979
+ "text": "string"
8980
+ }
8981
+ }
8982
+ ]
8983
+ },
8984
+ {
8985
+ "kind": "method",
8986
+ "name": "exit"
8987
+ },
8988
+ {
8989
+ "kind": "field",
8990
+ "name": "#nativeChanged",
8991
+ "privacy": "private"
8992
+ },
8993
+ {
8994
+ "kind": "method",
8995
+ "name": "#invalidate",
8996
+ "privacy": "private"
8997
+ }
8998
+ ]
8999
+ }
9000
+ ],
9001
+ "exports": [
9002
+ {
9003
+ "kind": "js",
9004
+ "name": "DashboardFullscreenController",
9005
+ "declaration": {
9006
+ "name": "DashboardFullscreenController",
9007
+ "module": "/src/dashboard/controllers/fullscreen.controller.js"
9008
+ }
9009
+ }
9010
+ ]
9011
+ },
9012
+ {
9013
+ "kind": "javascript-module",
9014
+ "path": "/src/dashboard/controllers/interaction.controller.js",
9015
+ "declarations": [
9016
+ {
9017
+ "kind": "class",
9018
+ "description": "Owns pointer arrangement and immediate keyboard placement.",
9019
+ "name": "DashboardInteractionController",
9020
+ "members": [
9021
+ {
9022
+ "kind": "field",
9023
+ "name": "#host",
9024
+ "privacy": "private",
9025
+ "type": {
9026
+ "text": "HTMLElement & ReactiveControllerHost",
9027
+ "_sourceAliases": [],
9028
+ "values": [
9029
+ {
9030
+ "value": "HTMLElement & ReactiveControllerHost",
9031
+ "description": ""
9032
+ }
9033
+ ]
9034
+ },
9035
+ "readonly": true,
9036
+ "default": "host"
9037
+ },
9038
+ {
9039
+ "kind": "field",
9040
+ "name": "#delegate",
9041
+ "privacy": "private",
9042
+ "type": {
9043
+ "text": "DashboardInteractionDelegate",
9044
+ "_sourceAliases": [],
9045
+ "values": []
9046
+ },
9047
+ "readonly": true,
9048
+ "default": "delegate"
9049
+ },
9050
+ {
9051
+ "kind": "field",
9052
+ "name": "#session",
9053
+ "privacy": "private",
9054
+ "type": {
9055
+ "text": "PointerArrangementSession | undefined",
9056
+ "_sourceAliases": [],
9057
+ "values": []
9058
+ }
9059
+ },
9060
+ {
9061
+ "kind": "field",
9062
+ "name": "#frame",
9063
+ "privacy": "private",
9064
+ "type": {
9065
+ "text": "number | undefined",
9066
+ "_sourceAliases": [],
9067
+ "values": [
9068
+ {
9069
+ "value": "number",
9070
+ "description": ""
9071
+ }
9072
+ ]
9073
+ }
9074
+ },
9075
+ {
9076
+ "kind": "method",
9077
+ "name": "hostConnected"
9078
+ },
9079
+ {
9080
+ "kind": "method",
9081
+ "name": "hostDisconnected"
9082
+ },
9083
+ {
9084
+ "kind": "method",
9085
+ "name": "cancel"
9086
+ },
9087
+ {
9088
+ "kind": "method",
9089
+ "name": "#findControl",
9090
+ "privacy": "private",
9091
+ "parameters": [
9092
+ {
9093
+ "name": "event",
9094
+ "type": {
9095
+ "text": "Event"
9096
+ }
9097
+ }
9098
+ ]
9099
+ },
9100
+ {
9101
+ "kind": "method",
9102
+ "name": "#begin",
9103
+ "privacy": "private",
9104
+ "return": {
9105
+ "type": {
9106
+ "text": "boolean"
9107
+ }
9108
+ },
9109
+ "parameters": [
9110
+ {
9111
+ "name": "control",
9112
+ "type": {
9113
+ "text": "DashboardInteractionControl"
9114
+ }
9115
+ },
9116
+ {
9117
+ "name": "action",
9118
+ "type": {
9119
+ "text": "DashboardAction"
9120
+ }
9121
+ }
9122
+ ]
9123
+ },
9124
+ {
9125
+ "kind": "method",
9126
+ "name": "#owns",
9127
+ "privacy": "private",
9128
+ "parameters": [
9129
+ {
9130
+ "name": "control",
9131
+ "type": {
9132
+ "text": "DashboardInteractionControl"
9133
+ }
9134
+ }
9135
+ ]
9136
+ },
9137
+ {
9138
+ "kind": "method",
9139
+ "name": "#finish",
9140
+ "privacy": "private",
9141
+ "parameters": [
9142
+ {
9143
+ "name": "commit",
9144
+ "type": {
9145
+ "text": "boolean"
9146
+ }
9147
+ }
9148
+ ]
9149
+ },
9150
+ {
9151
+ "kind": "method",
9152
+ "name": "#admit",
9153
+ "privacy": "private",
9154
+ "return": {
9155
+ "type": {
9156
+ "text": "DashboardLayout | undefined"
9157
+ }
9158
+ },
9159
+ "parameters": [
9160
+ {
9161
+ "name": "session",
9162
+ "type": {
9163
+ "text": "PointerArrangementSession"
9164
+ }
9165
+ }
9166
+ ]
9167
+ },
9168
+ {
9169
+ "kind": "method",
9170
+ "name": "#propose",
9171
+ "privacy": "private",
9172
+ "parameters": [
9173
+ {
9174
+ "name": "session",
9175
+ "type": {
9176
+ "text": "PointerArrangementSession"
9177
+ }
9178
+ }
9179
+ ]
9180
+ },
9181
+ {
9182
+ "kind": "method",
9183
+ "name": "#preview",
9184
+ "privacy": "private",
9185
+ "parameters": [
9186
+ {
9187
+ "name": "intent",
9188
+ "type": {
9189
+ "text": "DashboardPointerIntent"
9190
+ }
9191
+ },
9192
+ {
9193
+ "name": "canvasPlacement",
9194
+ "optional": true,
9195
+ "type": {
9196
+ "text": "DashboardPixelPlacement"
9197
+ }
9198
+ }
9199
+ ]
9200
+ },
9201
+ {
9202
+ "kind": "field",
9203
+ "name": "#click",
9204
+ "privacy": "private"
9205
+ },
9206
+ {
9207
+ "kind": "field",
9208
+ "name": "#keydown",
9209
+ "privacy": "private"
9210
+ },
9211
+ {
9212
+ "kind": "method",
9213
+ "name": "#moveAcrossGrowthStart",
9214
+ "privacy": "private",
9215
+ "return": {
9216
+ "type": {
9217
+ "text": "boolean"
9218
+ }
9219
+ },
9220
+ "parameters": [
9221
+ {
9222
+ "name": "event",
9223
+ "type": {
9224
+ "text": "KeyboardEvent"
9225
+ }
9226
+ },
9227
+ {
9228
+ "name": "control",
9229
+ "type": {
9230
+ "text": "DashboardInteractionControl & { action: DashboardAction }"
9231
+ }
9232
+ }
9233
+ ]
9234
+ },
9235
+ {
9236
+ "kind": "method",
9237
+ "name": "#handlePointerKey",
9238
+ "privacy": "private",
9239
+ "parameters": [
9240
+ {
9241
+ "name": "event",
9242
+ "type": {
9243
+ "text": "KeyboardEvent"
9244
+ }
9245
+ }
9246
+ ]
9247
+ },
9248
+ {
9249
+ "kind": "method",
9250
+ "name": "#applyKeyboardStep",
9251
+ "privacy": "private",
9252
+ "parameters": [
9253
+ {
9254
+ "name": "control",
9255
+ "type": {
9256
+ "text": "DashboardInteractionControl & { action: DashboardAction }"
9257
+ }
9258
+ },
9259
+ {
9260
+ "name": "command",
9261
+ "type": {
9262
+ "text": "string"
9263
+ }
9264
+ },
9265
+ {
9266
+ "name": "placement",
9267
+ "optional": true,
9268
+ "type": {
9269
+ "text": "DashboardGridPlacement"
9270
+ }
9271
+ }
9272
+ ]
9273
+ },
9274
+ {
9275
+ "kind": "field",
9276
+ "name": "#input",
9277
+ "privacy": "private"
9278
+ },
9279
+ {
9280
+ "kind": "field",
9281
+ "name": "#movement",
9282
+ "privacy": "private"
9283
+ },
9284
+ {
9285
+ "kind": "method",
9286
+ "name": "#handlePointerDown",
9287
+ "privacy": "private",
9288
+ "parameters": [
9289
+ {
9290
+ "name": "input",
9291
+ "type": {
9292
+ "text": "PointerDownInput"
9293
+ }
9294
+ }
9295
+ ]
9296
+ },
9297
+ {
9298
+ "kind": "method",
9299
+ "name": "#findPointerControl",
9300
+ "privacy": "private",
9301
+ "return": {
9302
+ "type": {
9303
+ "text": "(DashboardInteractionControl & { action: DashboardAction }) | undefined"
9304
+ }
9305
+ },
9306
+ "parameters": [
9307
+ {
9308
+ "name": "event",
9309
+ "type": {
9310
+ "text": "PointerEvent"
9311
+ }
9312
+ }
9313
+ ]
9314
+ },
9315
+ {
9316
+ "kind": "method",
9317
+ "name": "#beginPointerTracking",
9318
+ "privacy": "private",
9319
+ "parameters": [
9320
+ {
9321
+ "name": "input",
9322
+ "type": {
9323
+ "text": "{ event: PointerEvent; session: PointerArrangementSession; viewport: HTMLElement }"
9324
+ }
9325
+ }
9326
+ ]
9327
+ },
9328
+ {
9329
+ "kind": "method",
9330
+ "name": "#measurePointerOrigin",
9331
+ "privacy": "private",
9332
+ "parameters": [
9333
+ {
9334
+ "name": "panel",
9335
+ "type": {
9336
+ "text": "DashboardPanel"
9337
+ }
9338
+ },
9339
+ {
9340
+ "name": "canvas",
9341
+ "type": {
9342
+ "text": "HTMLElement"
9343
+ }
9344
+ },
9345
+ {
9346
+ "name": "event",
9347
+ "type": {
9348
+ "text": "PointerEvent"
9349
+ }
9350
+ }
9351
+ ]
9352
+ },
9353
+ {
9354
+ "kind": "field",
9355
+ "name": "#pointerMove",
9356
+ "privacy": "private"
9357
+ },
9358
+ {
9359
+ "kind": "method",
9360
+ "name": "#updatePointer",
9361
+ "privacy": "private"
9362
+ },
9363
+ {
9364
+ "kind": "method",
9365
+ "name": "#scheduleScroll",
9366
+ "privacy": "private"
9367
+ },
9368
+ {
9369
+ "kind": "method",
9370
+ "name": "#scrollFrame",
9371
+ "privacy": "private"
9372
+ },
9373
+ {
9374
+ "kind": "method",
9375
+ "name": "#handlePointerEnd",
9376
+ "privacy": "private",
9377
+ "parameters": [
9378
+ {
9379
+ "name": "input",
9380
+ "type": {
9381
+ "text": "PointerEndGesture"
9382
+ }
9383
+ }
9384
+ ]
9385
+ },
9386
+ {
9387
+ "kind": "method",
9388
+ "name": "#finishPointerMove",
9389
+ "privacy": "private"
9390
+ },
9391
+ {
9392
+ "kind": "method",
9393
+ "name": "#endPointerTracking",
9394
+ "privacy": "private",
9395
+ "parameters": [
9396
+ {
9397
+ "name": "session",
9398
+ "type": {
9399
+ "text": "PointerArrangementSession"
9400
+ }
9401
+ }
9402
+ ]
9403
+ },
9404
+ {
9405
+ "kind": "field",
9406
+ "name": "#scroll",
9407
+ "privacy": "private"
9408
+ },
9409
+ {
9410
+ "kind": "field",
9411
+ "name": "target",
9412
+ "default": "host"
9413
+ }
9414
+ ]
9415
+ },
9416
+ {
9417
+ "kind": "variable",
9418
+ "name": "source"
9419
+ },
9420
+ {
9421
+ "kind": "variable",
9422
+ "name": "session"
9423
+ },
9424
+ {
9425
+ "kind": "variable",
9426
+ "name": "viewport"
9427
+ },
9428
+ {
9429
+ "kind": "variable",
9430
+ "name": "canvasClientRect"
9431
+ },
9432
+ {
9433
+ "kind": "variable",
9434
+ "name": "pointer"
9435
+ }
9436
+ ],
9437
+ "exports": [
9438
+ {
9439
+ "kind": "js",
9440
+ "name": "DashboardInteractionController",
9441
+ "declaration": {
9442
+ "name": "DashboardInteractionController",
9443
+ "module": "/src/dashboard/controllers/interaction.controller.js"
9444
+ }
9445
+ }
9446
+ ]
9447
+ },
9448
+ {
9449
+ "kind": "javascript-module",
9450
+ "path": "/src/dashboard/controllers/measurement.controller.js",
9451
+ "declarations": [
9452
+ {
9453
+ "kind": "class",
9454
+ "description": "Measures viewport and cell geometry without owning arrangement policy.",
9455
+ "name": "DashboardMeasurementController",
9456
+ "members": [
9457
+ {
9458
+ "kind": "field",
9459
+ "name": "#host",
9460
+ "privacy": "private",
9461
+ "type": {
9462
+ "text": "DashboardMeasurementHost",
9463
+ "_sourceAliases": [],
9464
+ "values": []
9465
+ },
9466
+ "readonly": true,
9467
+ "default": "host"
9468
+ },
9469
+ {
9470
+ "kind": "field",
9471
+ "name": "#delegate",
9472
+ "privacy": "private",
9473
+ "type": {
9474
+ "text": "DashboardMeasurementDelegate",
9475
+ "_sourceAliases": [],
9476
+ "values": []
9477
+ },
9478
+ "readonly": true,
9479
+ "default": "delegate"
9480
+ },
9481
+ {
9482
+ "kind": "field",
9483
+ "name": "#metrics",
9484
+ "privacy": "private",
9485
+ "type": {
9486
+ "text": "DashboardMetrics | undefined",
9487
+ "_sourceAliases": [],
9488
+ "values": []
9489
+ }
9490
+ },
9491
+ {
9492
+ "kind": "field",
9493
+ "name": "#resizeObserver",
9494
+ "privacy": "private",
9495
+ "type": {
9496
+ "text": "ResizeObserver | undefined",
9497
+ "_sourceAliases": [],
9498
+ "values": []
9499
+ }
9500
+ },
9501
+ {
9502
+ "kind": "field",
9503
+ "name": "#resizeFrame",
9504
+ "privacy": "private",
9505
+ "type": {
9506
+ "text": "number | undefined",
9507
+ "_sourceAliases": [],
9508
+ "values": [
9509
+ {
9510
+ "value": "number",
9511
+ "description": ""
9512
+ }
9513
+ ]
9514
+ }
9515
+ },
9516
+ {
9517
+ "kind": "field",
9518
+ "name": "#borderTargets",
9519
+ "privacy": "private",
9520
+ "default": "new Set<HTMLElement>()"
9521
+ },
9522
+ {
9523
+ "kind": "field",
9524
+ "name": "metrics",
9525
+ "readonly": true
9526
+ },
9527
+ {
9528
+ "kind": "method",
9529
+ "name": "hostConnected"
9530
+ },
9531
+ {
9532
+ "kind": "method",
9533
+ "name": "hostDisconnected"
9534
+ },
9535
+ {
9536
+ "kind": "method",
9537
+ "name": "observe"
9538
+ },
9539
+ {
9540
+ "kind": "method",
9541
+ "name": "observePanels"
9542
+ },
9543
+ {
9544
+ "kind": "method",
9545
+ "name": "#updateBorderWidth",
9546
+ "privacy": "private"
9547
+ },
9548
+ {
9549
+ "kind": "method",
9550
+ "name": "#readMetrics",
9551
+ "privacy": "private"
9552
+ },
9553
+ {
9554
+ "kind": "method",
9555
+ "name": "#scheduleMeasure",
9556
+ "privacy": "private"
9557
+ },
9558
+ {
9559
+ "kind": "method",
9560
+ "name": "measure"
9561
+ }
9562
+ ]
9563
+ }
9564
+ ],
9565
+ "exports": [
9566
+ {
9567
+ "kind": "js",
9568
+ "name": "DashboardMeasurementController",
9569
+ "declaration": {
9570
+ "name": "DashboardMeasurementController",
9571
+ "module": "/src/dashboard/controllers/measurement.controller.js"
9572
+ }
9573
+ }
9574
+ ]
9575
+ },
9576
+ {
9577
+ "kind": "javascript-module",
9578
+ "path": "/src/dashboard/dashboard.js",
9579
+ "declarations": [
9580
+ {
9581
+ "kind": "class",
9582
+ "description": "A dashboard arranges application panels on a resizable grid with a restorable layout.",
9583
+ "name": "Dashboard",
9584
+ "cssProperties": [
9585
+ {
9586
+ "description": "Single-cell outer column length in fixed sizing or horizontal flow. Defaults to 160px.",
9587
+ "name": "--column-size"
9588
+ },
9589
+ {
9590
+ "description": "Single-cell outer row length in fixed sizing or vertical flow. Defaults to 120px.",
9591
+ "name": "--row-size"
9592
+ },
9593
+ {
9594
+ "description": "Nonnegative CSS length between cells. Include units, including 0px for no gap. At zero, uniform used border widths overlap; unequal widths keep independent geometry. Shared seams assume square panels with solid opaque borders. [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/gap)",
9595
+ "name": "--gap"
9596
+ },
9597
+ {
9598
+ "description": "Color of the circular cell-center guides. Defaults to the muted border color.",
9599
+ "name": "--guide-color"
9600
+ },
9601
+ {
9602
+ "description": "Nonnegative CSS length for the guide circle diameter. Defaults to 8px. Include units, including 0px to hide the circles.",
9603
+ "name": "--guide-size"
9604
+ },
9605
+ {
9606
+ "description": "Default viewport height. Defaults to 400px; horizontal fit needs a definite height. [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/height)",
9607
+ "name": "--height"
9608
+ },
9609
+ {
9610
+ "description": "Duration of panel geometry, destination ghost geometry, and arrangement control transitions. Defaults to 150ms; reduced motion uses 0ms. Panel geometry follows external container resizing immediately; explicit arrangement and sizing changes use transitions. Animation never delays logical placement commits. [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration)",
9611
+ "name": "--animation-duration"
9612
+ },
9613
+ {
9614
+ "description": "Easing of panel and destination ghost geometry transitions.",
9615
+ "name": "--animation-easing"
9616
+ }
9617
+ ],
9618
+ "cssParts": [
9619
+ {
9620
+ "description": "Inert placement preview shown during pointer arrangement.",
9621
+ "name": "ghost"
9622
+ }
9623
+ ],
9624
+ "slots": [
9625
+ {
9626
+ "description": "Direct dashboard panels with unique durable IDs, required headers, and application dropdown groups. DOM order remains application authored. Native reading order follows committed placement where supported; previews preserve that order.",
9627
+ "name": ""
9628
+ }
9629
+ ],
9630
+ "members": [
9631
+ {
9632
+ "kind": "field",
9633
+ "name": "i18n",
9634
+ "description": "Localized labels and placement announcements. Grid placement placeholders are column, row, columnSpan, and rowSpan."
9635
+ },
9636
+ {
9637
+ "kind": "field",
9638
+ "name": "rearrangeable",
9639
+ "type": {
9640
+ "text": "boolean",
9641
+ "_sourceAliases": [],
9642
+ "values": [
9643
+ {
9644
+ "value": "true",
9645
+ "description": ""
9646
+ },
9647
+ {
9648
+ "value": "false",
9649
+ "description": ""
9650
+ }
9651
+ ]
9652
+ },
9653
+ "default": "false",
9654
+ "description": "Enables moving and resizing panels through controls and placement commands.",
9655
+ "attribute": "rearrangeable",
9656
+ "reflects": true
9657
+ },
9658
+ {
9659
+ "kind": "field",
9660
+ "name": "fullscreenable",
9661
+ "type": {
9662
+ "text": "boolean",
9663
+ "_sourceAliases": [],
9664
+ "values": [
9665
+ {
9666
+ "value": "true",
9667
+ "description": ""
9668
+ },
9669
+ {
9670
+ "value": "false",
9671
+ "description": ""
9672
+ }
9673
+ ]
9674
+ },
9675
+ "default": "false",
9676
+ "description": "Enables native fullscreen commands and a header control for each panel. Turning this off preserves an accepted session and its exit control. Fullscreen does not change the saved arrangement.",
9677
+ "attribute": "fullscreenable",
9678
+ "reflects": true
9679
+ },
9680
+ {
9681
+ "kind": "field",
9682
+ "name": "container",
9683
+ "type": {
9684
+ "text": "'inset' | 'flat' | 'full' | undefined",
9685
+ "_sourceAliases": [],
9686
+ "values": [
9687
+ {
9688
+ "value": "inset",
9689
+ "description": ""
9690
+ },
9691
+ {
9692
+ "value": "flat",
9693
+ "description": ""
9694
+ },
9695
+ {
9696
+ "value": "full",
9697
+ "description": ""
9698
+ }
9699
+ ]
9700
+ },
9701
+ "description": "Selects panel content framing.",
9702
+ "attribute": "container",
9703
+ "reflects": true
9704
+ },
9705
+ {
9706
+ "kind": "field",
9707
+ "name": "sizing",
9708
+ "type": {
9709
+ "text": "'fit' | 'fixed'",
9710
+ "_sourceAliases": [],
9711
+ "values": [
9712
+ {
9713
+ "value": "fit",
9714
+ "description": ""
9715
+ },
9716
+ {
9717
+ "value": "fixed",
9718
+ "description": ""
9719
+ }
9720
+ ]
9721
+ },
9722
+ "default": "'fit'",
9723
+ "description": "Cell sizing, defaulting to fit. Fit sizing fits bounded tracks to the viewport and scrolls along the growth axis. Fixed sizing uses the configured --column-size and --row-size dimensions and may scroll on both axes. Does not change value.",
9724
+ "attribute": "sizing",
9725
+ "reflects": true
9726
+ },
9727
+ {
9728
+ "kind": "field",
9729
+ "name": "guides",
9730
+ "type": {
9731
+ "text": "'auto' | 'visible' | 'hidden'",
9732
+ "_sourceAliases": [],
9733
+ "values": [
9734
+ {
9735
+ "value": "auto",
9736
+ "description": ""
9737
+ },
9738
+ {
9739
+ "value": "visible",
9740
+ "description": ""
9741
+ },
9742
+ {
9743
+ "value": "hidden",
9744
+ "description": ""
9745
+ }
9746
+ ]
9747
+ },
9748
+ "default": "'auto'",
9749
+ "description": "Guide visibility: auto shows circular cell-center guides during pointer arrangement, visible always shows them, and hidden hides them while keeping the destination preview. Attribute keywords ignore case; missing, empty, or unrecognized values use auto. Does not change value or interaction permissions.",
9750
+ "attribute": "guides",
9751
+ "reflects": true
9752
+ },
9753
+ {
9754
+ "kind": "field",
9755
+ "name": "autoSettle",
9756
+ "type": {
9757
+ "text": "boolean",
9758
+ "_sourceAliases": [],
9759
+ "values": [
9760
+ {
9761
+ "value": "true",
9762
+ "description": ""
9763
+ },
9764
+ {
9765
+ "value": "false",
9766
+ "description": ""
9767
+ }
9768
+ ]
9769
+ },
9770
+ "description": "Closes growth-axis gaps toward top in vertical flow or inline start in horizontal flow, preserving bounded-axis positions and spans. Defaults to false. Enabling silently canonicalizes the current arrangement; disabling keeps current coordinates. This policy is independent of value.",
9771
+ "attribute": "autosettle",
9772
+ "reflects": true
9773
+ },
9774
+ {
9775
+ "kind": "field",
9776
+ "name": "value",
9777
+ "type": {
9778
+ "text": "string",
9779
+ "_sourceAliases": [],
9780
+ "values": [
9781
+ {
9782
+ "value": "string",
9783
+ "description": ""
9784
+ }
9785
+ ]
9786
+ },
9787
+ "description": "Version 1 JSON with grid {flow, tracks} and items {id, column, row, columnSpan, rowSpan}. Positions are zero-based cells from inline start and top; column zero is at the right in RTL. Spans count columns and rows. Defaults to an empty string, which seeds one-cell panels in DOM order. Assignment validates the saved model immediately and normalizes panels once their upgrades and unique nonempty IDs are ready; restoration is silent. Intentional gaps remain when autoSettle is false. After successful reconciliation, only direct default-slot panel children remain in the value, including hidden children. Removed panels lose their placement. Applications own content data, persistence, and any saved placement history.",
9788
+ "attribute": "value"
9789
+ },
9790
+ {
9791
+ "kind": "field",
9792
+ "name": "flow",
9793
+ "type": {
9794
+ "text": "'vertical' | 'horizontal'",
9795
+ "_sourceAliases": [],
9796
+ "values": [
9797
+ {
9798
+ "value": "vertical",
9799
+ "description": ""
9800
+ },
9801
+ {
9802
+ "value": "horizontal",
9803
+ "description": ""
9804
+ }
9805
+ ]
9806
+ },
9807
+ "description": "Growth direction, defaulting to vertical with bounded columns. Horizontal flow bounds rows. Changing flow does not transpose panel coordinates or spans. Assignment updates the arrangement silently; changes that conflict with panel constraints throw before changing the arrangement.",
9808
+ "attribute": "flow"
9809
+ },
9810
+ {
9811
+ "kind": "field",
9812
+ "name": "tracks",
9813
+ "type": {
9814
+ "text": "number",
9815
+ "_sourceAliases": [],
9816
+ "values": [
9817
+ {
9818
+ "value": "number",
9819
+ "description": ""
9820
+ }
9821
+ ]
9822
+ },
9823
+ "description": "Bounded-axis track count, defaulting to 12. Valid integers range from 1 through 1000000. Assignment updates the arrangement silently and rejects changes that conflict with panel constraints.",
9824
+ "attribute": "tracks"
9825
+ },
9826
+ {
9827
+ "kind": "method",
9828
+ "name": "place",
9829
+ "return": {
9830
+ "type": {
9831
+ "text": "boolean"
9832
+ }
9833
+ },
9834
+ "parameters": [
9835
+ {
9836
+ "name": "id",
9837
+ "type": {
9838
+ "text": "string"
9839
+ }
9840
+ },
9841
+ {
9842
+ "name": "placement",
9843
+ "type": {
9844
+ "text": "DashboardGridPlacement"
9845
+ }
9846
+ }
9847
+ ],
9848
+ "description": "Requests an integer placement without gesture target snapping. Anchored span changes use resizing permission, including left and top edges that change the origin; other position changes require movement. Directional collisions and optional growth-axis settling determine the final arrangement. Returns false for unavailable, invalid, or unchanged normalized placement. Successful placement emits one change."
9849
+ },
9850
+ {
9851
+ "kind": "method",
9852
+ "name": "isCommandAvailable",
9853
+ "return": {
9854
+ "type": {
9855
+ "text": "boolean"
9856
+ }
9857
+ },
9858
+ "parameters": [
9859
+ {
9860
+ "name": "command",
9861
+ "type": {
9862
+ "text": "string"
9863
+ }
9864
+ },
9865
+ {
9866
+ "name": "context",
9867
+ "default": "{}",
9868
+ "type": {
9869
+ "text": "DashboardCommandContext"
9870
+ }
9871
+ }
9872
+ ],
9873
+ "description": "Queries arrangement and fullscreen commands using a panel ID. A placement supplies the full grid placement for --place, or the desired bounded-axis coordinate for --move-to-start. Availability compares the complete normalized proposal with the current arrangement. Directional movement derives from grid placement and panel permissions without requiring rendered controls. Native fullscreen admission remains subject to browser permission."
9874
+ }
9875
+ ],
9876
+ "events": [
9877
+ {
9878
+ "name": "change",
9879
+ "type": {
9880
+ "text": "Event"
9881
+ },
9882
+ "description": "Announces one committed arrangement after interaction, commands, or panel membership and span-constraint reconciliation. Read value on the dashboard; authored content events still bubble normally."
9883
+ },
9884
+ {
9885
+ "type": {
9886
+ "text": "Event"
9887
+ },
9888
+ "description": "Arrangement or fullscreen command availability may have changed.",
9889
+ "name": "commandavailabilitychange"
9890
+ }
9891
+ ],
9892
+ "attributes": [
9893
+ {
9894
+ "name": "rearrangeable",
9895
+ "type": {
9896
+ "text": "boolean",
9897
+ "_sourceAliases": [],
9898
+ "values": [
9899
+ {
9900
+ "value": "true",
9901
+ "description": ""
9902
+ },
9903
+ {
9904
+ "value": "false",
9905
+ "description": ""
9906
+ }
9907
+ ]
9908
+ },
9909
+ "default": "false",
9910
+ "description": "Enables moving and resizing panels through controls and placement commands.",
9911
+ "fieldName": "rearrangeable"
9912
+ },
9913
+ {
9914
+ "name": "fullscreenable",
9915
+ "type": {
9916
+ "text": "boolean",
9917
+ "_sourceAliases": [],
9918
+ "values": [
9919
+ {
9920
+ "value": "true",
9921
+ "description": ""
9922
+ },
9923
+ {
9924
+ "value": "false",
9925
+ "description": ""
9926
+ }
9927
+ ]
9928
+ },
9929
+ "default": "false",
9930
+ "description": "Enables native fullscreen commands and a header control for each panel. Turning this off preserves an accepted session and its exit control. Fullscreen does not change the saved arrangement.",
9931
+ "fieldName": "fullscreenable"
9932
+ },
9933
+ {
9934
+ "name": "container",
9935
+ "type": {
9936
+ "text": "'inset' | 'flat' | 'full' | undefined",
9937
+ "_sourceAliases": [],
9938
+ "values": [
9939
+ {
9940
+ "value": "inset",
9941
+ "description": ""
9942
+ },
9943
+ {
9944
+ "value": "flat",
9945
+ "description": ""
9946
+ },
9947
+ {
9948
+ "value": "full",
9949
+ "description": ""
9950
+ }
9951
+ ]
9952
+ },
9953
+ "description": "Selects panel content framing.",
9954
+ "fieldName": "container"
9955
+ },
9956
+ {
9957
+ "name": "sizing",
9958
+ "type": {
9959
+ "text": "'fit' | 'fixed'",
9960
+ "_sourceAliases": [],
9961
+ "values": [
9962
+ {
9963
+ "value": "fit",
9964
+ "description": ""
9965
+ },
9966
+ {
9967
+ "value": "fixed",
9968
+ "description": ""
9969
+ }
9970
+ ]
9971
+ },
9972
+ "default": "'fit'",
9973
+ "description": "Cell sizing, defaulting to fit. Fit sizing fits bounded tracks to the viewport and scrolls along the growth axis. Fixed sizing uses the configured --column-size and --row-size dimensions and may scroll on both axes. Does not change value.",
9974
+ "fieldName": "sizing"
9975
+ },
9976
+ {
9977
+ "name": "guides",
9978
+ "type": {
9979
+ "text": "'auto' | 'visible' | 'hidden'",
9980
+ "_sourceAliases": [],
9981
+ "values": [
9982
+ {
9983
+ "value": "auto",
9984
+ "description": ""
9985
+ },
9986
+ {
9987
+ "value": "visible",
9988
+ "description": ""
9989
+ },
9990
+ {
9991
+ "value": "hidden",
9992
+ "description": ""
9993
+ }
9994
+ ]
9995
+ },
9996
+ "default": "'auto'",
9997
+ "description": "Guide visibility: auto shows circular cell-center guides during pointer arrangement, visible always shows them, and hidden hides them while keeping the destination preview. Attribute keywords ignore case; missing, empty, or unrecognized values use auto. Does not change value or interaction permissions.",
9998
+ "fieldName": "guides"
9999
+ },
10000
+ {
10001
+ "name": "autosettle",
10002
+ "type": {
10003
+ "text": "boolean",
10004
+ "_sourceAliases": [],
10005
+ "values": [
10006
+ {
10007
+ "value": "true",
10008
+ "description": ""
10009
+ },
10010
+ {
10011
+ "value": "false",
10012
+ "description": ""
10013
+ }
10014
+ ]
10015
+ },
10016
+ "description": "Closes growth-axis gaps toward top in vertical flow or inline start in horizontal flow, preserving bounded-axis positions and spans. Defaults to false. Enabling silently canonicalizes the current arrangement; disabling keeps current coordinates. This policy is independent of value.",
10017
+ "fieldName": "autoSettle"
10018
+ },
10019
+ {
10020
+ "name": "value",
10021
+ "type": {
10022
+ "text": "string",
10023
+ "_sourceAliases": [],
10024
+ "values": [
10025
+ {
10026
+ "value": "string",
10027
+ "description": ""
10028
+ }
10029
+ ]
10030
+ },
10031
+ "description": "Version 1 JSON with grid {flow, tracks} and items {id, column, row, columnSpan, rowSpan}. Positions are zero-based cells from inline start and top; column zero is at the right in RTL. Spans count columns and rows. Defaults to an empty string, which seeds one-cell panels in DOM order. Assignment validates the saved model immediately and normalizes panels once their upgrades and unique nonempty IDs are ready; restoration is silent. Intentional gaps remain when autoSettle is false. After successful reconciliation, only direct default-slot panel children remain in the value, including hidden children. Removed panels lose their placement. Applications own content data, persistence, and any saved placement history.",
10032
+ "fieldName": "value"
10033
+ },
10034
+ {
10035
+ "name": "flow",
10036
+ "type": {
10037
+ "text": "'vertical' | 'horizontal'",
10038
+ "_sourceAliases": [],
10039
+ "values": [
10040
+ {
10041
+ "value": "vertical",
10042
+ "description": ""
10043
+ },
10044
+ {
10045
+ "value": "horizontal",
10046
+ "description": ""
10047
+ }
10048
+ ]
10049
+ },
10050
+ "description": "Growth direction, defaulting to vertical with bounded columns. Horizontal flow bounds rows. Changing flow does not transpose panel coordinates or spans. Assignment updates the arrangement silently; changes that conflict with panel constraints throw before changing the arrangement.",
10051
+ "fieldName": "flow"
10052
+ },
10053
+ {
10054
+ "name": "tracks",
10055
+ "type": {
10056
+ "text": "number",
10057
+ "_sourceAliases": [],
10058
+ "values": [
10059
+ {
10060
+ "value": "number",
10061
+ "description": ""
10062
+ }
10063
+ ]
10064
+ },
10065
+ "description": "Bounded-axis track count, defaulting to 12. Valid integers range from 1 through 1000000. Assignment updates the arrangement silently and rejects changes that conflict with panel constraints.",
10066
+ "fieldName": "tracks"
10067
+ }
10068
+ ],
10069
+ "superclass": {
10070
+ "name": "LitElement",
10071
+ "package": "lit"
10072
+ },
10073
+ "tagName": "nve-dashboard",
10074
+ "customElement": true,
10075
+ "metadata": {
10076
+ "unitTests": true,
10077
+ "apiReview": true,
10078
+ "performance": true,
10079
+ "stable": false,
10080
+ "vqa": true,
10081
+ "responsive": true,
10082
+ "themes": true,
10083
+ "aria": "#",
10084
+ "entrypoint": "@nvidia-elements/core/dashboard",
10085
+ "example": "<div id=\"default-dashboard-example\" nve-layout=\"column gap:md\">\n <div nve-layout=\"row gap:md align:space-between align:wrap\">\n <nve-button id=\"reset-default-layout\">Reset layout</nve-button>\n </div>\n <nve-dashboard\n id=\"default-dashboard\"\n rearrangeable\n style=\"height: 600px; --row-size: 90px\"\n value='{\"version\":1,\"grid\":{\"flow\":\"vertical\",\"tracks\":6},\"items\":[{\"id\":\"hero-baseline\",\"column\":0,\"row\":0,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-candidate\",\"column\":3,\"row\":0,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-changes\",\"column\":0,\"row\":2,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-evidence\",\"column\":3,\"row\":2,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-notes\",\"column\":0,\"row\":4,\"columnSpan\":6,\"rowSpan\":2}]}'\n >\n <nve-dashboard-panel id=\"hero-baseline\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Baseline</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Reference run</nve-dashboard-panel-content>\n <nve-dashboard-panel-footer>Complete</nve-dashboard-panel-footer>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-candidate\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Candidate</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Current run</nve-dashboard-panel-content>\n <nve-dashboard-panel-footer>Complete</nve-dashboard-panel-footer>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-changes\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Changes</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Comparison</nve-dashboard-panel-content>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-evidence\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Evidence</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Test cases</nve-dashboard-panel-content>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-notes\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Notes</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>\n <nve-input>\n <input aria-label=\"Notes\" value=\"Review findings.\" />\n </nve-input>\n </nve-dashboard-panel-content>\n </nve-dashboard-panel>\n </nve-dashboard>\n <script type=\"module\">\n const example = document.querySelector(\"#default-dashboard-example\");\n const dashboard = example.querySelector(\"nve-dashboard\");\n const reset = example.querySelector(\"#reset-default-layout\");\n const initialValue = dashboard.getAttribute(\"value\");\n reset.addEventListener(\"click\", () => {\n dashboard.value = initialValue;\n });\n </script>\n</div>",
10086
+ "package": true,
10087
+ "documentation": "https://nvidia.github.io/elements/docs/elements/dashboard/",
10088
+ "since": "0.0.0",
10089
+ "status": "beta",
10090
+ "behavior": "content",
10091
+ "markdown": "## nve-dashboard\n\nA dashboard arranges application panels on a resizable grid with a restorable layout.\n\n### Example\n\n```html\n<div id=\"default-dashboard-example\" nve-layout=\"column gap:md\">\n <div nve-layout=\"row gap:md align:space-between align:wrap\">\n <nve-button id=\"reset-default-layout\">Reset layout</nve-button>\n </div>\n <nve-dashboard\n id=\"default-dashboard\"\n rearrangeable\n style=\"height: 600px; --row-size: 90px\"\n value='{\"version\":1,\"grid\":{\"flow\":\"vertical\",\"tracks\":6},\"items\":[{\"id\":\"hero-baseline\",\"column\":0,\"row\":0,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-candidate\",\"column\":3,\"row\":0,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-changes\",\"column\":0,\"row\":2,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-evidence\",\"column\":3,\"row\":2,\"columnSpan\":3,\"rowSpan\":2},{\"id\":\"hero-notes\",\"column\":0,\"row\":4,\"columnSpan\":6,\"rowSpan\":2}]}'\n >\n <nve-dashboard-panel id=\"hero-baseline\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Baseline</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Reference run</nve-dashboard-panel-content>\n <nve-dashboard-panel-footer>Complete</nve-dashboard-panel-footer>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-candidate\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Candidate</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Current run</nve-dashboard-panel-content>\n <nve-dashboard-panel-footer>Complete</nve-dashboard-panel-footer>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-changes\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Changes</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Comparison</nve-dashboard-panel-content>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-evidence\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Evidence</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>Test cases</nve-dashboard-panel-content>\n </nve-dashboard-panel>\n <nve-dashboard-panel id=\"hero-notes\" min-column-span=\"2\" min-row-span=\"2\">\n <nve-dashboard-panel-header>Notes</nve-dashboard-panel-header>\n <nve-dashboard-panel-content>\n <nve-input>\n <input aria-label=\"Notes\" value=\"Review findings.\" />\n </nve-input>\n </nve-dashboard-panel-content>\n </nve-dashboard-panel>\n </nve-dashboard>\n <script type=\"module\">\n const example = document.querySelector(\"#default-dashboard-example\");\n const dashboard = example.querySelector(\"nve-dashboard\");\n const reset = example.querySelector(\"#reset-default-layout\");\n const initialValue = dashboard.getAttribute(\"value\");\n reset.addEventListener(\"click\", () => {\n dashboard.value = initialValue;\n });\n </script>\n</div>\n```\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/dashboard/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Direct dashboard panels with unique durable IDs, required headers, and application dropdown groups. DOM order remains application authored. Native reading order follows committed placement where supported; previews preserve that order. |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| autoSettle (autosettle) | `boolean` | Closes growth-axis gaps toward top in vertical flow or inline start in horizontal flow, preserving bounded-axis positions and spans. Defaults to false. Enabling silently canonicalizes the current arrangement; disabling keeps current coordinates. This policy is independent of value. |\n| container | `'inset' \\| 'flat' \\| 'full' \\| undefined` | Selects panel content framing. |\n| flow | `'vertical' \\| 'horizontal'` | Growth direction, defaulting to vertical with bounded columns. Horizontal flow bounds rows. Changing flow does not transpose panel coordinates or spans. Assignment updates the arrangement silently; changes that conflict with panel constraints throw before changing the arrangement. |\n| fullscreenable | `boolean` | Enables native fullscreen commands and a header control for each panel. Turning this off preserves an accepted session and its exit control. Fullscreen does not change the saved arrangement. |\n| guides | `'auto' \\| 'visible' \\| 'hidden'` | Guide visibility: auto shows circular cell-center guides during pointer arrangement, visible always shows them, and hidden hides them while keeping the destination preview. Attribute keywords ignore case; missing, empty, or unrecognized values use auto. Does not change value or interaction permissions. |\n| i18n | | Localized labels and placement announcements. Grid placement placeholders are column, row, columnSpan, and rowSpan. |\n| rearrangeable | `boolean` | Enables moving and resizing panels through controls and placement commands. |\n| sizing | `'fit' \\| 'fixed'` | Cell sizing, defaulting to fit. Fit sizing fits bounded tracks to the viewport and scrolls along the growth axis. Fixed sizing uses the configured --column-size and --row-size dimensions and may scroll on both axes. Does not change value. |\n| tracks | `number` | Bounded-axis track count, defaulting to 12. Valid integers range from 1 through 1000000. Assignment updates the arrangement silently and rejects changes that conflict with panel constraints. |\n| value | `string` | Version 1 JSON with grid {flow, tracks} and items {id, column, row, columnSpan, rowSpan}. Positions are zero-based cells from inline start and top; column zero is at the right in RTL. Spans count columns and rows. Defaults to an empty string, which seeds one-cell panels in DOM order. Assignment validates the saved model immediately and normalizes panels once their upgrades and unique nonempty IDs are ready; restoration is silent. Intentional gaps remain when autoSettle is false. After successful reconciliation, only direct default-slot panel children remain in the value, including hidden children. Removed panels lose their placement. Applications own content data, persistence, and any saved placement history. |\n\n### Events\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| change | `CustomEvent` | Announces one committed arrangement after interaction, commands, or panel membership and span-constraint reconciliation. Read value on the dashboard; authored content events still bubble normally. |\n| commandavailabilitychange | `CustomEvent` | Arrangement or fullscreen command availability may have changed. |\n\n### Invoker Commands\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --decrease-height | `CommandEvent` | Decrease height by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --decrease-width | `CommandEvent` | Decrease width by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --enter-fullscreen | `CommandEvent` | Present the invoking panel in native fullscreen. |\n| --exit-fullscreen | `CommandEvent` | Exit native fullscreen. |\n| --increase-height | `CommandEvent` | Increase height by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --increase-width | `CommandEvent` | Increase width by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --move-down | `CommandEvent` | Move down through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --move-left | `CommandEvent` | Move left through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --move-right | `CommandEvent` | Move right through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --move-to-start | `CommandEvent` | Place at the growth-axis start, using available space before making room. Keep the bounded-axis coordinate unless placement supplies another. Uses the same operation as Home on the movement grip. |\n| --move-up | `CommandEvent` | Move up through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard. |\n| --place | `CommandEvent` | Apply the invoking control's integer grid placement without pointer target snapping. Target a panel directly or identify it with value when targeting the dashboard. Anchored span changes require resizing; other position changes require movement. |\n| --toggle-fullscreen | `CommandEvent` | Toggle native fullscreen for the invoking panel. |\n\n### Methods\n\n| method | signatures | description |\n| ------ | ---------- | ----------- |\n| isCommandAvailable | `isCommandAvailable(command: string, context?: DashboardCommandContext): boolean` | Queries arrangement and fullscreen commands using a panel ID. A placement supplies the full grid placement for --place, or the desired bounded-axis coordinate for --move-to-start. Availability compares the complete normalized proposal with the current arrangement. Directional movement derives from grid placement and panel permissions without requiring rendered controls. Native fullscreen admission remains subject to browser permission. |\n| place | `place(id: string, placement: DashboardGridPlacement): boolean` | Requests an integer placement without gesture target snapping. Anchored span changes use resizing permission, including left and top edges that change the origin; other position changes require movement. Directional collisions and optional growth-axis settling determine the final arrangement. Returns false for unavailable, invalid, or unchanged normalized placement. Successful placement emits one change. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --animation-duration | `string` | Duration of panel geometry, destination ghost geometry, and arrangement control transitions. Defaults to 150ms; reduced motion uses 0ms. Panel geometry follows external container resizing immediately; explicit arrangement and sizing changes use transitions. Animation never delays logical placement commits. [MDN](https://mdn.dev/CSS/animation-duration) |\n| --animation-easing | `string` | Easing of panel and destination ghost geometry transitions. |\n| --column-size | `string` | Single-cell outer column length in fixed sizing or horizontal flow. Defaults to 160px. |\n| --gap | `string` | Nonnegative CSS length between cells. Include units, including 0px for no gap. At zero, uniform used border widths overlap; unequal widths keep independent geometry. Shared seams assume square panels with solid opaque borders. [MDN](https://mdn.dev/CSS/gap) |\n| --guide-color | `string` | Color of the circular cell-center guides. Defaults to the muted border color. |\n| --guide-size | `string` | Nonnegative CSS length for the guide circle diameter. Defaults to 8px. Include units, including 0px to hide the circles. |\n| --height | `string` | Default viewport height. Defaults to 400px; horizontal fit needs a definite height. [MDN](https://mdn.dev/CSS/height) |\n| --row-size | `string` | Single-cell outer row length in fixed sizing or vertical flow. Defaults to 120px. |"
10092
+ },
10093
+ "commands": [
10094
+ {
10095
+ "name": "--enter-fullscreen",
10096
+ "description": "Present the invoking panel in native fullscreen."
10097
+ },
10098
+ {
10099
+ "name": "--exit-fullscreen",
10100
+ "description": "Exit native fullscreen."
10101
+ },
10102
+ {
10103
+ "name": "--toggle-fullscreen",
10104
+ "description": "Toggle native fullscreen for the invoking panel."
10105
+ },
10106
+ {
10107
+ "name": "--place",
10108
+ "description": "Apply the invoking control's integer grid placement without pointer target snapping. Target a panel directly or identify it with value when targeting the dashboard. Anchored span changes require resizing; other position changes require movement."
10109
+ },
10110
+ {
10111
+ "name": "--move-left",
10112
+ "description": "Move left through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10113
+ },
10114
+ {
10115
+ "name": "--move-right",
10116
+ "description": "Move right through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10117
+ },
10118
+ {
10119
+ "name": "--move-up",
10120
+ "description": "Move up through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10121
+ },
10122
+ {
10123
+ "name": "--move-down",
10124
+ "description": "Move down through the same contact-aware movement step as a movement-handle arrow key. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10125
+ },
10126
+ {
10127
+ "name": "--move-to-start",
10128
+ "description": "Place at the growth-axis start, using available space before making room. Keep the bounded-axis coordinate unless placement supplies another. Uses the same operation as Home on the movement grip."
10129
+ },
10130
+ {
10131
+ "name": "--increase-width",
10132
+ "description": "Increase width by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10133
+ },
10134
+ {
10135
+ "name": "--decrease-width",
10136
+ "description": "Decrease width by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10137
+ },
10138
+ {
10139
+ "name": "--increase-height",
10140
+ "description": "Increase height by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10141
+ },
10142
+ {
10143
+ "name": "--decrease-height",
10144
+ "description": "Decrease height by one cell, subject to panel constraints. Target a panel directly or identify it with value on an invoker targeting the dashboard."
10145
+ }
10146
+ ]
10147
+ },
10148
+ {
10149
+ "kind": "variable",
10150
+ "name": "items"
10151
+ }
10152
+ ],
10153
+ "exports": [
10154
+ {
10155
+ "kind": "js",
10156
+ "name": "Dashboard",
10157
+ "declaration": {
10158
+ "name": "Dashboard",
10159
+ "module": "/src/dashboard/dashboard.js"
10160
+ }
10161
+ }
10162
+ ]
10163
+ },
10164
+ {
10165
+ "kind": "javascript-module",
10166
+ "path": "/src/dashboard/dashboard.types.js",
10167
+ "declarations": [],
10168
+ "exports": []
10169
+ },
10170
+ {
10171
+ "kind": "javascript-module",
10172
+ "path": "/src/dashboard/define.js",
10173
+ "declarations": [],
10174
+ "exports": []
10175
+ },
10176
+ {
10177
+ "kind": "javascript-module",
10178
+ "path": "/src/dashboard/index.js",
10179
+ "declarations": [],
10180
+ "exports": [
10181
+ {
10182
+ "kind": "js",
10183
+ "name": "*",
10184
+ "declaration": {
10185
+ "name": "*",
10186
+ "module": "home/runner/work/elements/elements/projects/core/src/dashboard/dashboard.js"
10187
+ }
10188
+ },
10189
+ {
10190
+ "kind": "js",
10191
+ "name": "*",
10192
+ "declaration": {
10193
+ "name": "*",
10194
+ "module": "home/runner/work/elements/elements/projects/core/src/dashboard/panel/panel.js"
10195
+ }
10196
+ },
10197
+ {
10198
+ "kind": "js",
10199
+ "name": "*",
10200
+ "declaration": {
10201
+ "name": "*",
10202
+ "module": "home/runner/work/elements/elements/projects/core/src/dashboard/panel-header/panel-header.js"
10203
+ }
10204
+ },
10205
+ {
10206
+ "kind": "js",
10207
+ "name": "*",
10208
+ "declaration": {
10209
+ "name": "*",
10210
+ "module": "home/runner/work/elements/elements/projects/core/src/dashboard/panel-content/panel-content.js"
10211
+ }
10212
+ },
10213
+ {
10214
+ "kind": "js",
10215
+ "name": "*",
10216
+ "declaration": {
10217
+ "name": "*",
10218
+ "module": "home/runner/work/elements/elements/projects/core/src/dashboard/panel-footer/panel-footer.js"
10219
+ }
10220
+ },
10221
+ {
10222
+ "kind": "js",
10223
+ "name": "DashboardLayout",
10224
+ "declaration": {
10225
+ "name": "DashboardLayout",
10226
+ "module": "./dashboard.types.js"
10227
+ }
10228
+ },
10229
+ {
10230
+ "kind": "js",
10231
+ "name": "DashboardItem",
10232
+ "declaration": {
10233
+ "name": "DashboardItem",
10234
+ "module": "./dashboard.types.js"
10235
+ }
10236
+ },
10237
+ {
10238
+ "kind": "js",
10239
+ "name": "DashboardGridPlacement",
10240
+ "declaration": {
10241
+ "name": "DashboardGridPlacement",
10242
+ "module": "./dashboard.types.js"
10243
+ }
10244
+ },
10245
+ {
10246
+ "kind": "js",
10247
+ "name": "DashboardCommandContext",
10248
+ "declaration": {
10249
+ "name": "DashboardCommandContext",
10250
+ "module": "./dashboard.types.js"
10251
+ }
10252
+ }
10253
+ ]
10254
+ },
10255
+ {
10256
+ "kind": "javascript-module",
10257
+ "path": "/src/dashboard/panel-content/panel-content.js",
10258
+ "declarations": [
10259
+ {
10260
+ "kind": "class",
10261
+ "description": "Provides padding for dashboard panel content.",
10262
+ "name": "DashboardPanelContent",
10263
+ "cssProperties": [
10264
+ {
10265
+ "name": "--padding",
10266
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/padding)"
10267
+ }
10268
+ ],
10269
+ "slots": [
10270
+ {
10271
+ "description": "Application content.",
10272
+ "name": ""
10273
+ }
10274
+ ],
10275
+ "members": [],
10276
+ "superclass": {
10277
+ "name": "LitElement",
10278
+ "package": "lit"
10279
+ },
10280
+ "tagName": "nve-dashboard-panel-content",
10281
+ "customElement": true,
10282
+ "metadata": {
10283
+ "unitTests": true,
10284
+ "apiReview": true,
10285
+ "performance": true,
10286
+ "stable": false,
10287
+ "vqa": true,
10288
+ "responsive": true,
10289
+ "themes": true,
10290
+ "aria": "#",
10291
+ "entrypoint": "@nvidia-elements/core/dashboard",
10292
+ "example": "",
10293
+ "package": true,
10294
+ "documentation": "https://nvidia.github.io/elements/docs/elements/dashboard/",
10295
+ "since": "0.0.0",
10296
+ "status": "beta",
10297
+ "behavior": "content",
10298
+ "markdown": "## nve-dashboard-panel-content\n\nProvides padding for dashboard panel content.\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/dashboard/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Application content. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |"
10299
+ }
10300
+ }
10301
+ ],
10302
+ "exports": [
10303
+ {
10304
+ "kind": "js",
10305
+ "name": "DashboardPanelContent",
10306
+ "declaration": {
10307
+ "name": "DashboardPanelContent",
10308
+ "module": "/src/dashboard/panel-content/panel-content.js"
10309
+ }
10310
+ }
10311
+ ]
10312
+ },
10313
+ {
10314
+ "kind": "javascript-module",
10315
+ "path": "/src/dashboard/panel-footer/panel-footer.js",
10316
+ "declarations": [
10317
+ {
10318
+ "kind": "class",
10319
+ "description": "Provides dashboard panel status and actions outside the scrolling body.",
10320
+ "name": "DashboardPanelFooter",
10321
+ "cssProperties": [
10322
+ {
10323
+ "name": "--padding",
10324
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/padding)"
10325
+ },
10326
+ {
10327
+ "description": "Padding around application actions. Defaults to 4px.",
10328
+ "name": "--suffix-padding"
10329
+ },
10330
+ {
10331
+ "name": "--gap",
10332
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/gap)"
10333
+ }
10334
+ ],
10335
+ "slots": [
10336
+ {
10337
+ "description": "Status and supporting content in a bounded scrolling area.",
10338
+ "name": ""
10339
+ },
10340
+ {
10341
+ "description": "Application actions in a bounded scrolling area before the reserved resize control.",
10342
+ "name": "suffix"
10343
+ }
10344
+ ],
10345
+ "members": [],
10346
+ "superclass": {
10347
+ "name": "LitElement",
10348
+ "package": "lit"
10349
+ },
10350
+ "tagName": "nve-dashboard-panel-footer",
10351
+ "customElement": true,
10352
+ "metadata": {
10353
+ "unitTests": true,
10354
+ "apiReview": true,
10355
+ "performance": true,
10356
+ "stable": false,
10357
+ "vqa": true,
10358
+ "responsive": true,
10359
+ "themes": true,
10360
+ "aria": "#",
10361
+ "entrypoint": "@nvidia-elements/core/dashboard",
10362
+ "example": "",
10363
+ "package": true,
10364
+ "documentation": "https://nvidia.github.io/elements/docs/elements/dashboard/",
10365
+ "since": "0.0.0",
10366
+ "status": "beta",
10367
+ "behavior": "content",
10368
+ "markdown": "## nve-dashboard-panel-footer\n\nProvides dashboard panel status and actions outside the scrolling body.\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/dashboard/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Status and supporting content in a bounded scrolling area. |\n| suffix | `string` | Application actions in a bounded scrolling area before the reserved resize control. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --gap | `string` | [MDN](https://mdn.dev/CSS/gap) |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |\n| --suffix-padding | `string` | Padding around application actions. Defaults to 4px. |"
10369
+ }
10370
+ }
10371
+ ],
10372
+ "exports": [
10373
+ {
10374
+ "kind": "js",
10375
+ "name": "DashboardPanelFooter",
10376
+ "declaration": {
10377
+ "name": "DashboardPanelFooter",
10378
+ "module": "/src/dashboard/panel-footer/panel-footer.js"
10379
+ }
10380
+ }
10381
+ ]
10382
+ },
10383
+ {
10384
+ "kind": "javascript-module",
10385
+ "path": "/src/dashboard/panel-header/panel-header.js",
10386
+ "declarations": [
10387
+ {
10388
+ "kind": "class",
10389
+ "description": "Supplies the required dashboard panel title and application controls.",
10390
+ "name": "DashboardPanelHeader",
10391
+ "cssProperties": [
10392
+ {
10393
+ "name": "--padding",
10394
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/padding)"
10395
+ },
10396
+ {
10397
+ "description": "Padding around application actions. Defaults to 4px.",
10398
+ "name": "--suffix-padding"
10399
+ },
10400
+ {
10401
+ "name": "--gap",
10402
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/gap)"
10403
+ },
10404
+ {
10405
+ "name": "--min-height",
10406
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/min-height)"
10407
+ }
10408
+ ],
10409
+ "slots": [
10410
+ {
10411
+ "description": "Noninteractive title used as the default accessible panel name. Heading semantics remain application owned.",
10412
+ "name": ""
10413
+ },
10414
+ {
10415
+ "description": "Title decoration.",
10416
+ "name": "prefix"
10417
+ },
10418
+ {
10419
+ "description": "Application controls.",
10420
+ "name": "suffix"
10421
+ }
10422
+ ],
10423
+ "members": [],
10424
+ "superclass": {
10425
+ "name": "LitElement",
10426
+ "package": "lit"
10427
+ },
10428
+ "tagName": "nve-dashboard-panel-header",
10429
+ "customElement": true,
10430
+ "metadata": {
10431
+ "unitTests": true,
10432
+ "apiReview": true,
10433
+ "performance": true,
10434
+ "stable": false,
10435
+ "vqa": true,
10436
+ "responsive": true,
10437
+ "themes": true,
10438
+ "aria": "#",
10439
+ "entrypoint": "@nvidia-elements/core/dashboard",
10440
+ "example": "",
10441
+ "package": true,
10442
+ "documentation": "https://nvidia.github.io/elements/docs/elements/dashboard/",
10443
+ "since": "0.0.0",
10444
+ "status": "beta",
10445
+ "behavior": "content",
10446
+ "markdown": "## nve-dashboard-panel-header\n\nSupplies the required dashboard panel title and application controls.\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/dashboard/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Noninteractive title used as the default accessible panel name. Heading semantics remain application owned. |\n| prefix | `string` | Title decoration. |\n| suffix | `string` | Application controls. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --gap | `string` | [MDN](https://mdn.dev/CSS/gap) |\n| --min-height | `string` | [MDN](https://mdn.dev/CSS/min-height) |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |\n| --suffix-padding | `string` | Padding around application actions. Defaults to 4px. |"
10447
+ }
10448
+ }
10449
+ ],
10450
+ "exports": [
10451
+ {
10452
+ "kind": "js",
10453
+ "name": "DashboardPanelHeader",
10454
+ "declaration": {
10455
+ "name": "DashboardPanelHeader",
10456
+ "module": "/src/dashboard/panel-header/panel-header.js"
10457
+ }
10458
+ }
10459
+ ]
10460
+ },
10461
+ {
10462
+ "kind": "javascript-module",
10463
+ "path": "/src/dashboard/panel/panel.js",
10464
+ "declarations": [
10465
+ {
10466
+ "kind": "class",
10467
+ "description": "A stable application surface identified by a durable panel ID.",
10468
+ "name": "DashboardPanel",
10469
+ "cssProperties": [
10470
+ {
10471
+ "name": "--background",
10472
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/background)"
10473
+ },
10474
+ {
10475
+ "name": "--border",
10476
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border)"
10477
+ },
10478
+ {
10479
+ "name": "--border-radius",
10480
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius)"
10481
+ },
10482
+ {
10483
+ "description": "Width shared by the move and resize controls. Defaults to 36px. [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/width)",
10484
+ "name": "--control-width"
10485
+ },
10486
+ {
10487
+ "description": "Height shared by the move and resize controls. Defaults to 48px. [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/height)",
10488
+ "name": "--control-height"
10489
+ },
10490
+ {
10491
+ "description": "Extra pointer resize reach on each side of the panel edge. Defaults to 3px; outward reach stops halfway across the cell gap. Configure on the panel. Inward reach covers application content at the edge, including on hybrid touch devices.",
10492
+ "name": "--resize-target-size"
10493
+ },
10494
+ {
10495
+ "name": "--box-shadow",
10496
+ "description": "[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow)"
10497
+ }
10498
+ ],
10499
+ "cssParts": [
10500
+ {
10501
+ "description": "Movement control.",
10502
+ "name": "drag-handle"
10503
+ },
10504
+ {
10505
+ "description": "Resize control.",
10506
+ "name": "resize-button"
10507
+ },
10508
+ {
10509
+ "description": "Panel fullscreen control.",
10510
+ "name": "fullscreen-button"
10511
+ }
10512
+ ],
10513
+ "slots": [
10514
+ {
10515
+ "description": "Application content in the scrolling body. Content, data, and native hidden state remain application owned.",
10516
+ "name": ""
10517
+ },
10518
+ {
10519
+ "description": "Required panel header with a title and optional application controls.",
10520
+ "name": "header"
10521
+ },
10522
+ {
10523
+ "description": "Optional status and actions outside the body.",
10524
+ "name": "footer"
10525
+ }
10526
+ ],
10527
+ "members": [
10528
+ {
10529
+ "kind": "field",
10530
+ "name": "minColumnSpan",
10531
+ "type": {
10532
+ "text": "number",
10533
+ "_sourceAliases": [],
10534
+ "values": [
10535
+ {
10536
+ "value": "number",
10537
+ "description": ""
10538
+ }
10539
+ ]
10540
+ },
10541
+ "default": "1",
10542
+ "description": "Smallest width in columns.",
10543
+ "attribute": "min-column-span",
10544
+ "reflects": true
10545
+ },
10546
+ {
10547
+ "kind": "field",
10548
+ "name": "minRowSpan",
10549
+ "type": {
10550
+ "text": "number",
10551
+ "_sourceAliases": [],
10552
+ "values": [
10553
+ {
10554
+ "value": "number",
10555
+ "description": ""
10556
+ }
10557
+ ]
10558
+ },
10559
+ "default": "1",
10560
+ "description": "Smallest height in rows.",
10561
+ "attribute": "min-row-span",
10562
+ "reflects": true
10563
+ },
10564
+ {
10565
+ "kind": "field",
10566
+ "name": "maxColumnSpan",
10567
+ "type": {
10568
+ "text": "number",
10569
+ "_sourceAliases": [],
10570
+ "values": [
10571
+ {
10572
+ "value": "number",
10573
+ "description": ""
10574
+ }
10575
+ ]
10576
+ },
10577
+ "default": "1_000_000",
10578
+ "description": "Largest width in columns.",
10579
+ "attribute": "max-column-span",
10580
+ "reflects": true
10581
+ },
10582
+ {
10583
+ "kind": "field",
10584
+ "name": "maxRowSpan",
10585
+ "type": {
10586
+ "text": "number",
10587
+ "_sourceAliases": [],
10588
+ "values": [
10589
+ {
10590
+ "value": "number",
10591
+ "description": ""
10592
+ }
10593
+ ]
10594
+ },
10595
+ "default": "1_000_000",
10596
+ "description": "Largest height in rows.",
10597
+ "attribute": "max-row-span",
10598
+ "reflects": true
10599
+ },
10600
+ {
10601
+ "kind": "field",
10602
+ "name": "moveDisabled",
10603
+ "type": {
10604
+ "text": "boolean",
10605
+ "_sourceAliases": [],
10606
+ "values": [
10607
+ {
10608
+ "value": "true",
10609
+ "description": ""
10610
+ },
10611
+ {
10612
+ "value": "false",
10613
+ "description": ""
10614
+ }
10615
+ ]
10616
+ },
10617
+ "default": "false",
10618
+ "description": "Disables direct movement. Collision displacement remains available.",
10619
+ "attribute": "move-disabled",
10620
+ "reflects": true
10621
+ },
10622
+ {
10623
+ "kind": "field",
10624
+ "name": "resizeDisabled",
10625
+ "type": {
10626
+ "text": "boolean",
10627
+ "_sourceAliases": [],
10628
+ "values": [
10629
+ {
10630
+ "value": "true",
10631
+ "description": ""
10632
+ },
10633
+ {
10634
+ "value": "false",
10635
+ "description": ""
10636
+ }
10637
+ ]
10638
+ },
10639
+ "default": "false",
10640
+ "description": "Disables direct resizing.",
10641
+ "attribute": "resize-disabled",
10642
+ "reflects": true
10643
+ }
10644
+ ],
10645
+ "attributes": [
10646
+ {
10647
+ "name": "min-column-span",
10648
+ "type": {
10649
+ "text": "number",
10650
+ "_sourceAliases": [],
10651
+ "values": [
10652
+ {
10653
+ "value": "number",
10654
+ "description": ""
10655
+ }
10656
+ ]
10657
+ },
10658
+ "default": "1",
10659
+ "description": "Smallest width in columns.",
10660
+ "fieldName": "minColumnSpan"
10661
+ },
10662
+ {
10663
+ "name": "min-row-span",
10664
+ "type": {
10665
+ "text": "number",
10666
+ "_sourceAliases": [],
10667
+ "values": [
10668
+ {
10669
+ "value": "number",
10670
+ "description": ""
10671
+ }
10672
+ ]
10673
+ },
10674
+ "default": "1",
10675
+ "description": "Smallest height in rows.",
10676
+ "fieldName": "minRowSpan"
10677
+ },
10678
+ {
10679
+ "name": "max-column-span",
10680
+ "type": {
10681
+ "text": "number",
10682
+ "_sourceAliases": [],
10683
+ "values": [
10684
+ {
10685
+ "value": "number",
10686
+ "description": ""
10687
+ }
10688
+ ]
10689
+ },
10690
+ "default": "1_000_000",
10691
+ "description": "Largest width in columns.",
10692
+ "fieldName": "maxColumnSpan"
10693
+ },
10694
+ {
10695
+ "name": "max-row-span",
10696
+ "type": {
10697
+ "text": "number",
10698
+ "_sourceAliases": [],
10699
+ "values": [
10700
+ {
10701
+ "value": "number",
10702
+ "description": ""
10703
+ }
10704
+ ]
10705
+ },
10706
+ "default": "1_000_000",
10707
+ "description": "Largest height in rows.",
10708
+ "fieldName": "maxRowSpan"
10709
+ },
10710
+ {
10711
+ "name": "move-disabled",
10712
+ "type": {
10713
+ "text": "boolean",
10714
+ "_sourceAliases": [],
10715
+ "values": [
10716
+ {
10717
+ "value": "true",
10718
+ "description": ""
10719
+ },
10720
+ {
10721
+ "value": "false",
10722
+ "description": ""
10723
+ }
10724
+ ]
10725
+ },
10726
+ "default": "false",
10727
+ "description": "Disables direct movement. Collision displacement remains available.",
10728
+ "fieldName": "moveDisabled"
10729
+ },
10730
+ {
10731
+ "name": "resize-disabled",
10732
+ "type": {
10733
+ "text": "boolean",
10734
+ "_sourceAliases": [],
10735
+ "values": [
10736
+ {
10737
+ "value": "true",
10738
+ "description": ""
10739
+ },
10740
+ {
10741
+ "value": "false",
10742
+ "description": ""
10743
+ }
10744
+ ]
10745
+ },
10746
+ "default": "false",
10747
+ "description": "Disables direct resizing.",
10748
+ "fieldName": "resizeDisabled"
10749
+ }
10750
+ ],
10751
+ "superclass": {
10752
+ "name": "LitElement",
10753
+ "package": "lit"
10754
+ },
10755
+ "tagName": "nve-dashboard-panel",
10756
+ "customElement": true,
10757
+ "metadata": {
10758
+ "unitTests": true,
10759
+ "apiReview": true,
10760
+ "performance": true,
10761
+ "stable": false,
10762
+ "vqa": true,
10763
+ "responsive": true,
10764
+ "themes": true,
10765
+ "aria": "#",
10766
+ "entrypoint": "@nvidia-elements/core/dashboard",
10767
+ "example": "",
10768
+ "package": true,
10769
+ "documentation": "https://nvidia.github.io/elements/docs/elements/dashboard/",
10770
+ "since": "0.0.0",
10771
+ "status": "beta",
10772
+ "behavior": "content",
10773
+ "markdown": "## nve-dashboard-panel\n\nA stable application surface identified by a durable panel ID.\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/dashboard/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Application content in the scrolling body. Content, data, and native hidden state remain application owned. |\n| footer | `string` | Optional status and actions outside the body. |\n| header | `string` | Required panel header with a title and optional application controls. |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| maxColumnSpan (max-column-span) | `number` | Largest width in columns. |\n| maxRowSpan (max-row-span) | `number` | Largest height in rows. |\n| minColumnSpan (min-column-span) | `number` | Smallest width in columns. |\n| minRowSpan (min-row-span) | `number` | Smallest height in rows. |\n| moveDisabled (move-disabled) | `boolean` | Disables direct movement. Collision displacement remains available. |\n| resizeDisabled (resize-disabled) | `boolean` | Disables direct resizing. |\n\n### Invoker Commands\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --decrease-height | `CommandEvent` | Decrease height by one cell, subject to panel constraints and the containing dashboard capabilities. |\n| --decrease-width | `CommandEvent` | Decrease width by one cell, subject to panel constraints and the containing dashboard capabilities. |\n| --enter-fullscreen | `CommandEvent` | Present this panel in native fullscreen. |\n| --exit-fullscreen | `CommandEvent` | Exit native fullscreen. |\n| --increase-height | `CommandEvent` | Increase height by one cell, subject to panel constraints and the containing dashboard capabilities. |\n| --increase-width | `CommandEvent` | Increase width by one cell, subject to panel constraints and the containing dashboard capabilities. |\n| --move-down | `CommandEvent` | Move down through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy. |\n| --move-left | `CommandEvent` | Move left through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy. |\n| --move-right | `CommandEvent` | Move right through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy. |\n| --move-to-start | `CommandEvent` | Place at the growth-axis start, using available space before making room. Keep the bounded-axis coordinate unless placement supplies another. Uses the same operation as Home on the movement grip. |\n| --move-up | `CommandEvent` | Move up through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy. |\n| --place | `CommandEvent` | Apply the invoking control's integer grid placement without pointer target snapping. Anchored span changes require resizing; other position changes require movement. |\n| --toggle-fullscreen | `CommandEvent` | Toggle native fullscreen for this panel. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --background | `string` | [MDN](https://mdn.dev/CSS/background) |\n| --border | `string` | [MDN](https://mdn.dev/CSS/border) |\n| --border-radius | `string` | [MDN](https://mdn.dev/CSS/border-radius) |\n| --box-shadow | `string` | [MDN](https://mdn.dev/CSS/box-shadow) |\n| --control-height | `string` | Height shared by the move and resize controls. Defaults to 48px. [MDN](https://mdn.dev/CSS/height) |\n| --control-width | `string` | Width shared by the move and resize controls. Defaults to 36px. [MDN](https://mdn.dev/CSS/width) |\n| --resize-target-size | `string` | Extra pointer resize reach on each side of the panel edge. Defaults to 3px; outward reach stops halfway across the cell gap. Configure on the panel. Inward reach covers application content at the edge, including on hybrid touch devices. |"
10774
+ },
10775
+ "commands": [
10776
+ {
10777
+ "name": "--enter-fullscreen",
10778
+ "description": "Present this panel in native fullscreen."
10779
+ },
10780
+ {
10781
+ "name": "--exit-fullscreen",
10782
+ "description": "Exit native fullscreen."
10783
+ },
10784
+ {
10785
+ "name": "--toggle-fullscreen",
10786
+ "description": "Toggle native fullscreen for this panel."
10787
+ },
10788
+ {
10789
+ "name": "--place",
10790
+ "description": "Apply the invoking control's integer grid placement without pointer target snapping. Anchored span changes require resizing; other position changes require movement."
10791
+ },
10792
+ {
10793
+ "name": "--move-left",
10794
+ "description": "Move left through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy."
10795
+ },
10796
+ {
10797
+ "name": "--move-right",
10798
+ "description": "Move right through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy."
10799
+ },
10800
+ {
10801
+ "name": "--move-up",
10802
+ "description": "Move up through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy."
10803
+ },
10804
+ {
10805
+ "name": "--move-down",
10806
+ "description": "Move down through the same contact-aware movement step as a movement-handle arrow key. The containing dashboard applies its capabilities and layout policy."
10807
+ },
10808
+ {
10809
+ "name": "--move-to-start",
10810
+ "description": "Place at the growth-axis start, using available space before making room. Keep the bounded-axis coordinate unless placement supplies another. Uses the same operation as Home on the movement grip."
10811
+ },
10812
+ {
10813
+ "name": "--increase-width",
10814
+ "description": "Increase width by one cell, subject to panel constraints and the containing dashboard capabilities."
10815
+ },
10816
+ {
10817
+ "name": "--decrease-width",
10818
+ "description": "Decrease width by one cell, subject to panel constraints and the containing dashboard capabilities."
10819
+ },
10820
+ {
10821
+ "name": "--increase-height",
10822
+ "description": "Increase height by one cell, subject to panel constraints and the containing dashboard capabilities."
10823
+ },
10824
+ {
10825
+ "name": "--decrease-height",
10826
+ "description": "Decrease height by one cell, subject to panel constraints and the containing dashboard capabilities."
10827
+ }
10828
+ ]
10829
+ }
10830
+ ],
10831
+ "exports": [
10832
+ {
10833
+ "kind": "js",
10834
+ "name": "DashboardPanel",
10835
+ "declaration": {
10836
+ "name": "DashboardPanel",
10837
+ "module": "/src/dashboard/panel/panel.js"
10838
+ }
10839
+ }
10840
+ ]
10841
+ },
10842
+ {
10843
+ "kind": "javascript-module",
10844
+ "path": "/src/dashboard/utils/action.utils.js",
10845
+ "declarations": [
10846
+ {
10847
+ "kind": "function",
10848
+ "name": "planDashboardAction",
10849
+ "return": {
10850
+ "type": {
10851
+ "text": "DashboardLayout | undefined"
10852
+ }
10853
+ },
10854
+ "parameters": [
10855
+ {
10856
+ "name": "input",
10857
+ "type": {
10858
+ "text": "DashboardActionInput",
10859
+ "_sourceAliases": []
10860
+ }
10861
+ }
10862
+ ],
10863
+ "description": "Applies movement and resize permissions before planning a layout proposal."
10864
+ }
10865
+ ],
10866
+ "exports": [
10867
+ {
10868
+ "kind": "js",
10869
+ "name": "planDashboardAction",
10870
+ "declaration": {
10871
+ "name": "planDashboardAction",
10872
+ "module": "/src/dashboard/utils/action.utils.js"
10873
+ }
10874
+ }
10875
+ ]
10876
+ },
10877
+ {
10878
+ "kind": "javascript-module",
10879
+ "path": "/src/dashboard/utils/geometry.utils.js",
10880
+ "declarations": [
10881
+ {
10882
+ "kind": "function",
10883
+ "name": "transposeDashboardGridGeometry",
10884
+ "return": {
10885
+ "type": {
10886
+ "text": "DashboardGridGeometry"
10887
+ }
10888
+ },
10889
+ "parameters": [
10890
+ {
10891
+ "name": "geometry",
10892
+ "type": {
10893
+ "text": "DashboardGridGeometry",
10894
+ "_sourceAliases": []
10895
+ }
10896
+ }
10897
+ ]
10898
+ },
10899
+ {
10900
+ "kind": "function",
10901
+ "name": "doDashboardGridGeometriesOverlap",
10902
+ "return": {
10903
+ "type": {
10904
+ "text": "boolean"
10905
+ }
10906
+ },
10907
+ "parameters": [
10908
+ {
10909
+ "name": "left",
10910
+ "type": {
10911
+ "text": "DashboardGridGeometry",
10912
+ "_sourceAliases": []
10913
+ }
10914
+ },
10915
+ {
10916
+ "name": "right",
10917
+ "type": {
10918
+ "text": "DashboardGridGeometry",
10919
+ "_sourceAliases": []
10920
+ }
10921
+ }
10922
+ ]
10923
+ },
10924
+ {
10925
+ "kind": "function",
10926
+ "name": "resolveDashboardMetrics",
10927
+ "return": {
10928
+ "type": {
10929
+ "text": "DashboardMetrics | undefined"
10930
+ }
10931
+ },
10932
+ "parameters": [
10933
+ {
10934
+ "name": "input",
10935
+ "type": {
10936
+ "text": "DashboardMetricInput",
10937
+ "_sourceAliases": []
10938
+ }
10939
+ }
10940
+ ]
10941
+ },
10942
+ {
10943
+ "kind": "function",
10944
+ "name": "getDashboardPixelPlacement",
10945
+ "return": {
10946
+ "type": {
10947
+ "text": "DashboardPixelPlacement"
10948
+ }
10949
+ },
10950
+ "parameters": [
10951
+ {
10952
+ "name": "geometry",
10953
+ "type": {
10954
+ "text": "DashboardGridGeometry",
10955
+ "_sourceAliases": []
10956
+ }
10957
+ },
10958
+ {
10959
+ "name": "metrics",
10960
+ "type": {
10961
+ "text": "DashboardMetrics",
10962
+ "_sourceAliases": []
10963
+ }
10964
+ }
10965
+ ]
10966
+ },
10967
+ {
10968
+ "kind": "function",
10969
+ "name": "getDashboardPlacementClientRect",
10970
+ "return": {
10971
+ "type": {
10972
+ "text": "Rect"
10973
+ }
10974
+ },
10975
+ "parameters": [
10976
+ {
10977
+ "name": "placement",
10978
+ "type": {
10979
+ "text": "DashboardPixelPlacement",
10980
+ "_sourceAliases": []
10981
+ }
10982
+ },
10983
+ {
10984
+ "name": "canvasClientRect",
10985
+ "type": {
10986
+ "text": "Rect",
10987
+ "_sourceAliases": []
10988
+ }
10989
+ },
10990
+ {
10991
+ "name": "readingDirection",
10992
+ "type": {
10993
+ "text": "'ltr' | 'rtl'",
10994
+ "_sourceAliases": [
10995
+ "DashboardReadingDirection"
10996
+ ]
10997
+ }
10998
+ }
10999
+ ],
11000
+ "description": "Projects logical canvas placement into physical client coordinates."
11001
+ },
11002
+ {
11003
+ "kind": "function",
11004
+ "name": "getProjectedControlRect",
11005
+ "return": {
11006
+ "type": {
11007
+ "text": "Rect"
11008
+ }
11009
+ },
11010
+ "parameters": [
11011
+ {
11012
+ "name": "input",
11013
+ "type": {
11014
+ "text": "{ control: Rect; current: Rect; target: Rect }",
11015
+ "_sourceAliases": []
11016
+ }
11017
+ },
11018
+ {
11019
+ "name": "anchoredEdges",
11020
+ "type": {
11021
+ "text": "{ right: boolean; bottom: boolean }",
11022
+ "_sourceAliases": []
11023
+ }
11024
+ }
11025
+ ]
11026
+ },
11027
+ {
11028
+ "kind": "function",
11029
+ "name": "getRevealScrollDelta",
11030
+ "return": {
11031
+ "type": {
11032
+ "text": "{ x: number; y: number }"
11033
+ }
11034
+ },
11035
+ "parameters": [
11036
+ {
11037
+ "name": "rect",
11038
+ "type": {
11039
+ "text": "Rect",
11040
+ "_sourceAliases": []
11041
+ }
11042
+ },
11043
+ {
11044
+ "name": "viewport",
11045
+ "type": {
11046
+ "text": "Rect",
11047
+ "_sourceAliases": []
11048
+ }
11049
+ }
11050
+ ]
11051
+ },
11052
+ {
11053
+ "kind": "function",
11054
+ "name": "getDashboardCanvasSize",
11055
+ "return": {
11056
+ "type": {
11057
+ "text": "{ width: number; height: number }"
11058
+ }
11059
+ },
11060
+ "parameters": [
11061
+ {
11062
+ "name": "input",
11063
+ "type": {
11064
+ "text": "{\n layout: DashboardLayout;\n metrics: DashboardMetrics;\n sizing: 'fit' | 'fixed';\n items: readonly DashboardGridPlacement[];\n floor?: { width: number; height: number };\n}",
11065
+ "_sourceAliases": []
11066
+ }
11067
+ }
11068
+ ]
11069
+ },
11070
+ {
11071
+ "kind": "function",
11072
+ "name": "getDashboardResizeCorner",
11073
+ "return": {
11074
+ "type": {
11075
+ "text": "'bottom-left' | 'bottom-right'"
11076
+ }
11077
+ },
11078
+ "parameters": [
11079
+ {
11080
+ "name": "panel",
11081
+ "type": {
11082
+ "text": "Element",
11083
+ "_sourceAliases": []
11084
+ }
11085
+ }
11086
+ ],
11087
+ "description": "Physical corner occupied by the panel's resize control."
11088
+ },
11089
+ {
11090
+ "kind": "function",
11091
+ "name": "getDashboardResizeBoundaries",
11092
+ "return": {
11093
+ "type": {
11094
+ "text": "ResizeBoundaries"
11095
+ }
11096
+ },
11097
+ "parameters": [
11098
+ {
11099
+ "name": "edge",
11100
+ "type": {
11101
+ "text": "'left' | 'right' | 'top' | 'bottom' | 'bottom-right' | 'bottom-left'",
11102
+ "_sourceAliases": [
11103
+ "DashboardResizeEdge"
11104
+ ]
11105
+ }
11106
+ },
11107
+ {
11108
+ "name": "readingDirection",
11109
+ "type": {
11110
+ "text": "'ltr' | 'rtl'",
11111
+ "_sourceAliases": [
11112
+ "DashboardReadingDirection"
11113
+ ]
11114
+ }
11115
+ }
11116
+ ],
11117
+ "description": "Resolves physical edges against the grid's logical column direction."
11118
+ },
11119
+ {
11120
+ "kind": "function",
11121
+ "name": "getAnchoredResizeGeometry",
11122
+ "return": {
11123
+ "type": {
11124
+ "text": "{ geometry: DashboardGridPlacement; canvasPlacement: DashboardPixelPlacement }"
11125
+ }
11126
+ },
11127
+ "parameters": [
11128
+ {
11129
+ "name": "input",
11130
+ "type": {
11131
+ "text": "AnchoredResizeInput",
11132
+ "_sourceAliases": []
11133
+ }
11134
+ },
11135
+ {
11136
+ "name": "metrics",
11137
+ "type": {
11138
+ "text": "DashboardMetrics",
11139
+ "_sourceAliases": []
11140
+ }
11141
+ }
11142
+ ],
11143
+ "description": "Keeps the opposite grid boundary fixed while resizing a physical edge."
11144
+ },
11145
+ {
11146
+ "kind": "function",
11147
+ "name": "preservesDashboardResizeAnchors",
11148
+ "return": {
11149
+ "type": {
11150
+ "text": "boolean"
11151
+ }
11152
+ },
11153
+ "parameters": [
11154
+ {
11155
+ "name": "source",
11156
+ "type": {
11157
+ "text": "DashboardGridPlacement",
11158
+ "_sourceAliases": []
11159
+ }
11160
+ },
11161
+ {
11162
+ "name": "geometry",
11163
+ "type": {
11164
+ "text": "DashboardGridPlacement",
11165
+ "_sourceAliases": []
11166
+ }
11167
+ },
11168
+ {
11169
+ "name": "options",
11170
+ "type": {
11171
+ "text": "{ edge: DashboardResizeEdge; readingDirection: DashboardReadingDirection }",
11172
+ "_sourceAliases": []
11173
+ }
11174
+ }
11175
+ ],
11176
+ "description": "Validates resize semantics independently of ordinary movement permissions."
11177
+ },
11178
+ {
11179
+ "kind": "function",
11180
+ "name": "isDashboardResizeEdge",
11181
+ "return": {
11182
+ "type": {
11183
+ "text": "value is DashboardResizeEdge"
11184
+ }
11185
+ },
11186
+ "parameters": [
11187
+ {
11188
+ "name": "value",
11189
+ "type": {
11190
+ "text": "string | undefined",
11191
+ "_sourceAliases": []
11192
+ }
11193
+ }
11194
+ ]
11195
+ },
11196
+ {
11197
+ "kind": "function",
11198
+ "name": "getDashboardClientRect",
11199
+ "return": {
11200
+ "type": {
11201
+ "text": "Rect"
11202
+ }
11203
+ },
11204
+ "parameters": [
11205
+ {
11206
+ "name": "element",
11207
+ "type": {
11208
+ "text": "HTMLElement",
11209
+ "_sourceAliases": []
11210
+ }
11211
+ }
11212
+ ]
11213
+ },
11214
+ {
11215
+ "kind": "function",
11216
+ "name": "haveSameGridPitch",
11217
+ "return": {
11218
+ "type": {
11219
+ "text": "boolean"
11220
+ }
11221
+ },
11222
+ "parameters": [
11223
+ {
11224
+ "name": "left",
11225
+ "type": {
11226
+ "text": "DashboardMetrics | undefined",
11227
+ "_sourceAliases": []
11228
+ }
11229
+ },
11230
+ {
11231
+ "name": "right",
11232
+ "type": {
11233
+ "text": "DashboardMetrics | undefined",
11234
+ "_sourceAliases": []
11235
+ }
11236
+ }
11237
+ ]
11238
+ }
11239
+ ],
11240
+ "exports": [
11241
+ {
11242
+ "kind": "js",
11243
+ "name": "transposeDashboardGridGeometry",
11244
+ "declaration": {
11245
+ "name": "transposeDashboardGridGeometry",
11246
+ "module": "/src/dashboard/utils/geometry.utils.js"
11247
+ }
11248
+ },
11249
+ {
11250
+ "kind": "js",
11251
+ "name": "doDashboardGridGeometriesOverlap",
11252
+ "declaration": {
11253
+ "name": "doDashboardGridGeometriesOverlap",
11254
+ "module": "/src/dashboard/utils/geometry.utils.js"
11255
+ }
11256
+ },
11257
+ {
11258
+ "kind": "js",
11259
+ "name": "resolveDashboardMetrics",
11260
+ "declaration": {
11261
+ "name": "resolveDashboardMetrics",
11262
+ "module": "/src/dashboard/utils/geometry.utils.js"
11263
+ }
11264
+ },
11265
+ {
11266
+ "kind": "js",
11267
+ "name": "getDashboardPixelPlacement",
11268
+ "declaration": {
11269
+ "name": "getDashboardPixelPlacement",
11270
+ "module": "/src/dashboard/utils/geometry.utils.js"
11271
+ }
11272
+ },
11273
+ {
11274
+ "kind": "js",
11275
+ "name": "getDashboardPlacementClientRect",
11276
+ "declaration": {
11277
+ "name": "getDashboardPlacementClientRect",
11278
+ "module": "/src/dashboard/utils/geometry.utils.js"
11279
+ }
11280
+ },
11281
+ {
11282
+ "kind": "js",
11283
+ "name": "getProjectedControlRect",
11284
+ "declaration": {
11285
+ "name": "getProjectedControlRect",
11286
+ "module": "/src/dashboard/utils/geometry.utils.js"
11287
+ }
11288
+ },
11289
+ {
11290
+ "kind": "js",
11291
+ "name": "getRevealScrollDelta",
11292
+ "declaration": {
11293
+ "name": "getRevealScrollDelta",
11294
+ "module": "/src/dashboard/utils/geometry.utils.js"
11295
+ }
11296
+ },
11297
+ {
11298
+ "kind": "js",
11299
+ "name": "getDashboardCanvasSize",
11300
+ "declaration": {
11301
+ "name": "getDashboardCanvasSize",
11302
+ "module": "/src/dashboard/utils/geometry.utils.js"
11303
+ }
11304
+ },
11305
+ {
11306
+ "kind": "js",
11307
+ "name": "getDashboardResizeCorner",
11308
+ "declaration": {
11309
+ "name": "getDashboardResizeCorner",
11310
+ "module": "/src/dashboard/utils/geometry.utils.js"
11311
+ }
11312
+ },
11313
+ {
11314
+ "kind": "js",
11315
+ "name": "getDashboardResizeBoundaries",
11316
+ "declaration": {
11317
+ "name": "getDashboardResizeBoundaries",
11318
+ "module": "/src/dashboard/utils/geometry.utils.js"
11319
+ }
11320
+ },
11321
+ {
11322
+ "kind": "js",
11323
+ "name": "getAnchoredResizeGeometry",
11324
+ "declaration": {
11325
+ "name": "getAnchoredResizeGeometry",
11326
+ "module": "/src/dashboard/utils/geometry.utils.js"
11327
+ }
11328
+ },
11329
+ {
11330
+ "kind": "js",
11331
+ "name": "preservesDashboardResizeAnchors",
11332
+ "declaration": {
11333
+ "name": "preservesDashboardResizeAnchors",
11334
+ "module": "/src/dashboard/utils/geometry.utils.js"
11335
+ }
11336
+ },
11337
+ {
11338
+ "kind": "js",
11339
+ "name": "isDashboardResizeEdge",
11340
+ "declaration": {
11341
+ "name": "isDashboardResizeEdge",
11342
+ "module": "/src/dashboard/utils/geometry.utils.js"
11343
+ }
11344
+ },
11345
+ {
11346
+ "kind": "js",
11347
+ "name": "getDashboardClientRect",
11348
+ "declaration": {
11349
+ "name": "getDashboardClientRect",
11350
+ "module": "/src/dashboard/utils/geometry.utils.js"
11351
+ }
11352
+ },
11353
+ {
11354
+ "kind": "js",
11355
+ "name": "haveSameGridPitch",
11356
+ "declaration": {
11357
+ "name": "haveSameGridPitch",
11358
+ "module": "/src/dashboard/utils/geometry.utils.js"
11359
+ }
11360
+ }
11361
+ ]
11362
+ },
11363
+ {
11364
+ "kind": "javascript-module",
11365
+ "path": "/src/dashboard/utils/intent.types.js",
11366
+ "declarations": [],
11367
+ "exports": []
11368
+ },
11369
+ {
11370
+ "kind": "javascript-module",
11371
+ "path": "/src/dashboard/utils/layout.utils.js",
11372
+ "declarations": [
11373
+ {
11374
+ "kind": "function",
11375
+ "name": "isDashboardGridPlacement",
11376
+ "return": {
11377
+ "type": {
11378
+ "text": "value is DashboardGridPlacement"
11379
+ }
11380
+ },
11381
+ "parameters": [
11382
+ {
11383
+ "name": "value",
11384
+ "type": {
11385
+ "text": "unknown",
11386
+ "_sourceAliases": []
11387
+ }
11388
+ }
11389
+ ]
11390
+ },
11391
+ {
11392
+ "kind": "function",
11393
+ "name": "parseDashboardValue",
11394
+ "return": {
11395
+ "type": {
11396
+ "text": "DashboardLayout | undefined"
11397
+ }
11398
+ },
11399
+ "parameters": [
11400
+ {
11401
+ "name": "value",
11402
+ "type": {
11403
+ "text": "string",
11404
+ "_sourceAliases": []
11405
+ }
11406
+ }
11407
+ ]
11408
+ },
11409
+ {
11410
+ "kind": "function",
11411
+ "name": "serializeDashboardValue",
11412
+ "return": {
11413
+ "type": {
11414
+ "text": "string"
11415
+ }
11416
+ },
11417
+ "parameters": [
11418
+ {
11419
+ "name": "layout",
11420
+ "type": {
11421
+ "text": "DashboardLayout | undefined",
11422
+ "_sourceAliases": []
11423
+ }
11424
+ }
11425
+ ]
11426
+ },
11427
+ {
11428
+ "kind": "function",
11429
+ "name": "createDefaultDashboardLayout",
11430
+ "return": {
11431
+ "type": {
11432
+ "text": "DashboardLayout"
11433
+ }
11434
+ }
11435
+ },
11436
+ {
11437
+ "kind": "function",
11438
+ "name": "reconcileDashboard",
11439
+ "return": {
11440
+ "type": {
11441
+ "text": "DashboardLayout | undefined"
11442
+ }
11443
+ },
11444
+ "parameters": [
11445
+ {
11446
+ "name": "layout",
11447
+ "type": {
11448
+ "text": "DashboardLayout",
11449
+ "_sourceAliases": []
11450
+ }
11451
+ },
11452
+ {
11453
+ "name": "panels",
11454
+ "type": {
11455
+ "text": "readonly DashboardSpanConstraints[]",
11456
+ "_sourceAliases": []
11457
+ }
11458
+ },
11459
+ {
11460
+ "name": "options",
11461
+ "default": "{}",
11462
+ "type": {
11463
+ "text": "{ priority?: ReadonlySet<string>; autoSettle?: boolean; hidden?: ReadonlySet<string> }",
11464
+ "_sourceAliases": []
11465
+ }
11466
+ }
11467
+ ],
11468
+ "description": "Reconciles current members; hidden members keep placement without occupying cells."
11469
+ },
11470
+ {
11471
+ "kind": "variable",
11472
+ "name": "columnSpan"
11473
+ },
11474
+ {
11475
+ "kind": "variable",
11476
+ "name": "rowSpan"
11477
+ },
11478
+ {
11479
+ "kind": "function",
11480
+ "name": "findFirstDashboardFit",
11481
+ "return": {
11482
+ "type": {
11483
+ "text": "DashboardItem | undefined"
11484
+ }
11485
+ },
11486
+ "parameters": [
11487
+ {
11488
+ "name": "item",
11489
+ "type": {
11490
+ "text": "DashboardItem",
11491
+ "_sourceAliases": []
11492
+ }
11493
+ },
11494
+ {
11495
+ "name": "occupied",
11496
+ "type": {
11497
+ "text": "readonly DashboardItem[]",
11498
+ "_sourceAliases": []
11499
+ }
11500
+ },
11501
+ {
11502
+ "name": "grid",
11503
+ "type": {
11504
+ "text": "DashboardLayout['grid']",
11505
+ "_sourceAliases": []
11506
+ }
11507
+ }
11508
+ ],
11509
+ "description": "Searches occupied boundaries, so sparse coordinate distances do not increase work."
11510
+ },
11511
+ {
11512
+ "kind": "function",
11513
+ "name": "placeDashboard",
11514
+ "return": {
11515
+ "type": {
11516
+ "text": "DashboardLayout | undefined"
11517
+ }
11518
+ },
11519
+ "parameters": [
11520
+ {
11521
+ "name": "layout",
11522
+ "type": {
11523
+ "text": "DashboardLayout",
11524
+ "_sourceAliases": []
11525
+ }
11526
+ },
11527
+ {
11528
+ "name": "panels",
11529
+ "type": {
11530
+ "text": "readonly DashboardSpanConstraints[]",
11531
+ "_sourceAliases": []
11532
+ }
11533
+ },
11534
+ {
11535
+ "name": "request",
11536
+ "type": {
11537
+ "text": "{\n readonly id: string;\n readonly intent: DashboardIntent;\n readonly autoSettle?: boolean;\n }",
11538
+ "_sourceAliases": []
11539
+ }
11540
+ }
11541
+ ],
11542
+ "description": "Resolves directional placement collisions and optionally settles supplied panels toward the growth-axis origin."
11543
+ }
11544
+ ],
11545
+ "exports": [
11546
+ {
11547
+ "kind": "js",
11548
+ "name": "isDashboardGridPlacement",
11549
+ "declaration": {
11550
+ "name": "isDashboardGridPlacement",
11551
+ "module": "/src/dashboard/utils/layout.utils.js"
11552
+ }
11553
+ },
11554
+ {
11555
+ "kind": "js",
11556
+ "name": "parseDashboardValue",
11557
+ "declaration": {
11558
+ "name": "parseDashboardValue",
11559
+ "module": "/src/dashboard/utils/layout.utils.js"
11560
+ }
11561
+ },
11562
+ {
11563
+ "kind": "js",
11564
+ "name": "serializeDashboardValue",
11565
+ "declaration": {
11566
+ "name": "serializeDashboardValue",
11567
+ "module": "/src/dashboard/utils/layout.utils.js"
11568
+ }
11569
+ },
11570
+ {
11571
+ "kind": "js",
11572
+ "name": "createDefaultDashboardLayout",
11573
+ "declaration": {
11574
+ "name": "createDefaultDashboardLayout",
11575
+ "module": "/src/dashboard/utils/layout.utils.js"
11576
+ }
11577
+ },
11578
+ {
11579
+ "kind": "js",
11580
+ "name": "reconcileDashboard",
11581
+ "declaration": {
11582
+ "name": "reconcileDashboard",
11583
+ "module": "/src/dashboard/utils/layout.utils.js"
11584
+ }
11585
+ },
11586
+ {
11587
+ "kind": "js",
11588
+ "name": "findFirstDashboardFit",
11589
+ "declaration": {
11590
+ "name": "findFirstDashboardFit",
11591
+ "module": "/src/dashboard/utils/layout.utils.js"
11592
+ }
11593
+ },
11594
+ {
11595
+ "kind": "js",
11596
+ "name": "placeDashboard",
11597
+ "declaration": {
11598
+ "name": "placeDashboard",
11599
+ "module": "/src/dashboard/utils/layout.utils.js"
11600
+ }
11601
+ }
11602
+ ]
11603
+ },
11604
+ {
11605
+ "kind": "javascript-module",
11606
+ "path": "/src/dashboard/utils/movement.utils.js",
11607
+ "declarations": [
11608
+ {
11609
+ "kind": "function",
11610
+ "name": "resolveDashboardTarget",
11611
+ "return": {
11612
+ "type": {
11613
+ "text": "DashboardGridPlacement | undefined"
11614
+ }
11615
+ },
11616
+ "parameters": [
11617
+ {
11618
+ "name": "layout",
11619
+ "type": {
11620
+ "text": "DashboardLayout",
11621
+ "_sourceAliases": []
11622
+ }
11623
+ },
11624
+ {
11625
+ "name": "request",
11626
+ "type": {
11627
+ "text": "DashboardMovementRequest",
11628
+ "_sourceAliases": []
11629
+ }
11630
+ }
11631
+ ],
11632
+ "description": "Snaps the carried rectangle to bounded grid coordinates; layout planning resolves its destination."
11633
+ }
11634
+ ],
11635
+ "exports": [
11636
+ {
11637
+ "kind": "js",
11638
+ "name": "resolveDashboardTarget",
11639
+ "declaration": {
11640
+ "name": "resolveDashboardTarget",
11641
+ "module": "/src/dashboard/utils/movement.utils.js"
11642
+ }
11643
+ }
11644
+ ]
11645
+ },
11646
+ {
11647
+ "kind": "javascript-module",
11648
+ "path": "/src/dashboard/utils/mutation.utils.js",
11649
+ "declarations": [
11650
+ {
11651
+ "kind": "function",
11652
+ "name": "isDashboardCatalogueMutation",
11653
+ "parameters": [
11654
+ {
11655
+ "name": "host",
7773
11656
  "type": {
7774
- "text": "boolean",
7775
- "_sourceAliases": [],
7776
- "values": [
7777
- {
7778
- "value": "true",
7779
- "description": "The element has a disabled state and does not accept interaction."
7780
- },
7781
- {
7782
- "value": "false",
7783
- "description": "The element has an enabled state and accepts interaction."
7784
- }
7785
- ]
7786
- },
7787
- "description": "This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled)\n- `true` The element has a disabled state and does not accept interaction.\n\n- `false` The element has an enabled state and accepts interaction.",
7788
- "inheritedFrom": {
7789
- "name": "ButtonFormControlMixin"
7790
- },
7791
- "descriptionText": "This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled)"
11657
+ "text": "HTMLElement",
11658
+ "_sourceAliases": []
11659
+ }
7792
11660
  },
7793
11661
  {
7794
- "name": "selected",
7795
- "fieldName": "selected",
11662
+ "name": "record",
7796
11663
  "type": {
7797
- "text": "boolean",
7798
- "_sourceAliases": [],
7799
- "values": [
7800
- {
7801
- "value": "true",
7802
- "description": "The element holds selection and represents the user's current choice within the group."
7803
- },
7804
- {
7805
- "value": "false",
7806
- "description": "The element does not hold selection and the user can choose it."
7807
- }
7808
- ]
7809
- },
7810
- "description": "Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n- `true` The element holds selection and represents the user's current choice within the group.\n\n- `false` The element does not hold selection and the user can choose it.",
7811
- "inheritedFrom": {
7812
- "name": "ButtonFormControlMixin"
7813
- },
7814
- "descriptionText": "Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)"
7815
- },
11664
+ "text": "MutationRecord",
11665
+ "_sourceAliases": []
11666
+ }
11667
+ }
11668
+ ]
11669
+ },
11670
+ {
11671
+ "kind": "function",
11672
+ "name": "isDashboardTitleMutation",
11673
+ "parameters": [
7816
11674
  {
7817
- "name": "current",
7818
- "fieldName": "current",
11675
+ "name": "host",
7819
11676
  "type": {
7820
- "text": "'page' | 'step'",
7821
- "_sourceAliases": [],
7822
- "values": [
7823
- {
7824
- "value": "page",
7825
- "description": "Marks the current page within a set of navigation links."
7826
- },
7827
- {
7828
- "value": "step",
7829
- "description": "Marks the current step within a multi-step process or workflow."
7830
- }
7831
- ]
7832
- },
7833
- "description": "Indicates the element that represents the user's current location or position within a set. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n- `page` Marks the current page within a set of navigation links.\n\n- `step` Marks the current step within a multi-step process or workflow.",
7834
- "inheritedFrom": {
7835
- "name": "ButtonFormControlMixin"
7836
- },
7837
- "descriptionText": "Indicates the element that represents the user's current location or position within a set. [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)"
11677
+ "text": "HTMLElement",
11678
+ "_sourceAliases": []
11679
+ }
7838
11680
  },
7839
11681
  {
7840
- "name": "popovertarget",
7841
- "fieldName": "popoverTargetElement",
11682
+ "name": "record",
7842
11683
  "type": {
7843
- "text": "string",
7844
- "_sourceAliases": [],
7845
- "values": [
7846
- {
7847
- "value": "string",
7848
- "description": ""
7849
- }
7850
- ]
7851
- },
7852
- "description": "Establishes a relationship between a popover and its invoker button.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetElement",
7853
- "inheritedFrom": {
7854
- "name": "ButtonFormControlMixin"
11684
+ "text": "MutationRecord",
11685
+ "_sourceAliases": []
7855
11686
  }
7856
- },
11687
+ }
11688
+ ]
11689
+ }
11690
+ ],
11691
+ "exports": [
11692
+ {
11693
+ "kind": "js",
11694
+ "name": "isDashboardCatalogueMutation",
11695
+ "declaration": {
11696
+ "name": "isDashboardCatalogueMutation",
11697
+ "module": "/src/dashboard/utils/mutation.utils.js"
11698
+ }
11699
+ },
11700
+ {
11701
+ "kind": "js",
11702
+ "name": "isDashboardTitleMutation",
11703
+ "declaration": {
11704
+ "name": "isDashboardTitleMutation",
11705
+ "module": "/src/dashboard/utils/mutation.utils.js"
11706
+ }
11707
+ }
11708
+ ]
11709
+ },
11710
+ {
11711
+ "kind": "javascript-module",
11712
+ "path": "/src/dashboard/utils/packing.utils.js",
11713
+ "declarations": [
11714
+ {
11715
+ "kind": "function",
11716
+ "name": "settleDashboardItems",
11717
+ "return": {
11718
+ "type": {
11719
+ "text": "DashboardItem[] | undefined"
11720
+ }
11721
+ },
11722
+ "parameters": [
7857
11723
  {
7858
- "name": "popovertargetaction",
7859
- "fieldName": "popoverTargetAction",
11724
+ "name": "items",
7860
11725
  "type": {
7861
- "text": "'show' | 'hide' | 'toggle'",
7862
- "_sourceAliases": [],
7863
- "values": [
7864
- {
7865
- "value": "show",
7866
- "description": ""
7867
- },
7868
- {
7869
- "value": "hide",
7870
- "description": ""
7871
- },
7872
- {
7873
- "value": "toggle",
7874
- "description": ""
7875
- }
7876
- ]
7877
- },
7878
- "description": "The popover target action to perform on the popover target element.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetAction",
7879
- "inheritedFrom": {
7880
- "name": "ButtonFormControlMixin"
11726
+ "text": "readonly DashboardItem[]",
11727
+ "_sourceAliases": []
7881
11728
  }
7882
- },
11729
+ }
11730
+ ],
11731
+ "description": "Applies top gravity without moving panels through an overhanging predecessor. Coordinates are growth-normalized."
11732
+ },
11733
+ {
11734
+ "kind": "function",
11735
+ "name": "findNormalizedPlacementPlan",
11736
+ "return": {
11737
+ "type": {
11738
+ "text": "DashboardItem[] | undefined"
11739
+ }
11740
+ },
11741
+ "parameters": [
7883
11742
  {
7884
- "name": "commandfor",
7885
- "fieldName": "commandForElement",
11743
+ "name": "items",
7886
11744
  "type": {
7887
- "text": "string",
7888
- "_sourceAliases": [],
7889
- "values": [
7890
- {
7891
- "value": "string",
7892
- "description": ""
7893
- }
7894
- ]
7895
- },
7896
- "description": "The element that receives the command.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API",
7897
- "inheritedFrom": {
7898
- "name": "ButtonFormControlMixin"
11745
+ "text": "readonly DashboardItem[]",
11746
+ "_sourceAliases": []
7899
11747
  }
7900
11748
  },
7901
11749
  {
7902
- "name": "command",
7903
- "fieldName": "command",
11750
+ "name": "request",
7904
11751
  "type": {
7905
- "text": "string",
7906
- "_sourceAliases": [],
7907
- "values": [
7908
- {
7909
- "value": "string",
7910
- "description": ""
7911
- }
7912
- ]
7913
- },
7914
- "description": "The command to execute on the element.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API",
7915
- "inheritedFrom": {
7916
- "name": "ButtonFormControlMixin"
11752
+ "text": "{ readonly id: string; readonly intent: DashboardIntent }",
11753
+ "_sourceAliases": []
7917
11754
  }
7918
11755
  },
7919
11756
  {
7920
- "name": "interestfor",
7921
- "fieldName": "interestForElement",
11757
+ "name": "options",
7922
11758
  "type": {
7923
- "text": "string",
7924
- "_sourceAliases": [],
7925
- "values": [
7926
- {
7927
- "value": "string",
7928
- "description": ""
7929
- }
7930
- ]
7931
- },
7932
- "description": "The element that receives the interest.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/interestForElement",
7933
- "inheritedFrom": {
7934
- "name": "ButtonFormControlMixin"
11759
+ "text": "{ tracks: number; autoSettle?: boolean }",
11760
+ "_sourceAliases": []
7935
11761
  }
7936
11762
  }
7937
11763
  ],
7938
- "superclass": {
7939
- "name": "Button",
7940
- "package": "@nvidia-elements/core/button"
11764
+ "description": "Resolves directional collisions into vacated space, with optional final top-gravity normalization."
11765
+ },
11766
+ {
11767
+ "kind": "variable",
11768
+ "name": "source"
11769
+ },
11770
+ {
11771
+ "kind": "variable",
11772
+ "name": "items"
11773
+ },
11774
+ {
11775
+ "kind": "function",
11776
+ "name": "orientDashboardItem",
11777
+ "return": {
11778
+ "type": {
11779
+ "text": "DashboardItem"
11780
+ }
7941
11781
  },
7942
- "tagName": "nve-copy-button",
7943
- "customElement": true,
7944
- "metadata": {
7945
- "unitTests": true,
7946
- "apiReview": true,
7947
- "performance": true,
7948
- "stable": true,
7949
- "vqa": true,
7950
- "responsive": true,
7951
- "themes": true,
7952
- "aria": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
7953
- "entrypoint": "@nvidia-elements/core/copy-button",
7954
- "example": "<nve-copy-button value=\"hello\" aria-label=\"copy value\" behavior-copy></nve-copy-button>",
7955
- "package": true,
7956
- "documentation": "https://nvidia.github.io/elements/docs/elements/copy-button/",
7957
- "since": "1.1.4",
7958
- "status": "stable",
7959
- "behavior": "button",
7960
- "markdown": "## nve-copy-button\n\nA copy button is a button that easily enables the copy to clipboard pattern.\n\n### Example\n\n```html\n<nve-copy-button value=\"hello\" aria-label=\"copy value\" behavior-copy></nve-copy-button>\n```\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/copy-button/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Text label displayed before the copy icon. |\n| icon | `string` | slot for custom icon |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| behaviorCopy (behavior-copy) | `boolean` | Determines if the copy button should auto write to clipboard by the trigger. |\n| command | `string` | The command to execute on the element. https://mdn.dev/Invoker_Commands_API |\n| commandForElement (commandfor) | property: `HTMLElement \\| null`; attribute: `string` | The element that receives the command. https://mdn.dev/Invoker_Commands_API |\n| container | `'flat' \\| 'inline' \\| undefined` | Determines the container of the button. Flat suits nesting within other containers or more muted style. Inline suits inline content such as text. |\n| current | `'page' \\| 'step'` | Indicates the element that represents the user's current location or position within a set. [MDN](https://mdn.dev/ARIA/Attributes/aria-current) - `page` Marks the current page within a set of navigation links. - `step` Marks the current step within a multi-step process or workflow. |\n| disabled | `boolean` | This Boolean attribute prevents the user from interacting with the element: it cannot receive press or focus events. [MDN](https://mdn.dev/ARIA/Attributes/aria-disabled) - `true` The element has a disabled state and does not accept interaction. - `false` The element has an enabled state and accepts interaction. |\n| expanded | `boolean` | Indicates whether collapsible content is currently visible or hidden from the user. [MDN](https://mdn.dev/ARIA/Attributes/aria-expanded) - `true` The associated content expands and becomes visible to the user. - `false` The associated content collapses and hides from the user. |\n| form | property: `string \\| HTMLFormElement \\| null`; attribute: `string` | Associates the button with a form. Set the property to a form element or its ID. The HTML attribute accepts only the form ID. Reading the property returns the associated form element or `null`. https://mdn.dev/ElementInternals/form |\n| i18n | | Enables internal string values to update for internationalization. |\n| interaction | `'emphasis' \\| 'destructive'` | The Interaction type provides a way to show the intent of an interactive element. This can help users quickly understand what each interaction does and reduce the potential for confusion or errors. - `emphasis` Shows the interaction targets emphasis or highlighting primary actions. - `destructive` Shows the interaction targets destructive actions such as deleting or removing. |\n| interestForElement (interestfor) | property: `HTMLElement \\| null`; attribute: `string` | The element that receives the interest. https://mdn.dev/HTMLAnchorElement/interestForElement |\n| name | `string` | The name of the button, submitted as a pair with the button value as part of the form data. https://mdn.dev/HTML/Element/button#attr-name |\n| popoverTargetAction (popovertargetaction) | `'show' \\| 'hide' \\| 'toggle'` | The popover target action to perform on the popover target element. https://mdn.dev/HTMLInputElement/popoverTargetAction |\n| popoverTargetElement (popovertarget) | property: `HTMLElement \\| null`; attribute: `string` | Establishes a relationship between a popover and its invoker button. https://mdn.dev/HTMLInputElement/popoverTargetElement |\n| pressed | `boolean` | Indicates the current state of a toggle button that switches on or off. [MDN](https://mdn.dev/ARIA/Attributes/aria-pressed) - `true` The button is in the pressed (on) state and the associated action or setting is active. - `false` The button is in the unpressed (off) state and the associated action or setting is inactive. |\n| readOnly (readonly) | `boolean` | Indicates whether the element is a noninteractive visual treatment instead of a button. https://mdn.dev/HTML/Attributes/readonly |\n| selected | `boolean` | Indicates whether an element currently holds selection within a multi-option selection group. [MDN](https://mdn.dev/ARIA/Attributes/aria-selected) - `true` The element holds selection and represents the user's current choice within the group. - `false` The element does not hold selection and the user can choose it. |\n| size | `'sm' \\| 'md' \\| 'lg' \\| undefined` | Controls the visual scale of an element to match its importance and available space. - `sm` Compact size for dense layouts or secondary elements with less visual prominence. - `md` Standard size that works well in most contexts and provides balanced visibility. - `lg` Larger size for emphasizing important elements or improving touch targets in spacious layouts. |\n| type | `'button' \\| 'submit' \\| 'reset'` | Defines the button behavior when associated within a form element. https://mdn.dev/HTML/Element/button#attr-type |\n| value | `string` | Defines the value that copies to the user clipboard. Use `aria-label` to set the tooltip hint. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --background | `string` | [MDN](https://mdn.dev/CSS/background) |\n| --border | `string` | [MDN](https://mdn.dev/CSS/border) |\n| --border-radius | `string` | [MDN](https://mdn.dev/CSS/border-radius) |\n| --color | `string` | [MDN](https://mdn.dev/CSS/color) |\n| --cursor | `string` | [MDN](https://mdn.dev/CSS/cursor) |\n| --font-size | `string` | [MDN](https://mdn.dev/CSS/font-size) |\n| --font-weight | `string` | [MDN](https://mdn.dev/CSS/font-weight) |\n| --gap | `string` | [MDN](https://mdn.dev/CSS/gap) |\n| --height | `string` | [MDN](https://mdn.dev/CSS/height) |\n| --line-height | `string` | [MDN](https://mdn.dev/CSS/line-height) |\n| --min-width | `string` | [MDN](https://mdn.dev/CSS/min-width) |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |\n| --text-align | `string` | [MDN](https://mdn.dev/CSS/text-align) |\n| --text-decoration | `string` | [MDN](https://mdn.dev/CSS/text-decoration) |\n| --text-transform | `string` | [MDN](https://mdn.dev/CSS/text-transform) |\n| --width | `string` | [MDN](https://mdn.dev/CSS/width) |"
7961
- }
11782
+ "parameters": [
11783
+ {
11784
+ "name": "item",
11785
+ "type": {
11786
+ "text": "DashboardItem",
11787
+ "_sourceAliases": []
11788
+ }
11789
+ },
11790
+ {
11791
+ "name": "flow",
11792
+ "type": {
11793
+ "text": "DashboardLayout['grid']['flow']",
11794
+ "_sourceAliases": []
11795
+ }
11796
+ }
11797
+ ]
7962
11798
  }
7963
11799
  ],
7964
11800
  "exports": [
7965
11801
  {
7966
11802
  "kind": "js",
7967
- "name": "CopyButton",
11803
+ "name": "settleDashboardItems",
7968
11804
  "declaration": {
7969
- "name": "CopyButton",
7970
- "module": "/src/copy-button/copy-button.js"
11805
+ "name": "settleDashboardItems",
11806
+ "module": "/src/dashboard/utils/packing.utils.js"
7971
11807
  }
7972
- }
7973
- ]
7974
- },
7975
- {
7976
- "kind": "javascript-module",
7977
- "path": "/src/copy-button/define.js",
7978
- "declarations": [],
7979
- "exports": []
7980
- },
7981
- {
7982
- "kind": "javascript-module",
7983
- "path": "/src/copy-button/index.js",
7984
- "declarations": [],
7985
- "exports": [
11808
+ },
7986
11809
  {
7987
11810
  "kind": "js",
7988
- "name": "*",
11811
+ "name": "findNormalizedPlacementPlan",
7989
11812
  "declaration": {
7990
- "name": "*",
7991
- "module": "home/runner/work/elements/elements/projects/core/src/copy-button/copy-button.js"
11813
+ "name": "findNormalizedPlacementPlan",
11814
+ "module": "/src/dashboard/utils/packing.utils.js"
11815
+ }
11816
+ },
11817
+ {
11818
+ "kind": "js",
11819
+ "name": "orientDashboardItem",
11820
+ "declaration": {
11821
+ "name": "orientDashboardItem",
11822
+ "module": "/src/dashboard/utils/packing.utils.js"
7992
11823
  }
7993
11824
  }
7994
11825
  ]
@@ -29291,6 +33122,181 @@
29291
33122
  }
29292
33123
  ]
29293
33124
  },
33125
+ {
33126
+ "kind": "javascript-module",
33127
+ "path": "/src/internal/controllers/native-fullscreen.controller.js",
33128
+ "declarations": [
33129
+ {
33130
+ "kind": "class",
33131
+ "description": "Owns a managed native fullscreen session without choosing its content or presentation.",
33132
+ "name": "NativeFullscreenController",
33133
+ "members": [
33134
+ {
33135
+ "kind": "field",
33136
+ "name": "#host",
33137
+ "privacy": "private",
33138
+ "type": {
33139
+ "text": "HTMLElement & ReactiveControllerHost",
33140
+ "_sourceAliases": [],
33141
+ "values": [
33142
+ {
33143
+ "value": "HTMLElement & ReactiveControllerHost",
33144
+ "description": ""
33145
+ }
33146
+ ]
33147
+ },
33148
+ "readonly": true,
33149
+ "default": "host"
33150
+ },
33151
+ {
33152
+ "kind": "field",
33153
+ "name": "#onChange",
33154
+ "privacy": "private",
33155
+ "type": {
33156
+ "text": "() => void",
33157
+ "_sourceAliases": [],
33158
+ "values": [
33159
+ {
33160
+ "value": "() => void",
33161
+ "description": ""
33162
+ }
33163
+ ]
33164
+ },
33165
+ "readonly": true,
33166
+ "default": "onChange"
33167
+ },
33168
+ {
33169
+ "kind": "field",
33170
+ "name": "#listeningDocument",
33171
+ "privacy": "private",
33172
+ "type": {
33173
+ "text": "Document | undefined",
33174
+ "_sourceAliases": [],
33175
+ "values": []
33176
+ }
33177
+ },
33178
+ {
33179
+ "kind": "field",
33180
+ "name": "#managed",
33181
+ "privacy": "private",
33182
+ "type": {
33183
+ "text": "boolean",
33184
+ "_sourceAliases": [],
33185
+ "values": [
33186
+ {
33187
+ "value": "boolean",
33188
+ "description": ""
33189
+ }
33190
+ ]
33191
+ },
33192
+ "default": "false"
33193
+ },
33194
+ {
33195
+ "kind": "field",
33196
+ "name": "#pendingRequest",
33197
+ "privacy": "private",
33198
+ "type": {
33199
+ "text": "Promise<void> | undefined",
33200
+ "_sourceAliases": [],
33201
+ "values": [
33202
+ {
33203
+ "value": "Promise<void>",
33204
+ "description": ""
33205
+ }
33206
+ ]
33207
+ }
33208
+ },
33209
+ {
33210
+ "kind": "field",
33211
+ "name": "#exiting",
33212
+ "privacy": "private",
33213
+ "type": {
33214
+ "text": "boolean",
33215
+ "_sourceAliases": [],
33216
+ "values": [
33217
+ {
33218
+ "value": "boolean",
33219
+ "description": ""
33220
+ }
33221
+ ]
33222
+ },
33223
+ "default": "false"
33224
+ },
33225
+ {
33226
+ "kind": "field",
33227
+ "name": "active",
33228
+ "readonly": true
33229
+ },
33230
+ {
33231
+ "kind": "field",
33232
+ "name": "canExit",
33233
+ "readonly": true
33234
+ },
33235
+ {
33236
+ "kind": "field",
33237
+ "name": "canEnter",
33238
+ "readonly": true
33239
+ },
33240
+ {
33241
+ "kind": "method",
33242
+ "name": "hostConnected"
33243
+ },
33244
+ {
33245
+ "kind": "method",
33246
+ "name": "hostDisconnected"
33247
+ },
33248
+ {
33249
+ "kind": "method",
33250
+ "name": "enter"
33251
+ },
33252
+ {
33253
+ "kind": "method",
33254
+ "name": "exit"
33255
+ },
33256
+ {
33257
+ "kind": "method",
33258
+ "name": "#requestFullscreen",
33259
+ "privacy": "private"
33260
+ },
33261
+ {
33262
+ "kind": "method",
33263
+ "name": "#exitFullscreen",
33264
+ "privacy": "private"
33265
+ },
33266
+ {
33267
+ "kind": "method",
33268
+ "name": "#isNativeFullscreen",
33269
+ "privacy": "private"
33270
+ },
33271
+ {
33272
+ "kind": "method",
33273
+ "name": "#isOwnedTopmostFullscreen",
33274
+ "privacy": "private"
33275
+ },
33276
+ {
33277
+ "kind": "field",
33278
+ "name": "#sync",
33279
+ "privacy": "private"
33280
+ },
33281
+ {
33282
+ "kind": "method",
33283
+ "name": "#reset",
33284
+ "privacy": "private"
33285
+ }
33286
+ ]
33287
+ }
33288
+ ],
33289
+ "exports": [
33290
+ {
33291
+ "kind": "js",
33292
+ "name": "NativeFullscreenController",
33293
+ "declaration": {
33294
+ "name": "NativeFullscreenController",
33295
+ "module": "/src/internal/controllers/native-fullscreen.controller.js"
33296
+ }
33297
+ }
33298
+ ]
33299
+ },
29294
33300
  {
29295
33301
  "kind": "javascript-module",
29296
33302
  "path": "/src/internal/controllers/state-expanded.controller.js",
@@ -30388,6 +34394,14 @@
30388
34394
  "module": "home/runner/work/elements/elements/projects/core/src/internal/controllers/keynav-spatial.controller.js"
30389
34395
  }
30390
34396
  },
34397
+ {
34398
+ "kind": "js",
34399
+ "name": "*",
34400
+ "declaration": {
34401
+ "name": "*",
34402
+ "module": "home/runner/work/elements/elements/projects/core/src/internal/controllers/native-fullscreen.controller.js"
34403
+ }
34404
+ },
30391
34405
  {
30392
34406
  "kind": "js",
30393
34407
  "name": "*",
@@ -56151,7 +60165,7 @@
56151
60165
  "declarations": [
56152
60166
  {
56153
60167
  "kind": "class",
56154
- "description": "Projects one durable group while the browser owns fullscreen admission and lifetime.",
60168
+ "description": "Selects the fullscreen group and preserves surviving companions when its anchor disappears.",
56155
60169
  "name": "WorkspaceFullscreenController",
56156
60170
  "members": [
56157
60171
  {
@@ -56180,13 +60194,15 @@
56180
60194
  },
56181
60195
  {
56182
60196
  "kind": "field",
56183
- "name": "#listeningDocument",
60197
+ "name": "#native",
56184
60198
  "privacy": "private",
56185
60199
  "type": {
56186
- "text": "Document | undefined",
60200
+ "text": "NativeFullscreenController",
56187
60201
  "_sourceAliases": [],
56188
60202
  "values": []
56189
- }
60203
+ },
60204
+ "readonly": true,
60205
+ "default": "new NativeFullscreenController(host, this.#nativeChanged)"
56190
60206
  },
56191
60207
  {
56192
60208
  "kind": "field",
@@ -56208,32 +60224,17 @@
56208
60224
  "name": "#groupPanelIds",
56209
60225
  "privacy": "private",
56210
60226
  "type": {
56211
- "text": "string[]",
60227
+ "text": "readonly string[]",
56212
60228
  "_sourceAliases": [],
56213
60229
  "values": [
56214
60230
  {
56215
- "value": "string[]",
60231
+ "value": "readonly string[]",
56216
60232
  "description": ""
56217
60233
  }
56218
60234
  ]
56219
60235
  },
56220
60236
  "default": "[]"
56221
60237
  },
56222
- {
56223
- "kind": "field",
56224
- "name": "#pendingRequest",
56225
- "privacy": "private",
56226
- "type": {
56227
- "text": "Promise<void> | undefined",
56228
- "_sourceAliases": [],
56229
- "values": [
56230
- {
56231
- "value": "Promise<void>",
56232
- "description": ""
56233
- }
56234
- ]
56235
- }
56236
- },
56237
60238
  {
56238
60239
  "kind": "field",
56239
60240
  "name": "active",
@@ -56249,14 +60250,6 @@
56249
60250
  "name": "canExit",
56250
60251
  "readonly": true
56251
60252
  },
56252
- {
56253
- "kind": "method",
56254
- "name": "hostConnected"
56255
- },
56256
- {
56257
- "kind": "method",
56258
- "name": "hostDisconnected"
56259
- },
56260
60253
  {
56261
60254
  "kind": "method",
56262
60255
  "name": "hostUpdate"
@@ -56301,29 +60294,14 @@
56301
60294
  "kind": "method",
56302
60295
  "name": "exit"
56303
60296
  },
56304
- {
56305
- "kind": "method",
56306
- "name": "#requestFullscreen",
56307
- "privacy": "private"
56308
- },
56309
- {
56310
- "kind": "method",
56311
- "name": "#exitFullscreen",
56312
- "privacy": "private"
56313
- },
56314
- {
56315
- "kind": "method",
56316
- "name": "#isNativeFullscreen",
56317
- "privacy": "private"
56318
- },
56319
60297
  {
56320
60298
  "kind": "field",
56321
- "name": "#sync",
60299
+ "name": "#nativeChanged",
56322
60300
  "privacy": "private"
56323
60301
  },
56324
60302
  {
56325
60303
  "kind": "method",
56326
- "name": "#reset",
60304
+ "name": "#invalidate",
56327
60305
  "privacy": "private"
56328
60306
  }
56329
60307
  ]
@@ -62635,7 +66613,7 @@
62635
66613
  }
62636
66614
  ]
62637
66615
  },
62638
- "description": "Defines the value associated with the element's name when submitting the form data. The server receives this value in params when the form submits through this button. [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value)",
66616
+ "description": "Versioned JSON arrangement. Assignment restores without emitting change.",
62639
66617
  "attribute": "value"
62640
66618
  },
62641
66619
  {
@@ -62875,7 +66853,7 @@
62875
66853
  }
62876
66854
  ]
62877
66855
  },
62878
- "description": "Defines the value associated with the element's name when submitting the form data. The server receives this value in params when the form submits through this button. [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value)",
66856
+ "description": "Versioned JSON arrangement. Assignment restores without emitting change.",
62879
66857
  "fieldName": "value"
62880
66858
  }
62881
66859
  ],
@@ -62901,7 +66879,7 @@
62901
66879
  "since": "0.0.0",
62902
66880
  "status": "beta",
62903
66881
  "behavior": "content",
62904
- "markdown": "## nve-workspace\n\nA workspace provides a malleable arrangement of application panels in a restorable layout.\n\n### Example\n\n```html\n<nve-workspace\n groupable\n rearrangeable\n resizable\n style=\"height: 600px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,4],\"children\":[{\"type\":\"group\",\"panels\":[\"workspace-outline\"],\"active\":\"workspace-outline\"},{\"type\":\"split\",\"axis\":\"vertical\",\"weights\":[3,2],\"children\":[{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[3,2],\"children\":[{\"type\":\"group\",\"panels\":[\"workspace-editor\"],\"active\":\"workspace-editor\"},{\"type\":\"group\",\"panels\":[\"workspace-preview\"],\"active\":\"workspace-preview\"}]},{\"type\":\"group\",\"panels\":[\"workspace-notes\",\"workspace-activity\",\"workspace-tasks\"],\"active\":\"workspace-notes\"}]}]}}'\n>\n <nve-workspace-panel id=\"workspace-outline\">\n <nve-workspace-panel-header>Outline</nve-workspace-panel-header>\n <nve-workspace-panel-content>Outline content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-editor\">\n <nve-workspace-panel-header>Editor</nve-workspace-panel-header>\n <nve-workspace-panel-content>\n <nve-textarea><textarea aria-label=\"Editor\">Editor content</textarea></nve-textarea>\n </nve-workspace-panel-content>\n <nve-workspace-panel-footer>Ready</nve-workspace-panel-footer>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-preview\">\n <nve-workspace-panel-header>Preview</nve-workspace-panel-header>\n <nve-workspace-panel-content>Preview content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-notes\">\n <nve-workspace-panel-header>Notes</nve-workspace-panel-header>\n <nve-workspace-panel-content>Notes content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-activity\">\n <nve-workspace-panel-header>Activity</nve-workspace-panel-header>\n <nve-workspace-panel-content>Activity content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-tasks\">\n <nve-workspace-panel-header>Tasks</nve-workspace-panel-header>\n <nve-workspace-panel-content>Tasks content</nve-workspace-panel-content>\n </nve-workspace-panel>\n</nve-workspace>\n```\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/workspace/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Workspace panels with durable IDs and application dropdown groups. |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| closable | `boolean` | Indicates whether the user can dismiss or close the element. - `true` The element displays a close control and the user can dismiss it. - `false` The user cannot close the element and must dismiss it programmatically. |\n| container | `'inset' \\| 'flat' \\| 'full' \\| undefined` | Selects panel content framing. |\n| detachThreshold (detach-threshold) | `number` | Radial pointer distance in CSS pixels before a carried source detaches. Captured at gesture press. |\n| fullscreenable | `boolean` | Enables native fullscreen commands and one persistent control per group. Turning this off preserves an accepted session and its exit control. Fullscreen does not change the saved arrangement. |\n| groupable | `boolean` | Enables dragging individual tabs, joining panels, and extracting panels when rearrangeable. |\n| i18n | | Overrides localized workspace controls. |\n| rearrangeable | `boolean` | Enables moving groups and placement commands. Dragging individual tabs also requires groupable. |\n| resizable | `boolean` | Enables separator resizing. |\n| resizePolicy (resize-policy) | `'stop' \\| 'propagate'` | Selects separator constraint behavior. |\n| value | `string` | Defines the value associated with the element's name when submitting the form data. The server receives this value in params when the form submits through this button. [MDN](https://mdn.dev/HTML/Element/input#value) |\n\n### Events\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| change | `CustomEvent` | Announces a committed arrangement value after interaction, commands, or reconciliation of newly supplied panels. Read value on the workspace. |\n| commandavailabilitychange | `CustomEvent` | Command availability may have changed; query relevant commands again. |\n\n### Invoker Commands\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --close | `CommandEvent` | Close the targeted panel when its workspace is closable. |\n| --enter-fullscreen | `CommandEvent` | Present the invoking panel's group in native fullscreen. |\n| --exit-fullscreen | `CommandEvent` | Exit native fullscreen. |\n| --open | `CommandEvent` | Open and activate the targeted supplied panel. Repeated activation is silent. |\n| --place | `CommandEvent` | Apply the invoker's typed placement request when rearrangeable; membership changes also require groupable. |\n| --select | `CommandEvent` | Activate an open supplied panel without reopening a closed panel. |\n| --toggle-fullscreen | `CommandEvent` | Toggle native fullscreen for the invoking panel's group. |\n\n### Methods\n\n| method | signatures | description |\n| ------ | ---------- | ----------- |\n| animateTo | `animateTo(value: string, options?: WorkspaceAnimationOptions): void` | Restores an arrangement with animated geometry while retaining application content. |\n| isCommandAvailable | `isCommandAvailable(command: string, context?: WorkspaceCommandContext): boolean` | Reports whether a command can change the panel identified by `context.value` in the current arrangement. Native fullscreen admission remains subject to browser permission. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --animation-duration | `string` | Duration of coordinated layout and placement transitions. [MDN](https://mdn.dev/CSS/animation-duration) |\n| --animation-easing | `string` | Easing of coordinated layout and placement transitions. |\n| --border-radius | `string` | Corner radius of contained groups. [MDN](https://mdn.dev/CSS/border-radius) |\n| --close-button-inset | `string` | Space after each panel close control. |\n| --gap | `string` | Space between groups as one nonnegative CSS length. [MDN](https://mdn.dev/CSS/gap) |\n| --gutter-background | `string` | Idle separator fill. |\n| --gutter-hover-background | `string` | Separator fill on hover. |\n| --header-control-inset | `string` | Horizontal spacing around fullscreen and the drag handle. |\n| --header-control-size | `string` | Size of built-in header buttons and the base drag handle width. |\n| --tab-border | `string` | Border between tabs, after the drag handle, and before group controls without an authored suffix. |\n| --tab-min-width | `string` | Smallest tab width before scrolling. |"
66882
+ "markdown": "## nve-workspace\n\nA workspace provides a malleable arrangement of application panels in a restorable layout.\n\n### Example\n\n```html\n<nve-workspace\n groupable\n rearrangeable\n resizable\n style=\"height: 600px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,4],\"children\":[{\"type\":\"group\",\"panels\":[\"workspace-outline\"],\"active\":\"workspace-outline\"},{\"type\":\"split\",\"axis\":\"vertical\",\"weights\":[3,2],\"children\":[{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[3,2],\"children\":[{\"type\":\"group\",\"panels\":[\"workspace-editor\"],\"active\":\"workspace-editor\"},{\"type\":\"group\",\"panels\":[\"workspace-preview\"],\"active\":\"workspace-preview\"}]},{\"type\":\"group\",\"panels\":[\"workspace-notes\",\"workspace-activity\",\"workspace-tasks\"],\"active\":\"workspace-notes\"}]}]}}'\n>\n <nve-workspace-panel id=\"workspace-outline\">\n <nve-workspace-panel-header>Outline</nve-workspace-panel-header>\n <nve-workspace-panel-content>Outline content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-editor\">\n <nve-workspace-panel-header>Editor</nve-workspace-panel-header>\n <nve-workspace-panel-content>\n <nve-textarea><textarea aria-label=\"Editor\">Editor content</textarea></nve-textarea>\n </nve-workspace-panel-content>\n <nve-workspace-panel-footer>Ready</nve-workspace-panel-footer>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-preview\">\n <nve-workspace-panel-header>Preview</nve-workspace-panel-header>\n <nve-workspace-panel-content>Preview content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-notes\">\n <nve-workspace-panel-header>Notes</nve-workspace-panel-header>\n <nve-workspace-panel-content>Notes content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-activity\">\n <nve-workspace-panel-header>Activity</nve-workspace-panel-header>\n <nve-workspace-panel-content>Activity content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"workspace-tasks\">\n <nve-workspace-panel-header>Tasks</nve-workspace-panel-header>\n <nve-workspace-panel-content>Tasks content</nve-workspace-panel-content>\n </nve-workspace-panel>\n</nve-workspace>\n```\n\n### Import\n\n```javascript\nimport '@nvidia-elements/core/workspace/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | Workspace panels with durable IDs and application dropdown groups. |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| closable | `boolean` | Indicates whether the user can dismiss or close the element. - `true` The element displays a close control and the user can dismiss it. - `false` The user cannot close the element and must dismiss it programmatically. |\n| container | `'inset' \\| 'flat' \\| 'full' \\| undefined` | Selects panel content framing. |\n| detachThreshold (detach-threshold) | `number` | Radial pointer distance in CSS pixels before a carried source detaches. Captured at gesture press. |\n| fullscreenable | `boolean` | Enables native fullscreen commands and one persistent control per group. Turning this off preserves an accepted session and its exit control. Fullscreen does not change the saved arrangement. |\n| groupable | `boolean` | Enables dragging individual tabs, joining panels, and extracting panels when rearrangeable. |\n| i18n | | Overrides localized workspace controls. |\n| rearrangeable | `boolean` | Enables moving groups and placement commands. Dragging individual tabs also requires groupable. |\n| resizable | `boolean` | Enables separator resizing. |\n| resizePolicy (resize-policy) | `'stop' \\| 'propagate'` | Selects separator constraint behavior. |\n| value | `string` | Versioned JSON arrangement. Assignment restores without emitting change. |\n\n### Events\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| change | `CustomEvent` | Announces a committed arrangement value after interaction, commands, or reconciliation of newly supplied panels. Read value on the workspace. |\n| commandavailabilitychange | `CustomEvent` | Command availability may have changed; query relevant commands again. |\n\n### Invoker Commands\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --close | `CommandEvent` | Close the targeted panel when its workspace is closable. |\n| --enter-fullscreen | `CommandEvent` | Present the invoking panel's group in native fullscreen. |\n| --exit-fullscreen | `CommandEvent` | Exit native fullscreen. |\n| --open | `CommandEvent` | Open and activate the targeted supplied panel. Repeated activation is silent. |\n| --place | `CommandEvent` | Apply the invoker's typed placement request when rearrangeable; membership changes also require groupable. |\n| --select | `CommandEvent` | Activate an open supplied panel without reopening a closed panel. |\n| --toggle-fullscreen | `CommandEvent` | Toggle native fullscreen for the invoking panel's group. |\n\n### Methods\n\n| method | signatures | description |\n| ------ | ---------- | ----------- |\n| animateTo | `animateTo(value: string, options?: WorkspaceAnimationOptions): void` | Restores an arrangement with animated geometry while retaining application content. |\n| isCommandAvailable | `isCommandAvailable(command: string, context?: WorkspaceCommandContext): boolean` | Reports whether a command can change the panel identified by `context.value` in the current arrangement. Native fullscreen admission remains subject to browser permission. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --animation-duration | `string` | Duration of coordinated layout and placement transitions. [MDN](https://mdn.dev/CSS/animation-duration) |\n| --animation-easing | `string` | Easing of coordinated layout and placement transitions. |\n| --border-radius | `string` | Corner radius of contained groups. [MDN](https://mdn.dev/CSS/border-radius) |\n| --close-button-inset | `string` | Space after each panel close control. |\n| --gap | `string` | Space between groups as one nonnegative CSS length. [MDN](https://mdn.dev/CSS/gap) |\n| --gutter-background | `string` | Idle separator fill. |\n| --gutter-hover-background | `string` | Separator fill on hover. |\n| --header-control-inset | `string` | Horizontal spacing around fullscreen and the drag handle. |\n| --header-control-size | `string` | Size of built-in header buttons and the base drag handle width. |\n| --tab-border | `string` | Border between tabs, after the drag handle, and before group controls without an authored suffix. |\n| --tab-min-width | `string` | Smallest tab width before scrolling. |"
62905
66883
  },
62906
66884
  "commands": [
62907
66885
  {