@nvidia-elements/core 2.22.4 → 2.23.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.
- package/CHANGELOG.md +13 -0
- package/dist/accordion/accordion2.js +4 -4
- package/dist/alert/alert-group2.js +1 -1
- package/dist/alert/alert2.js +1 -1
- package/dist/avatar/avatar-group2.js +1 -1
- package/dist/avatar/avatar2.js +1 -1
- package/dist/badge/badge2.js +1 -1
- package/dist/breadcrumb/breadcrumb2.js +1 -1
- package/dist/bundle.d.ts +4 -0
- package/dist/bundles/index.d.ts +336 -0
- package/dist/bundles/index.js +14 -14
- package/dist/button/button2.js +1 -1
- package/dist/button-group/button-group2.js +1 -1
- package/dist/card/card2.js +4 -4
- package/dist/chat-message/chat-message2.js +1 -1
- package/dist/checkbox/checkbox-group2.js +1 -1
- package/dist/checkbox/checkbox2.js +1 -1
- package/dist/color/color2.js +6 -6
- package/dist/combobox/combobox2.js +1 -1
- package/dist/copy-button/copy-button2.js +1 -1
- package/dist/custom-elements-jsx.d.ts +189 -0
- package/dist/custom-elements-vue.d.ts +189 -0
- package/dist/custom-elements.json +6555 -0
- package/dist/data.html.json +133 -0
- package/dist/data.snippets.json +27 -27
- package/dist/date/date2.js +6 -6
- package/dist/datetime/datetime2.js +6 -6
- package/dist/dialog/dialog-footer2.js +1 -1
- package/dist/dialog/dialog-header2.js +1 -1
- package/dist/dialog/dialog2.js +1 -1
- package/dist/divider/divider2.js +1 -1
- package/dist/dot/dot2.js +1 -1
- package/dist/drag-handle/drag-handle2.js +1 -1
- package/dist/drawer/drawer-content2.js +1 -1
- package/dist/drawer/drawer-footer2.js +1 -1
- package/dist/drawer/drawer-header2.js +1 -1
- package/dist/drawer/drawer2.js +1 -1
- package/dist/dropdown/dropdown-footer2.js +1 -1
- package/dist/dropdown/dropdown-header2.js +1 -1
- package/dist/dropdown/dropdown2.js +1 -1
- package/dist/dropdown-group/dropdown-group.js +1 -1
- package/dist/dropzone/dropzone2.js +1 -1
- package/dist/file/file2.js +1 -1
- package/dist/format-bytes/format-bytes2.js +1 -1
- package/dist/format-datetime/format-datetime2.js +1 -1
- package/dist/format-number/format-number2.js +1 -1
- package/dist/format-relative-time/format-relative-time2.js +1 -1
- package/dist/format-truncate/format-truncate2.js +1 -1
- package/dist/forms/control/control2.js +1 -1
- package/dist/forms/control-group/control-group2.js +1 -1
- package/dist/forms/control-message/control-message2.js +1 -1
- package/dist/gauge/gauge2.js +1 -1
- package/dist/ghost/define.d.ts +6 -0
- package/dist/ghost/define.js +6 -0
- package/dist/ghost/define.js.map +1 -0
- package/dist/ghost/ghost.d.ts +27 -0
- package/dist/ghost/ghost.examples.js +5 -0
- package/dist/ghost/ghost.examples.js.map +1 -0
- package/dist/ghost/ghost.examples.json +37 -0
- package/dist/ghost/ghost.js +5 -0
- package/dist/ghost/ghost.js.map +1 -0
- package/dist/ghost/ghost2.js +28 -0
- package/dist/ghost/ghost2.js.map +1 -0
- package/dist/ghost/index.d.ts +1 -0
- package/dist/ghost/index.js +1 -0
- package/dist/grid/cell/cell2.js +1 -1
- package/dist/grid/column/column2.js +1 -1
- package/dist/grid/footer/footer2.js +1 -1
- package/dist/grid/grid2.js +1 -1
- package/dist/grid/header/header2.js +1 -1
- package/dist/grid/placeholder/placeholder2.js +1 -1
- package/dist/grid/row/row2.js +1 -1
- package/dist/icon/icon2.js +2 -2
- package/dist/icon-button/icon-button2.js +1 -1
- package/dist/iframe/iframe2.js +1 -1
- package/dist/index.js +1 -1
- package/dist/input/input-group2.js +1 -1
- package/dist/input/input2.js +1 -1
- package/dist/internal/utils/a11y.js.map +1 -1
- package/dist/joystick/joystick2.js +5 -5
- package/dist/logo/logo2.js +1 -1
- package/dist/menu/menu-group2.js +1 -1
- package/dist/menu/menu-item2.js +1 -1
- package/dist/menu/menu2.js +1 -1
- package/dist/month/month2.js +6 -6
- package/dist/notification/notification-group2.js +1 -1
- package/dist/notification/notification2.js +1 -1
- package/dist/page/page-panel/page-panel-content2.js +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +1 -1
- package/dist/page/page-panel/page-panel-header2.js +1 -1
- package/dist/page/page-panel/page-panel2.js +1 -1
- package/dist/page/page2.js +1 -1
- package/dist/page-header/page-header2.js +1 -1
- package/dist/page-loader/page-loader2.js +1 -1
- package/dist/pagination/pagination2.js +1 -1
- package/dist/panel/panel2.js +4 -4
- package/dist/password/password2.js +6 -6
- package/dist/polyfills/index.d.ts +4 -7
- package/dist/polyfills/index.js +0 -8
- package/dist/preferences-input/preferences-input2.js +5 -5
- package/dist/progress-bar/progress-bar2.js +1 -1
- package/dist/progress-dot/progress-dot2.js +1 -1
- package/dist/progress-ring/progress-ring2.js +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
- package/dist/pulse/pulse2.js +1 -1
- package/dist/radio/radio-group2.js +1 -1
- package/dist/radio/radio2.js +1 -1
- package/dist/range/range2.js +1 -1
- package/dist/resize-handle/resize-handle2.js +5 -5
- package/dist/search/search2.js +6 -6
- package/dist/select/select2.js +1 -1
- package/dist/select/select2.js.map +1 -1
- package/dist/skeleton/skeleton2.js +1 -1
- package/dist/sort-button/sort-button2.js +1 -1
- package/dist/sparkline/sparkline2.js +1 -1
- package/dist/star-rating/star-rating2.js +1 -1
- package/dist/steps/steps2.js +6 -6
- package/dist/switch/switch-group2.js +1 -1
- package/dist/switch/switch2.js +1 -1
- package/dist/tabs/tabs-group2.js +1 -1
- package/dist/tabs/tabs-item-group2.js +1 -1
- package/dist/tabs/tabs2.js +2 -2
- package/dist/tag/tag2.js +5 -5
- package/dist/textarea/textarea2.js +1 -1
- package/dist/time/time2.js +6 -6
- package/dist/toast/toast2.js +1 -1
- package/dist/toast/toast2.js.map +1 -1
- package/dist/toggletip/toggletip-footer2.js +1 -1
- package/dist/toggletip/toggletip-header2.js +1 -1
- package/dist/toggletip/toggletip2.js +1 -1
- package/dist/toolbar/toolbar2.js +1 -1
- package/dist/tooltip/tooltip2.js +1 -1
- package/dist/tree/tree-node2.js +1 -1
- package/dist/tree/tree2.js +1 -1
- package/dist/week/week2.js +6 -6
- package/dist/workspace/controllers/workspace-command.controller.d.ts +34 -0
- package/dist/workspace/controllers/workspace-command.controller.js +87 -0
- package/dist/workspace/controllers/workspace-command.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-composition.controller.d.ts +54 -0
- package/dist/workspace/controllers/workspace-composition.controller.js +169 -0
- package/dist/workspace/controllers/workspace-composition.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-fullscreen.controller.d.ts +25 -0
- package/dist/workspace/controllers/workspace-fullscreen.controller.js +84 -0
- package/dist/workspace/controllers/workspace-fullscreen.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-measurement.controller.d.ts +19 -0
- package/dist/workspace/controllers/workspace-measurement.controller.js +188 -0
- package/dist/workspace/controllers/workspace-measurement.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-rearrange.controller.d.ts +40 -0
- package/dist/workspace/controllers/workspace-rearrange.controller.js +385 -0
- package/dist/workspace/controllers/workspace-rearrange.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-resize.controller.d.ts +43 -0
- package/dist/workspace/controllers/workspace-resize.controller.js +168 -0
- package/dist/workspace/controllers/workspace-resize.controller.js.map +1 -0
- package/dist/workspace/controllers/workspace-restoration.controller.d.ts +24 -0
- package/dist/workspace/controllers/workspace-restoration.controller.js +193 -0
- package/dist/workspace/controllers/workspace-restoration.controller.js.map +1 -0
- package/dist/workspace/define.d.ts +10 -0
- package/dist/workspace/define.js +9 -0
- package/dist/workspace/define.js.map +1 -0
- package/dist/workspace/index.d.ts +8 -0
- package/dist/workspace/index.js +6 -0
- package/dist/workspace/panel/panel.d.ts +48 -0
- package/dist/workspace/panel/panel.js +5 -0
- package/dist/workspace/panel/panel.js.map +1 -0
- package/dist/workspace/panel/panel2.js +53 -0
- package/dist/workspace/panel/panel2.js.map +1 -0
- package/dist/workspace/panel-content/panel-content.d.ts +20 -0
- package/dist/workspace/panel-content/panel-content.js +5 -0
- package/dist/workspace/panel-content/panel-content.js.map +1 -0
- package/dist/workspace/panel-content/panel-content2.js +22 -0
- package/dist/workspace/panel-content/panel-content2.js.map +1 -0
- package/dist/workspace/panel-footer/panel-footer.d.ts +24 -0
- package/dist/workspace/panel-footer/panel-footer.js +5 -0
- package/dist/workspace/panel-footer/panel-footer.js.map +1 -0
- package/dist/workspace/panel-footer/panel-footer2.js +28 -0
- package/dist/workspace/panel-footer/panel-footer2.js.map +1 -0
- package/dist/workspace/panel-header/panel-header.d.ts +61 -0
- package/dist/workspace/panel-header/panel-header.js +5 -0
- package/dist/workspace/panel-header/panel-header.js.map +1 -0
- package/dist/workspace/panel-header/panel-header2.js +102 -0
- package/dist/workspace/panel-header/panel-header2.js.map +1 -0
- package/dist/workspace/utils/evaluation.utils.d.ts +83 -0
- package/dist/workspace/utils/evaluation.utils.js +294 -0
- package/dist/workspace/utils/evaluation.utils.js.map +1 -0
- package/dist/workspace/utils/geometry/allocation.utils.d.ts +40 -0
- package/dist/workspace/utils/geometry/allocation.utils.js +73 -0
- package/dist/workspace/utils/geometry/allocation.utils.js.map +1 -0
- package/dist/workspace/utils/geometry/partition.utils.d.ts +10 -0
- package/dist/workspace/utils/geometry/partition.utils.js +40 -0
- package/dist/workspace/utils/geometry/partition.utils.js.map +1 -0
- package/dist/workspace/utils/geometry/sizing.utils.d.ts +35 -0
- package/dist/workspace/utils/geometry/sizing.utils.js +42 -0
- package/dist/workspace/utils/geometry/sizing.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/boundary.utils.d.ts +40 -0
- package/dist/workspace/utils/interaction/boundary.utils.js +91 -0
- package/dist/workspace/utils/interaction/boundary.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/command.utils.d.ts +74 -0
- package/dist/workspace/utils/interaction/command.utils.js +189 -0
- package/dist/workspace/utils/interaction/command.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/drag-preview.utils.d.ts +79 -0
- package/dist/workspace/utils/interaction/drag-preview.utils.js +16 -0
- package/dist/workspace/utils/interaction/drag-preview.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/insertion-offers.utils.d.ts +58 -0
- package/dist/workspace/utils/interaction/insertion-offers.utils.js +259 -0
- package/dist/workspace/utils/interaction/insertion-offers.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/placement-decision.utils.d.ts +55 -0
- package/dist/workspace/utils/interaction/placement-decision.utils.js +242 -0
- package/dist/workspace/utils/interaction/placement-decision.utils.js.map +1 -0
- package/dist/workspace/utils/interaction/resize-input.utils.d.ts +1 -0
- package/dist/workspace/utils/interaction/resize-input.utils.js +17 -0
- package/dist/workspace/utils/interaction/resize-input.utils.js.map +1 -0
- package/dist/workspace/utils/model/layout.utils.d.ts +22 -0
- package/dist/workspace/utils/model/layout.utils.js +41 -0
- package/dist/workspace/utils/model/layout.utils.js.map +1 -0
- package/dist/workspace/utils/model/membership.utils.d.ts +14 -0
- package/dist/workspace/utils/model/membership.utils.js +17 -0
- package/dist/workspace/utils/model/membership.utils.js.map +1 -0
- package/dist/workspace/utils/model/operations.utils.d.ts +31 -0
- package/dist/workspace/utils/model/operations.utils.js +178 -0
- package/dist/workspace/utils/model/operations.utils.js.map +1 -0
- package/dist/workspace/utils/model/projection.utils.d.ts +7 -0
- package/dist/workspace/utils/model/projection.utils.js +87 -0
- package/dist/workspace/utils/model/projection.utils.js.map +1 -0
- package/dist/workspace/utils/model/value.utils.d.ts +5 -0
- package/dist/workspace/utils/model/value.utils.js +68 -0
- package/dist/workspace/utils/model/value.utils.js.map +1 -0
- package/dist/workspace/utils/placement/acquisition-sizing.utils.d.ts +32 -0
- package/dist/workspace/utils/placement/acquisition-sizing.utils.js +152 -0
- package/dist/workspace/utils/placement/acquisition-sizing.utils.js.map +1 -0
- package/dist/workspace/utils/placement/context.utils.d.ts +36 -0
- package/dist/workspace/utils/placement/context.utils.js +135 -0
- package/dist/workspace/utils/placement/context.utils.js.map +1 -0
- package/dist/workspace/utils/placement/group-insertion.utils.d.ts +26 -0
- package/dist/workspace/utils/placement/group-insertion.utils.js +171 -0
- package/dist/workspace/utils/placement/group-insertion.utils.js.map +1 -0
- package/dist/workspace/utils/placement/origin.utils.d.ts +13 -0
- package/dist/workspace/utils/placement/origin.utils.js +49 -0
- package/dist/workspace/utils/placement/origin.utils.js.map +1 -0
- package/dist/workspace/utils/placement/planner.utils.d.ts +22 -0
- package/dist/workspace/utils/placement/planner.utils.js +184 -0
- package/dist/workspace/utils/placement/planner.utils.js.map +1 -0
- package/dist/workspace/utils/placement/preparation.utils.d.ts +28 -0
- package/dist/workspace/utils/placement/preparation.utils.js +140 -0
- package/dist/workspace/utils/placement/preparation.utils.js.map +1 -0
- package/dist/workspace/utils/placement/region.utils.d.ts +15 -0
- package/dist/workspace/utils/placement/region.utils.js +111 -0
- package/dist/workspace/utils/placement/region.utils.js.map +1 -0
- package/dist/workspace/utils/placement/split-sizing.utils.d.ts +18 -0
- package/dist/workspace/utils/placement/split-sizing.utils.js +108 -0
- package/dist/workspace/utils/placement/split-sizing.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/composition.utils.d.ts +17 -0
- package/dist/workspace/utils/presentation/composition.utils.js +95 -0
- package/dist/workspace/utils/presentation/composition.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/groups.utils.d.ts +91 -0
- package/dist/workspace/utils/presentation/groups.utils.js +169 -0
- package/dist/workspace/utils/presentation/groups.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/header-configuration.utils.d.ts +11 -0
- package/dist/workspace/utils/presentation/header-configuration.utils.js +7 -0
- package/dist/workspace/utils/presentation/header-configuration.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/measurements.utils.d.ts +21 -0
- package/dist/workspace/utils/presentation/measurements.utils.js +28 -0
- package/dist/workspace/utils/presentation/measurements.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/offers.utils.d.ts +43 -0
- package/dist/workspace/utils/presentation/offers.utils.js +137 -0
- package/dist/workspace/utils/presentation/offers.utils.js.map +1 -0
- package/dist/workspace/utils/presentation/preview.utils.d.ts +6 -0
- package/dist/workspace/utils/presentation/preview.utils.js +36 -0
- package/dist/workspace/utils/presentation/preview.utils.js.map +1 -0
- package/dist/workspace/workspace.d.ts +103 -0
- package/dist/workspace/workspace.examples.js +5 -0
- package/dist/workspace/workspace.examples.js.map +1 -0
- package/dist/workspace/workspace.examples.json +133 -0
- package/dist/workspace/workspace.js +5 -0
- package/dist/workspace/workspace.js.map +1 -0
- package/dist/workspace/workspace.types.d.ts +3 -0
- package/dist/workspace/workspace2.js +518 -0
- package/dist/workspace/workspace2.js.map +1 -0
- package/package.json +26 -3
- package/dist/polyfills/index.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
{
|
|
2
|
+
"element": "nve-workspace",
|
|
3
|
+
"entrypoint": "@nvidia-elements/core/workspace/workspace.examples.json",
|
|
4
|
+
"items": [
|
|
5
|
+
{
|
|
6
|
+
"id": "workspace",
|
|
7
|
+
"name": "Default",
|
|
8
|
+
"template": "<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",
|
|
9
|
+
"summary": "Arrange panels in nested groups while retaining application content. Drag panel headers or tabs to move panels, group handles to move tabs together, and separators to resize.",
|
|
10
|
+
"description": "",
|
|
11
|
+
"composition": false,
|
|
12
|
+
"tags": []
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "workspace-resizable",
|
|
16
|
+
"name": "Resizable",
|
|
17
|
+
"template": "<nve-workspace\n resizable\n value='{\"version\":1,\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"editor\",\"notes\"],\"active\":\"editor\"},{\"type\":\"group\",\"panels\":[\"preview\"],\"active\":\"preview\"}]},\"closed\":[]}'\n style=\"height: 420px\"\n>\n <nve-workspace-panel id=\"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>\n <nve-workspace-panel id=\"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=\"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>\n",
|
|
18
|
+
"summary": "Resize groups within a fixed arrangement and switch tabs while retaining application content.",
|
|
19
|
+
"description": "",
|
|
20
|
+
"composition": false,
|
|
21
|
+
"tags": []
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "workspace-rearrangeable",
|
|
25
|
+
"name": "Rearrangeable",
|
|
26
|
+
"template": "<nve-workspace\n rearrangeable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"editor\",\"notes\"],\"active\":\"editor\"},{\"type\":\"group\",\"panels\":[\"preview\"],\"active\":\"preview\"}]}}'\n>\n <nve-workspace-panel id=\"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>\n <nve-workspace-panel id=\"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=\"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>\n",
|
|
27
|
+
"summary": "Rearrange panels while keeping tabbed panels together.",
|
|
28
|
+
"description": "",
|
|
29
|
+
"composition": false,
|
|
30
|
+
"tags": []
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "workspace-groupable",
|
|
34
|
+
"name": "Groupable",
|
|
35
|
+
"template": "<div id=\"regroup-example\" nve-layout=\"column gap:md\">\n <nve-button>Reset layout</nve-button>\n <nve-workspace\n rearrangeable\n groupable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"group-editor\",\"group-notes\"],\"active\":\"group-editor\"},{\"type\":\"group\",\"panels\":[\"group-preview\"],\"active\":\"group-preview\"}]}}'\n >\n <nve-workspace-panel id=\"group-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>\n <nve-workspace-panel id=\"group-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=\"group-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>\n <script type=\"module\">\n const example = document.querySelector(\"#regroup-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const initialValue = workspace.getAttribute(\"value\");\n example.querySelector(\"nve-button\").addEventListener(\"click\", () => {\n workspace.value = initialValue;\n });\n </script>\n</div>\n",
|
|
36
|
+
"summary": "Join panels into tabbed groups or move individual tabs out.",
|
|
37
|
+
"description": "",
|
|
38
|
+
"composition": true,
|
|
39
|
+
"tags": []
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "workspace-closable",
|
|
43
|
+
"name": "Closable",
|
|
44
|
+
"template": "<div id=\"open-close-example\" nve-layout=\"column gap:md\">\n <div nve-layout=\"row gap:md align:space-between align:wrap\">\n <nve-button id=\"reset-open-close\">Reset layout</nve-button>\n <div nve-layout=\"row gap:sm\">\n <nve-button command=\"--open\" commandfor=\"retained-editor\">Open editor</nve-button>\n <nve-button command=\"--close\" commandfor=\"retained-editor\">Close editor</nve-button>\n </div>\n </div>\n <nve-workspace\n closable\n groupable\n rearrangeable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"retained-editor\",\"retained-notes\"],\"active\":\"retained-editor\"},{\"type\":\"group\",\"panels\":[\"restorable-preview\"],\"active\":\"restorable-preview\"}]},\"closed\":[]}'\n >\n <nve-workspace-panel id=\"retained-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>\n <nve-workspace-panel id=\"restorable-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=\"retained-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>\n <script type=\"module\">\n const example = document.querySelector(\"#open-close-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const initialValue = workspace.getAttribute(\"value\");\n example.querySelector(\"#reset-open-close\").addEventListener(\"click\", () => {\n workspace.value = initialValue;\n });\n </script>\n</div>\n",
|
|
45
|
+
"summary": "Close and reopen panels while retaining their positions and application content.",
|
|
46
|
+
"description": "",
|
|
47
|
+
"composition": true,
|
|
48
|
+
"tags": []
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "workspace-fullscreenable",
|
|
52
|
+
"name": "Fullscreenable",
|
|
53
|
+
"template": "<div id=\"fullscreen-example\" nve-layout=\"column gap:md\">\n <nve-button>Reset layout</nve-button>\n <nve-workspace\n fullscreenable\n closable\n rearrangeable\n groupable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"fullscreen-editor\",\"fullscreen-notes\"],\"active\":\"fullscreen-editor\"},{\"type\":\"group\",\"panels\":[\"fullscreen-preview\"],\"active\":\"fullscreen-preview\"}]}}'\n >\n <nve-workspace-panel id=\"fullscreen-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>\n <nve-workspace-panel id=\"fullscreen-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=\"fullscreen-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>\n <script type=\"module\">\n const example = document.querySelector(\"#fullscreen-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const initialValue = workspace.getAttribute(\"value\");\n example.querySelector(\"nve-button\").addEventListener(\"click\", () => {\n workspace.value = initialValue;\n });\n </script>\n</div>\n",
|
|
54
|
+
"summary": "Expand a group and its tabs to full screen.",
|
|
55
|
+
"description": "",
|
|
56
|
+
"composition": true,
|
|
57
|
+
"tags": []
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "workspace-custom-panel-actions",
|
|
61
|
+
"name": "CustomPanelActions",
|
|
62
|
+
"template": "<div nve-layout=\"column gap:md\">\n <nve-button id=\"a-reopen\" popovertarget=\"a-open\" disabled>Reopen</nve-button>\n <nve-workspace\n id=\"a-demo\"\n fullscreenable\n groupable\n rearrangeable\n closable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"a-editor\",\"a-notes\"],\"active\":\"a-editor\"},{\"type\":\"group\",\"panels\":[\"a-preview\"],\"active\":\"a-preview\"}]}}'\n >\n <nve-workspace-panel id=\"a-editor\">\n <nve-workspace-panel-header>\n Editor\n <nve-icon-button slot=\"suffix\" icon-name=\"more-actions\" container=\"flat\" size=\"sm\" aria-label=\"Editor actions\" value=\"a-editor\" popovertarget=\"a-menu\"></nve-icon-button>\n </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>\n <nve-workspace-panel id=\"a-notes\">\n <nve-workspace-panel-header>\n Notes\n <nve-icon-button slot=\"suffix\" icon-name=\"more-actions\" container=\"flat\" size=\"sm\" aria-label=\"Notes actions\" value=\"a-notes\" popovertarget=\"a-menu\"></nve-icon-button>\n </nve-workspace-panel-header>\n <nve-workspace-panel-content>Notes content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"a-preview\">\n <nve-workspace-panel-header>\n Preview\n <nve-icon-button slot=\"suffix\" icon-name=\"more-actions\" container=\"flat\" size=\"sm\" aria-label=\"Preview actions\" value=\"a-preview\" popovertarget=\"a-menu\"></nve-icon-button>\n </nve-workspace-panel-header>\n <nve-workspace-panel-content>Preview content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-dropdown-group>\n <nve-dropdown id=\"a-menu\">\n <nve-menu>\n <nve-menu-item command=\"--toggle-fullscreen\">Fullscreen</nve-menu-item>\n <nve-menu-item popovertarget=\"a-move\">\n Move to\n <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item popovertarget=\"a-split\">\n Split\n <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item command=\"--close\">Close</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"a-move\" position=\"right\">\n <nve-menu>\n <nve-menu-item command=\"--place\" data-target=\"a-editor\">Editor</nve-menu-item>\n <nve-menu-item command=\"--place\" data-target=\"a-notes\">Notes</nve-menu-item>\n <nve-menu-item command=\"--place\" data-target=\"a-preview\">Preview</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"a-open\" position=\"bottom\">\n <nve-menu>\n <nve-menu-item command=\"--open\" data-target=\"a-editor\">Editor</nve-menu-item>\n <nve-menu-item command=\"--open\" data-target=\"a-notes\">Notes</nve-menu-item>\n <nve-menu-item command=\"--open\" data-target=\"a-preview\">Preview</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"a-split\" position=\"right\">\n <nve-menu>\n <nve-menu-item command=\"--place\" data-side=\"left\">Left</nve-menu-item>\n <nve-menu-item command=\"--place\" data-side=\"right\">Right</nve-menu-item>\n <nve-menu-item command=\"--place\" data-side=\"top\">Above</nve-menu-item>\n <nve-menu-item command=\"--place\" data-side=\"bottom\">Below</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n </nve-dropdown-group>\n </nve-workspace>\n <script type=\"module\">\n const workspace = document.querySelector(\"#a-demo\");\n const dropdownGroup = workspace.querySelector(\"nve-dropdown-group\");\n const reopen = document.querySelector(\"#a-reopen\");\n let panelId;\n\n function refresh() {\n const { root, closed } = JSON.parse(workspace.value);\n const labels = new Map([...workspace.querySelectorAll(\":scope > nve-workspace-panel\")].map((panel) => [panel.id, panel.querySelector(\"nve-workspace-panel-header\").textContent.trim()]));\n const groups = getOpenPanelGroups(root, labels, closed);\n const currentGroup = groups.find((ids) => ids.includes(panelId));\n const splitTarget = currentGroup?.find((id) => id !== panelId);\n\n updateMoveMenu(groups, currentGroup, labels);\n updateReopenMenu(closed, labels);\n\n for (const item of dropdownGroup.querySelectorAll(\"[command]\")) {\n item.commandForElement = workspace;\n item.value = item.command === \"--open\" ? item.dataset.target : panelId;\n if (item.dataset.side) {\n item.placement = { operation: \"split\", target: splitTarget, position: item.dataset.side };\n }\n item.disabled = item.style.display === \"none\" || !workspace.isCommandAvailable(item.command, item);\n }\n\n for (const trigger of dropdownGroup.querySelectorAll(\"[popovertarget]\")) {\n const items = trigger.popoverTargetElement.querySelectorAll(\"[command]\");\n trigger.disabled = [...items].every((item) => item.disabled);\n }\n reopen.disabled = !closed.some((id) => labels.has(id));\n }\n\n function getOpenPanelGroups(node, labels, closed) {\n if (!node) return [];\n if (node.type === \"group\") {\n return [node.panels.filter((id) => labels.has(id) && !closed.includes(id))];\n }\n return node.children.flatMap((child) => getOpenPanelGroups(child, labels, closed));\n }\n\n function updateMoveMenu(groups, currentGroup, labels) {\n for (const item of dropdownGroup.querySelectorAll(\"#a-move [data-target]\")) {\n const target = item.dataset.target;\n const members = groups.find((ids) => ids[0] === target && ids !== currentGroup);\n item.style.display = members ? \"\" : \"none\";\n item.placement = { operation: \"join\", target };\n if (members) {\n item.textContent = members.map((id) => labels.get(id)).join(\", \");\n }\n }\n }\n\n function updateReopenMenu(closed, labels) {\n for (const item of dropdownGroup.querySelectorAll(\"#a-open [data-target]\")) {\n const target = item.dataset.target;\n item.style.display = labels.has(target) && closed.includes(target) ? \"\" : \"none\";\n }\n }\n\n dropdownGroup.addEventListener(\n \"beforetoggle\",\n (event) => {\n if (event.newState !== \"open\") return;\n if (event.target.id === \"a-menu\") panelId = event.source?.value;\n refresh();\n },\n true,\n );\n workspace.addEventListener(\"commandavailabilitychange\", refresh);\n workspace.addEventListener(\"command\", () => dropdownGroup.close());\n </script>\n</div>\n",
|
|
63
|
+
"summary": "Add custom menus that use invoker commands to move, split, or close panels and toggle group fullscreen alongside application actions.",
|
|
64
|
+
"description": "",
|
|
65
|
+
"composition": true,
|
|
66
|
+
"tags": []
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "workspace-container",
|
|
70
|
+
"name": "Container",
|
|
71
|
+
"template": "<div nve-layout=\"column gap:md\">\n <nve-workspace\n container=\"inset\"\n resizable\n style=\"height: 220px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,1],\"children\":[{\"type\":\"group\",\"panels\":[\"container-inset\"],\"active\":\"container-inset\"},{\"type\":\"group\",\"panels\":[\"container-inset-preview\"],\"active\":\"container-inset-preview\"}]}}'\n >\n <nve-workspace-panel id=\"container-inset\">\n <nve-workspace-panel-header>Editor (inset)</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=\"container-inset-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>\n <nve-workspace\n container=\"flat\"\n resizable\n style=\"height: 220px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,1],\"children\":[{\"type\":\"group\",\"panels\":[\"container-flat\"],\"active\":\"container-flat\"},{\"type\":\"group\",\"panels\":[\"container-flat-preview\"],\"active\":\"container-flat-preview\"}]}}'\n >\n <nve-workspace-panel id=\"container-flat\">\n <nve-workspace-panel-header>Editor (flat)</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=\"container-flat-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>\n <nve-workspace\n container=\"full\"\n resizable\n style=\"height: 220px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,1],\"children\":[{\"type\":\"group\",\"panels\":[\"container-full\"],\"active\":\"container-full\"},{\"type\":\"group\",\"panels\":[\"container-full-preview\"],\"active\":\"container-full-preview\"}]}}'\n >\n <nve-workspace-panel id=\"container-full\">\n <nve-workspace-panel-header>Editor (full)</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=\"container-full-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>\n</div>\n",
|
|
72
|
+
"summary": "Match the surrounding layout with inset, flat, or full container framing.",
|
|
73
|
+
"description": "",
|
|
74
|
+
"composition": false,
|
|
75
|
+
"tags": [
|
|
76
|
+
"test-case"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "workspace-custom-headers",
|
|
81
|
+
"name": "CustomHeaders",
|
|
82
|
+
"template": "<div id=\"compact-example\" nve-layout=\"column gap:md\">\n <nve-button>Reset layout</nve-button>\n <style>\n #condensed-workspace > nve-workspace-panel {\n --box-shadow: none;\n }\n #condensed-workspace nve-workspace-panel-header {\n --min-height: var(--nve-ref-size-800);\n --padding: var(--nve-ref-size-100) var(--nve-ref-size-100) var(--nve-ref-size-100) var(--nve-ref-size-250);\n }\n </style>\n <nve-workspace\n id=\"condensed-workspace\"\n rearrangeable\n groupable\n closable\n resizable\n fullscreenable\n style=\"--gap: 0; --border-radius: 0; --header-control-size: var(--nve-ref-size-600); --close-button-inset: var(--nve-ref-size-100); height: 300px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"condensed-editor\",\"condensed-notes\"],\"active\":\"condensed-editor\"},{\"type\":\"group\",\"panels\":[\"condensed-preview\"],\"active\":\"condensed-preview\"}]}}'\n >\n <nve-workspace-panel id=\"condensed-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>\n <nve-workspace-panel id=\"condensed-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=\"condensed-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>\n <script type=\"module\">\n const example = document.querySelector(\"#compact-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const initialValue = workspace.getAttribute(\"value\");\n example.querySelector(\"nve-button\").addEventListener(\"click\", () => {\n workspace.value = initialValue;\n });\n </script>\n</div>\n",
|
|
83
|
+
"summary": "Customize header spacing, control sizes, and panel corners for a compact workspace.",
|
|
84
|
+
"description": "",
|
|
85
|
+
"composition": true,
|
|
86
|
+
"tags": [
|
|
87
|
+
"theme"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "workspace-save-restore",
|
|
92
|
+
"name": "SaveRestore",
|
|
93
|
+
"template": "<div nve-layout=\"column gap:md\">\n <div nve-layout=\"row gap:md align:space-between align:wrap\">\n <nve-button id=\"reset-arrangement\">Reset layout</nve-button>\n <div nve-layout=\"row gap:sm\">\n <nve-button id=\"save-arrangement\">Save layout</nve-button>\n <nve-button id=\"restore-arrangement\">Restore layout</nve-button>\n </div>\n </div>\n <nve-workspace\n id=\"saved-arrangement\"\n groupable\n rearrangeable\n closable\n resizable\n style=\"height: 420px\"\n value='{\"version\":1,\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[2,1],\"children\":[{\"type\":\"group\",\"panels\":[\"saved-editor\",\"saved-notes\"],\"active\":\"saved-editor\"},{\"type\":\"group\",\"panels\":[\"saved-preview\"],\"active\":\"saved-preview\"}]},\"closed\":[]}'\n >\n <nve-workspace-panel id=\"saved-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>\n <nve-workspace-panel id=\"saved-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=\"saved-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>\n <script type=\"module\">\n const workspace = document.querySelector(\"#saved-arrangement\");\n const save = document.querySelector(\"#save-arrangement\");\n const restore = document.querySelector(\"#restore-arrangement\");\n const reset = document.querySelector(\"#reset-arrangement\");\n const initialValue = workspace.getAttribute(\"value\");\n let savedValue = initialValue;\n save.addEventListener(\"click\", () => {\n savedValue = workspace.value;\n });\n restore.addEventListener(\"click\", () => {\n workspace.animateTo(savedValue);\n });\n reset.addEventListener(\"click\", () => {\n workspace.animateTo(initialValue);\n });\n </script>\n</div>\n",
|
|
94
|
+
"summary": "Save and restore groups, split proportions, and closed panels without recreating application content.",
|
|
95
|
+
"description": "",
|
|
96
|
+
"composition": true,
|
|
97
|
+
"tags": []
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "workspace-constrained-space",
|
|
101
|
+
"name": "ConstrainedSpace",
|
|
102
|
+
"template": "<div id=\"constrained-example\" nve-layout=\"column gap:md\">\n <nve-range>\n <label>\n Workspace height:\n <output for=\"workspace-height\">180</output>\n px\n </label>\n <input id=\"workspace-height\" type=\"range\" min=\"180\" max=\"420\" value=\"180\" />\n </nve-range>\n <nve-button>Reset layout</nve-button>\n <nve-workspace\n groupable\n rearrangeable\n resizable\n style=\"height: 180px\"\n value='{\"version\":1,\"root\":{\"type\":\"split\",\"axis\":\"vertical\",\"weights\":[1,1],\"children\":[{\"type\":\"group\",\"panels\":[\"top\"],\"active\":\"top\"},{\"type\":\"group\",\"panels\":[\"bottom\"],\"active\":\"bottom\"}]},\"closed\":[]}'\n >\n <nve-workspace-panel id=\"top\" min-height=\"110\">\n <nve-workspace-panel-header>Top</nve-workspace-panel-header>\n <nve-workspace-panel-content>Top content</nve-workspace-panel-content>\n </nve-workspace-panel>\n <nve-workspace-panel id=\"bottom\" min-height=\"110\">\n <nve-workspace-panel-header>Bottom</nve-workspace-panel-header>\n <nve-workspace-panel-content>Bottom content</nve-workspace-panel-content>\n </nve-workspace-panel>\n </nve-workspace>\n <script type=\"module\">\n const example = document.querySelector(\"#constrained-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const range = example.querySelector(\"input\");\n const output = example.querySelector(\"output\");\n const initialValue = workspace.getAttribute(\"value\");\n const updateHeight = () => {\n workspace.style.height = range.value + \"px\";\n output.value = range.value;\n };\n range.addEventListener(\"input\", updateHeight);\n example.querySelector(\"nve-button\").addEventListener(\"click\", () => {\n workspace.value = initialValue;\n range.value = \"180\";\n updateHeight();\n });\n </script>\n</div>\n",
|
|
103
|
+
"summary": "The workspace scrolls when panel minimum heights exceed the available space. Increasing its height restores resizing.",
|
|
104
|
+
"description": "",
|
|
105
|
+
"composition": true,
|
|
106
|
+
"tags": [
|
|
107
|
+
"test-case"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "workspace-tab-overflow",
|
|
112
|
+
"name": "TabOverflow",
|
|
113
|
+
"template": "<nve-workspace style=\"width: 260px; height: 260px\">\n <nve-workspace-panel id=\"view-0\">\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>\n\n <nve-workspace-panel id=\"view-1\">\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\n <nve-workspace-panel id=\"view-2\">\n <nve-workspace-panel-header>Terminal</nve-workspace-panel-header>\n <nve-workspace-panel-content> Terminal content </nve-workspace-panel-content>\n </nve-workspace-panel>\n\n <nve-workspace-panel id=\"view-3\">\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\n <nve-workspace-panel id=\"view-4\">\n <nve-workspace-panel-header>Project outline</nve-workspace-panel-header>\n <nve-workspace-panel-content> Project outline content </nve-workspace-panel-content>\n </nve-workspace-panel>\n\n <nve-workspace-panel id=\"view-5\">\n <nve-workspace-panel-header>Recent activity</nve-workspace-panel-header>\n <nve-workspace-panel-content> Recent activity content </nve-workspace-panel-content>\n </nve-workspace-panel>\n\n <nve-workspace-panel id=\"view-6\">\n <nve-workspace-panel-header>Task history</nve-workspace-panel-header>\n <nve-workspace-panel-content> Task history content </nve-workspace-panel-content>\n </nve-workspace-panel>\n\n <nve-workspace-panel id=\"view-7\">\n <nve-workspace-panel-header>Search results</nve-workspace-panel-header>\n <nve-workspace-panel-content> Search results content </nve-workspace-panel-content>\n </nve-workspace-panel>\n</nve-workspace>\n",
|
|
114
|
+
"summary": "Keep tab titles readable in a narrow group with scrolling and keyboard selection.",
|
|
115
|
+
"description": "",
|
|
116
|
+
"composition": false,
|
|
117
|
+
"tags": [
|
|
118
|
+
"test-case"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "workspace-gap",
|
|
123
|
+
"name": "Gap",
|
|
124
|
+
"template": "<div id=\"workspace-gap-example\" nve-layout=\"column gap:md\">\n <nve-range>\n <label>\n Gap:\n <output for=\"workspace-gap-range\">0</output>\n px\n </label>\n <input id=\"workspace-gap-range\" type=\"range\" min=\"0\" max=\"24\" value=\"0\" />\n </nve-range>\n <nve-workspace\n container=\"full\"\n resizable\n style=\"--gap: 0px; height: 360px\"\n value='{\"version\":1,\"closed\":[],\"root\":{\"type\":\"split\",\"axis\":\"horizontal\",\"weights\":[1,1],\"children\":[{\"type\":\"group\",\"panels\":[\"gap-editor\"],\"active\":\"gap-editor\"},{\"type\":\"group\",\"panels\":[\"gap-preview\"],\"active\":\"gap-preview\"}]}}'\n >\n <nve-workspace-panel id=\"gap-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>\n <nve-workspace-panel id=\"gap-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>\n <script type=\"module\">\n const example = document.querySelector(\"#workspace-gap-example\");\n const workspace = example.querySelector(\"nve-workspace\");\n const range = example.querySelector(\"input\");\n const output = example.querySelector(\"output\");\n range.addEventListener(\"input\", () => {\n workspace.style.setProperty(\"--gap\", range.value + \"px\");\n output.value = range.value;\n });\n </script>\n</div>\n",
|
|
125
|
+
"summary": "Adjust spacing between groups with --gap. Zero joins the group frames.",
|
|
126
|
+
"description": "",
|
|
127
|
+
"composition": true,
|
|
128
|
+
"tags": [
|
|
129
|
+
"test-case"
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// src/workspace/workspace.css?inline
|
|
2
|
+
var e = ":host{--gap: var(--nve-ref-size-150);--border-radius: var(--nve-ref-border-radius-lg);--tab-min-width: calc(3 * var(--nve-ref-size-1000));--tab-border: var(--nve-ref-border-width-sm) solid var(--nve-ref-border-color-muted);--close-button-inset: var(--nve-ref-size-200);--header-control-size: var(--nve-ref-size-700);--header-control-inset: var(--nve-ref-size-100);--_workspace-border-radius: var(--border-radius);--animation-duration: var(--nve-ref-animation-duration-150);--animation-easing: var(--nve-ref-animation-easing-100);--_placement-reserved-background: color-mix(in srgb, var(--nve-sys-accent-secondary-background) 28%, transparent);--gutter-background: transparent;--gutter-hover-background: var(--nve-sys-accent-secondary-background);display:grid;width:100%;width:stretch;grid-template-rows:minmax(0,1fr)}[internal-host]{position:relative;display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;contain:size;contain-intrinsic-block-size:var(--_minimum-height, 0)}.viewport{position:relative;min-width:0;min-height:0;overflow:auto}.canvas{width:100%;height:100%;position:relative;overflow:clip}::slotted(nve-workspace-panel){position:absolute}::slotted(nve-workspace-panel:not(:state(workspace-presented))){display:none!important}.group-chrome{position:absolute;overflow:clip;border-radius:var(--_workspace-border-radius);pointer-events:none}.tabs{direction:ltr;position:relative;display:flex;pointer-events:auto;background:var(--nve-sys-layer-container-background)}.tabs[data-carried-reservation]{visibility:hidden}.tablist{position:relative;flex:none;min-width:0;overflow:clip}.tablist[data-scrollable]{overflow:auto hidden;scrollbar-color:var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);scrollbar-width:var(--nve-sys-scrollbar-width)}.tab-track{position:relative;height:100%;display:block;--gap: 0;--indicator-border-radius: var(--nve-ref-border-radius-none)}[internal-host][data-resizing] .tab-track,[internal-host][data-rearranging] .tab-track{--indicator-animation-duration: 0ms}.tab-entry{--padding: 0;--gap: 0;--border-radius: var(--nve-ref-border-radius-none)}:host([closable]) .tab-entry{--padding: 0 var(--close-button-inset) 0 0}.tab-entry nve-tabs-item{--padding: 0 var(--nve-ref-size-200)}.tablist .tab-entry{position:absolute;top:0;height:100%;--width: 100%;box-sizing:border-box}.tablist .tab-entry+.tab-entry,.tabs>nve-drag-handle+.tablist .tab-entry:first-child{border-inline-start:var(--tab-border)}[data-carried-tab]{visibility:hidden}[internal-host][data-rearranging] .tablist .tab-entry{transition:left var(--animation-duration) var(--animation-easing),width var(--animation-duration) var(--animation-easing)}.panel-entry{padding:var(--padding);display:flex;align-items:center}.panel-title{display:flex;align-items:center;flex:1;min-width:0;height:100%;box-sizing:border-box;padding:0 var(--nve-ref-size-200);overflow:hidden;white-space:nowrap;color:var(--nve-sys-text-emphasis-color);font-size:var(--nve-ref-font-size-100);font-weight:var(--nve-ref-font-weight-semibold);line-height:var(--nve-ref-font-size-500)}.fallback-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([rearrangeable][groupable]) .tabs nve-tabs-item,:host([rearrangeable]) .tabs .panel-title{--cursor: grab;cursor:grab;touch-action:pan-x}.tabs nve-drag-handle{flex:0 0 auto;--cursor: grab;--height: 100%;--border-radius: var(--nve-ref-border-radius-none);touch-action:none}:is(.tabs,.chrome) nve-drag-handle{--width: calc(var(--header-control-size) + 2 * var(--header-control-inset))}nve-icon-button:is([part~=close-button],[part~=fullscreen-button]){--width: var(--header-control-size);--height: var(--header-control-size)}.group-actions{display:flex;align-items:center;flex:none;padding-inline:var(--header-control-inset) calc(var(--header-control-inset) + var(--nve-ref-border-width-sm));border-inline-start:var(--tab-border);box-sizing:border-box}.group-actions[data-authored-suffix]{border-inline-start-color:transparent}.gutter{position:absolute;background:var(--gutter-background);pointer-events:none}nve-resize-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:auto;--background: transparent}nve-resize-handle:hover:not(:state(active))::part(_line){background:var(--gutter-hover-background)}.preview-layer{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:6}.destination{position:absolute;inset:0 auto auto 0;pointer-events:none;z-index:6;box-sizing:border-box;--background: transparent;background-color:color-mix(in srgb,var(--nve-sys-accent-secondary-background) 16%,transparent);border-radius:var(--border-radius);transition:background-color var(--animation-duration) var(--animation-easing),transform var(--animation-duration) var(--animation-easing),width var(--animation-duration) var(--animation-easing),height var(--animation-duration) var(--animation-easing)}.destination[data-reserved-placement]{background-color:var(--_placement-reserved-background)}.destination[data-cue-clipped]{visibility:hidden}.destination[data-drop-blocked]{--border: 2px solid var(--nve-sys-support-danger-emphasis-color)}.destination nve-icon{position:absolute;inset:var(--nve-ref-space-sm) auto auto var(--nve-ref-space-sm)}.carried{position:absolute;z-index:8;pointer-events:none;white-space:nowrap;--background: var(--nve-sys-layer-container-background);--border: var(--nve-ref-border-width-sm) solid var(--nve-sys-accent-secondary-background)}.context-boundary{position:absolute;box-sizing:border-box;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 var(--nve-ref-border-width-md) var(--nve-sys-accent-secondary-background);z-index:4}.context-boundary[data-active]{opacity:1}.order-overlay{position:absolute;pointer-events:none;background:var(--_placement-reserved-background);z-index:7}.seam-badge{position:absolute;box-sizing:border-box;display:grid;place-items:center;width:var(--nve-ref-size-800);height:var(--nve-ref-size-800);border:var(--nve-ref-border-width-sm) solid var(--nve-ref-border-color-muted);border-radius:var(--nve-ref-border-radius-full);background:var(--nve-sys-layer-container-background);color:var(--nve-sys-accent-secondary-background);transform:translate(-50%,-50%);pointer-events:none}.seam-badge>svg{display:block;width:var(--nve-ref-size-500);height:var(--nve-ref-size-500);overflow:visible;pointer-events:none}[internal-host][data-rearranging] .context-boundary,[internal-host][data-rearranging] .group-chrome,[internal-host][data-rearranging] ::slotted(nve-workspace-panel){transition:left var(--animation-duration) var(--animation-easing),top var(--animation-duration) var(--animation-easing),width var(--animation-duration) var(--animation-easing),height var(--animation-duration) var(--animation-easing)}.chrome{animation-duration:var(--animation-duration);animation-timing-function:var(--animation-easing);position:absolute;visibility:hidden;pointer-events:none;width:max-content}.gap-probe{position:absolute;width:max(0px,var(--gap));height:0}.tab-min-probe{position:absolute;width:max(0px,var(--tab-min-width));height:0}.chrome-header{align-items:center;min-height:calc(var(--nve-ref-size-1000) + var(--nve-ref-size-200));direction:ltr;display:flex}:host(:fullscreen){width:100%;height:100%;background:var(--nve-sys-layer-container-background)}:host([container=\"flat\"]) .tabs{background:transparent}:host([container=\"flat\"]),:host([container=\"full\"]){--_workspace-border-radius: var(--nve-ref-border-radius-none)}";
|
|
3
|
+
export { e as default };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","names":["workspace_default"],"sources":["../../src/workspace/workspace.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\n:host {\n --gap: var(--nve-ref-size-150);\n --border-radius: var(--nve-ref-border-radius-lg);\n --tab-min-width: calc(3 * var(--nve-ref-size-1000));\n --tab-border: var(--nve-ref-border-width-sm) solid var(--nve-ref-border-color-muted);\n --close-button-inset: var(--nve-ref-size-200);\n --header-control-size: var(--nve-ref-size-700);\n --header-control-inset: var(--nve-ref-size-100);\n --_workspace-border-radius: var(--border-radius);\n --animation-duration: var(--nve-ref-animation-duration-150);\n --animation-easing: var(--nve-ref-animation-easing-100);\n --_placement-reserved-background: color-mix(in srgb, var(--nve-sys-accent-secondary-background) 28%, transparent);\n --gutter-background: transparent;\n --gutter-hover-background: var(--nve-sys-accent-secondary-background);\n display: grid;\n width: 100%; /* fallback safari */\n width: stretch;\n grid-template-rows: minmax(0, 1fr);\n}\n\n[internal-host] {\n position: relative;\n display: grid;\n grid-template-rows: minmax(0, 1fr);\n min-width: 0;\n min-height: 0;\n contain: size;\n contain-intrinsic-block-size: var(--_minimum-height, 0);\n}\n\n.viewport {\n position: relative;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n}\n\n.canvas {\n width: 100%;\n height: 100%;\n position: relative;\n overflow: clip;\n}\n\n::slotted(nve-workspace-panel) {\n position: absolute;\n}\n\n::slotted(nve-workspace-panel:not(:state(workspace-presented))) {\n display: none !important;\n}\n\n.group-chrome {\n position: absolute;\n overflow: clip;\n border-radius: var(--_workspace-border-radius);\n pointer-events: none;\n}\n\n.tabs {\n direction: ltr;\n position: relative;\n display: flex;\n pointer-events: auto;\n background: var(--nve-sys-layer-container-background);\n}\n\n.tabs[data-carried-reservation] {\n visibility: hidden;\n}\n\n.tablist {\n position: relative;\n flex: none;\n min-width: 0;\n overflow: clip;\n}\n\n.tablist[data-scrollable] {\n overflow: auto hidden;\n scrollbar-color: var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);\n scrollbar-width: var(--nve-sys-scrollbar-width);\n}\n\n.tab-track {\n position: relative;\n height: 100%;\n display: block;\n --gap: 0;\n --indicator-border-radius: var(--nve-ref-border-radius-none);\n}\n\n[internal-host][data-resizing] .tab-track,\n[internal-host][data-rearranging] .tab-track {\n --indicator-animation-duration: 0ms;\n}\n\n.tab-entry {\n --padding: 0;\n --gap: 0;\n --border-radius: var(--nve-ref-border-radius-none);\n}\n\n:host([closable]) .tab-entry {\n --padding: 0 var(--close-button-inset) 0 0;\n}\n\n.tab-entry nve-tabs-item {\n --padding: 0 var(--nve-ref-size-200);\n}\n\n.tablist .tab-entry {\n position: absolute;\n top: 0;\n height: 100%;\n --width: 100%;\n box-sizing: border-box;\n}\n\n.tablist .tab-entry + .tab-entry,\n.tabs > nve-drag-handle + .tablist .tab-entry:first-child {\n border-inline-start: var(--tab-border);\n}\n\n[data-carried-tab] {\n visibility: hidden;\n}\n\n[internal-host][data-rearranging] .tablist .tab-entry {\n transition:\n left var(--animation-duration) var(--animation-easing),\n width var(--animation-duration) var(--animation-easing);\n}\n\n.panel-entry {\n padding: var(--padding);\n display: flex;\n align-items: center;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n height: 100%;\n box-sizing: border-box;\n padding: 0 var(--nve-ref-size-200);\n overflow: hidden;\n white-space: nowrap;\n color: var(--nve-sys-text-emphasis-color);\n font-size: var(--nve-ref-font-size-100);\n font-weight: var(--nve-ref-font-weight-semibold);\n line-height: var(--nve-ref-font-size-500);\n}\n\n.fallback-title {\n display: block;\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host([rearrangeable][groupable]) .tabs nve-tabs-item,\n:host([rearrangeable]) .tabs .panel-title {\n --cursor: grab;\n cursor: grab;\n touch-action: pan-x;\n}\n\n.tabs nve-drag-handle {\n flex: 0 0 auto;\n --cursor: grab;\n --height: 100%;\n --border-radius: var(--nve-ref-border-radius-none);\n touch-action: none;\n}\n\n:is(.tabs, .chrome) nve-drag-handle {\n --width: calc(var(--header-control-size) + 2 * var(--header-control-inset));\n}\n\nnve-icon-button:is([part~='close-button'], [part~='fullscreen-button']) {\n --width: var(--header-control-size);\n --height: var(--header-control-size);\n}\n\n.group-actions {\n display: flex;\n align-items: center;\n flex: none;\n padding-inline: var(--header-control-inset) calc(var(--header-control-inset) + var(--nve-ref-border-width-sm));\n border-inline-start: var(--tab-border);\n box-sizing: border-box;\n}\n\n.group-actions[data-authored-suffix] {\n /* Keep the measured control width while the authored suffix supplies the divider. */\n border-inline-start-color: transparent;\n}\n\n.gutter {\n position: absolute;\n background: var(--gutter-background);\n pointer-events: none;\n}\n\nnve-resize-handle {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n --background: transparent;\n}\n\nnve-resize-handle:hover:not(:state(active))::part(_line) {\n background: var(--gutter-hover-background);\n}\n\n.preview-layer {\n position: absolute;\n inset: 0;\n overflow: clip;\n pointer-events: none;\n z-index: 6;\n}\n\n.destination {\n position: absolute;\n inset: 0 auto auto 0;\n pointer-events: none;\n z-index: 6;\n box-sizing: border-box;\n --background: transparent;\n background-color: color-mix(in srgb, var(--nve-sys-accent-secondary-background) 16%, transparent);\n border-radius: var(--border-radius);\n transition:\n background-color var(--animation-duration) var(--animation-easing),\n transform var(--animation-duration) var(--animation-easing),\n width var(--animation-duration) var(--animation-easing),\n height var(--animation-duration) var(--animation-easing);\n}\n\n.destination[data-reserved-placement] {\n background-color: var(--_placement-reserved-background);\n}\n\n.destination[data-cue-clipped] {\n visibility: hidden;\n}\n\n.destination[data-drop-blocked] {\n --border: 2px solid var(--nve-sys-support-danger-emphasis-color);\n}\n\n.destination nve-icon {\n position: absolute;\n inset: var(--nve-ref-space-sm) auto auto var(--nve-ref-space-sm);\n}\n\n.carried {\n position: absolute;\n z-index: 8;\n pointer-events: none;\n white-space: nowrap;\n --background: var(--nve-sys-layer-container-background);\n --border: var(--nve-ref-border-width-sm) solid var(--nve-sys-accent-secondary-background);\n}\n\n.context-boundary {\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0;\n box-shadow: inset 0 0 0 var(--nve-ref-border-width-md) var(--nve-sys-accent-secondary-background);\n z-index: 4;\n}\n\n.context-boundary[data-active] {\n opacity: 1;\n}\n\n.order-overlay {\n position: absolute;\n pointer-events: none;\n background: var(--_placement-reserved-background);\n z-index: 7;\n}\n\n.seam-badge {\n position: absolute;\n box-sizing: border-box;\n display: grid;\n place-items: center;\n width: var(--nve-ref-size-800);\n height: var(--nve-ref-size-800);\n border: var(--nve-ref-border-width-sm) solid var(--nve-ref-border-color-muted);\n border-radius: var(--nve-ref-border-radius-full);\n background: var(--nve-sys-layer-container-background);\n /* eslint-disable-next-line @nvidia-elements/lint/no-unexpected-css-variable -- The seam badge uses the same accent as the operating outline. */\n color: var(--nve-sys-accent-secondary-background);\n transform: translate(-50%, -50%);\n pointer-events: none;\n}\n\n.seam-badge > svg {\n display: block;\n width: var(--nve-ref-size-500);\n height: var(--nve-ref-size-500);\n overflow: visible;\n pointer-events: none;\n}\n\n[internal-host][data-rearranging] .context-boundary,\n[internal-host][data-rearranging] .group-chrome,\n[internal-host][data-rearranging] ::slotted(nve-workspace-panel) {\n transition:\n left var(--animation-duration) var(--animation-easing),\n top var(--animation-duration) var(--animation-easing),\n width var(--animation-duration) var(--animation-easing),\n height var(--animation-duration) var(--animation-easing);\n}\n\n.chrome {\n animation-duration: var(--animation-duration);\n animation-timing-function: var(--animation-easing);\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n width: max-content;\n}\n\n.gap-probe {\n position: absolute;\n width: max(0px, var(--gap));\n height: 0;\n}\n\n.tab-min-probe {\n position: absolute;\n width: max(0px, var(--tab-min-width));\n height: 0;\n}\n\n.chrome-header {\n align-items: center;\n min-height: calc(var(--nve-ref-size-1000) + var(--nve-ref-size-200));\n direction: ltr;\n display: flex;\n}\n\n:host(:fullscreen) {\n width: 100%;\n height: 100%;\n background: var(--nve-sys-layer-container-background);\n}\n\n:host([container='flat']) .tabs {\n background: transparent;\n}\n\n:host([container='flat']),\n:host([container='full']) {\n --_workspace-border-radius: var(--nve-ref-border-radius-none);\n}\n"],"mappings":""}
|