@salt-ds/lab 1.0.0-alpha.93 → 1.0.0-alpha.94
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 +104 -0
- package/css/salt-lab.css +163 -122
- package/dist-cjs/index.js +6 -8
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/toolbar-next/ToolbarContentNext.css.js +6 -0
- package/dist-cjs/toolbar-next/ToolbarContentNext.css.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarContentNext.js +32 -0
- package/dist-cjs/toolbar-next/ToolbarContentNext.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNext.css.js +6 -0
- package/dist-cjs/toolbar-next/ToolbarNext.css.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNext.js +394 -0
- package/dist-cjs/toolbar-next/ToolbarNext.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.css.js +6 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.css.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.js +705 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflowFloatingBoundary.js +165 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflowFloatingBoundary.js.map +1 -0
- package/dist-cjs/toolbar-next/TooltrayNext.css.js +6 -0
- package/dist-cjs/toolbar-next/TooltrayNext.css.js.map +1 -0
- package/dist-cjs/toolbar-next/TooltrayNext.js +55 -0
- package/dist-cjs/toolbar-next/TooltrayNext.js.map +1 -0
- package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js +391 -0
- package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -0
- package/dist-cjs/toolbar-next/toolbarNextUtils.js +215 -0
- package/dist-cjs/toolbar-next/toolbarNextUtils.js.map +1 -0
- package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js +334 -0
- package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -0
- package/dist-cjs/toolbar-next/useToolbarNextOverflow.js +743 -0
- package/dist-cjs/toolbar-next/useToolbarNextOverflow.js.map +1 -0
- package/dist-es/index.js +3 -4
- package/dist-es/index.js.map +1 -1
- package/dist-es/toolbar-next/ToolbarContentNext.css.js +4 -0
- package/dist-es/toolbar-next/ToolbarContentNext.css.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarContentNext.js +30 -0
- package/dist-es/toolbar-next/ToolbarContentNext.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNext.css.js +4 -0
- package/dist-es/toolbar-next/ToolbarNext.css.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNext.js +392 -0
- package/dist-es/toolbar-next/ToolbarNext.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNextOverflow.css.js +4 -0
- package/dist-es/toolbar-next/ToolbarNextOverflow.css.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNextOverflow.js +700 -0
- package/dist-es/toolbar-next/ToolbarNextOverflow.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNextOverflowFloatingBoundary.js +159 -0
- package/dist-es/toolbar-next/ToolbarNextOverflowFloatingBoundary.js.map +1 -0
- package/dist-es/toolbar-next/TooltrayNext.css.js +4 -0
- package/dist-es/toolbar-next/TooltrayNext.css.js.map +1 -0
- package/dist-es/toolbar-next/TooltrayNext.js +53 -0
- package/dist-es/toolbar-next/TooltrayNext.js.map +1 -0
- package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js +372 -0
- package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -0
- package/dist-es/toolbar-next/toolbarNextUtils.js +211 -0
- package/dist-es/toolbar-next/toolbarNextUtils.js.map +1 -0
- package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js +332 -0
- package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -0
- package/dist-es/toolbar-next/useToolbarNextOverflow.js +741 -0
- package/dist-es/toolbar-next/useToolbarNextOverflow.js.map +1 -0
- package/dist-types/index.d.ts +1 -1
- package/dist-types/toolbar-next/ToolbarContentNext.d.ts +11 -0
- package/dist-types/toolbar-next/ToolbarNext.d.ts +12 -0
- package/dist-types/toolbar-next/ToolbarNextOverflow.d.ts +34 -0
- package/dist-types/toolbar-next/ToolbarNextOverflowFloatingBoundary.d.ts +16 -0
- package/dist-types/toolbar-next/TooltrayNext.d.ts +37 -0
- package/dist-types/toolbar-next/index.d.ts +3 -0
- package/dist-types/toolbar-next/toolbarNextKeyboardUtils.d.ts +39 -0
- package/dist-types/toolbar-next/toolbarNextUtils.d.ts +42 -0
- package/dist-types/toolbar-next/useToolbarNextKeyboardNavigation.d.ts +41 -0
- package/dist-types/toolbar-next/useToolbarNextOverflow.d.ts +37 -0
- package/package.json +2 -2
- package/dist-cjs/tree/Tree.css.js +0 -6
- package/dist-cjs/tree/Tree.css.js.map +0 -1
- package/dist-cjs/tree/Tree.js +0 -303
- package/dist-cjs/tree/Tree.js.map +0 -1
- package/dist-cjs/tree/TreeContext.js +0 -31
- package/dist-cjs/tree/TreeContext.js.map +0 -1
- package/dist-cjs/tree/TreeNode.css.js +0 -6
- package/dist-cjs/tree/TreeNode.css.js.map +0 -1
- package/dist-cjs/tree/TreeNode.js +0 -103
- package/dist-cjs/tree/TreeNode.js.map +0 -1
- package/dist-cjs/tree/TreeNodeExpansionIcon.css.js +0 -6
- package/dist-cjs/tree/TreeNodeExpansionIcon.css.js.map +0 -1
- package/dist-cjs/tree/TreeNodeExpansionIcon.js +0 -62
- package/dist-cjs/tree/TreeNodeExpansionIcon.js.map +0 -1
- package/dist-cjs/tree/TreeNodeLabel.css.js +0 -6
- package/dist-cjs/tree/TreeNodeLabel.css.js.map +0 -1
- package/dist-cjs/tree/TreeNodeLabel.js +0 -26
- package/dist-cjs/tree/TreeNodeLabel.js.map +0 -1
- package/dist-cjs/tree/TreeNodeTrigger.css.js +0 -6
- package/dist-cjs/tree/TreeNodeTrigger.css.js.map +0 -1
- package/dist-cjs/tree/TreeNodeTrigger.js +0 -153
- package/dist-cjs/tree/TreeNodeTrigger.js.map +0 -1
- package/dist-cjs/tree/treeModel.js +0 -61
- package/dist-cjs/tree/treeModel.js.map +0 -1
- package/dist-cjs/tree/useTree.js +0 -337
- package/dist-cjs/tree/useTree.js.map +0 -1
- package/dist-es/tree/Tree.css.js +0 -4
- package/dist-es/tree/Tree.css.js.map +0 -1
- package/dist-es/tree/Tree.js +0 -301
- package/dist-es/tree/Tree.js.map +0 -1
- package/dist-es/tree/TreeContext.js +0 -26
- package/dist-es/tree/TreeContext.js.map +0 -1
- package/dist-es/tree/TreeNode.css.js +0 -4
- package/dist-es/tree/TreeNode.css.js.map +0 -1
- package/dist-es/tree/TreeNode.js +0 -101
- package/dist-es/tree/TreeNode.js.map +0 -1
- package/dist-es/tree/TreeNodeExpansionIcon.css.js +0 -4
- package/dist-es/tree/TreeNodeExpansionIcon.css.js.map +0 -1
- package/dist-es/tree/TreeNodeExpansionIcon.js +0 -60
- package/dist-es/tree/TreeNodeExpansionIcon.js.map +0 -1
- package/dist-es/tree/TreeNodeLabel.css.js +0 -4
- package/dist-es/tree/TreeNodeLabel.css.js.map +0 -1
- package/dist-es/tree/TreeNodeLabel.js +0 -24
- package/dist-es/tree/TreeNodeLabel.js.map +0 -1
- package/dist-es/tree/TreeNodeTrigger.css.js +0 -4
- package/dist-es/tree/TreeNodeTrigger.css.js.map +0 -1
- package/dist-es/tree/TreeNodeTrigger.js +0 -151
- package/dist-es/tree/TreeNodeTrigger.js.map +0 -1
- package/dist-es/tree/treeModel.js +0 -57
- package/dist-es/tree/treeModel.js.map +0 -1
- package/dist-es/tree/useTree.js +0 -335
- package/dist-es/tree/useTree.js.map +0 -1
- package/dist-types/tree/Tree.d.ts +0 -36
- package/dist-types/tree/TreeContext.d.ts +0 -77
- package/dist-types/tree/TreeNode.d.ts +0 -25
- package/dist-types/tree/TreeNodeExpansionIcon.d.ts +0 -4
- package/dist-types/tree/TreeNodeLabel.d.ts +0 -4
- package/dist-types/tree/TreeNodeTrigger.d.ts +0 -8
- package/dist-types/tree/index.d.ts +0 -4
- package/dist-types/tree/treeModel.d.ts +0 -24
- package/dist-types/tree/useTree.d.ts +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,109 @@
|
|
|
1
1
|
# @salt-ds/lab
|
|
2
2
|
|
|
3
|
+
## 1.0.0-alpha.94
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- fcf295b: Removed `Tree`, `TreeNode`, `TreeNodeTrigger`, and `TreeNodeLabel` from lab and promoted to core.
|
|
8
|
+
- 5fc9124: ## Summary
|
|
9
|
+
|
|
10
|
+
New `ToolbarNext`, `ToolbarContentNext`, and `TooltrayNext` components for composing horizontal toolbars with responsive overflow, grouped controls, and keyboard navigation.
|
|
11
|
+
|
|
12
|
+
**What's included**
|
|
13
|
+
|
|
14
|
+
- Flat authoring with `TooltrayNext` children aligned to start, center, or end
|
|
15
|
+
- Explicit `ToolbarContentNext` regions for start, center, and end toolbar layouts
|
|
16
|
+
- Shared, named, grouped, independent, and non-overflowing tooltray overflow modes
|
|
17
|
+
- Overflow priority control for deciding which trays collapse first
|
|
18
|
+
- Bordered and transparent appearances with primary, secondary, and tertiary variants
|
|
19
|
+
- Horizontal toolbar semantics and keyboard navigation across toolbar controls and overflow menus
|
|
20
|
+
- `TooltrayNext` as a layout-only wrapper, with optional `role="group"` and accessible labels for meaningful control groups
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
**Basic Toolbar** — place `TooltrayNext` components directly inside `ToolbarNext`; use `align="end"` for trailing actions
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
import { Button, Dropdown, Input, Option } from "@salt-ds/core";
|
|
28
|
+
import { GridIcon, ListIcon, SearchIcon } from "@salt-ds/icons";
|
|
29
|
+
import { ToolbarNext, TooltrayNext } from "@salt-ds/lab";
|
|
30
|
+
|
|
31
|
+
const options = ["Option A", "Option B", "Option C"];
|
|
32
|
+
|
|
33
|
+
<ToolbarNext aria-label="Data controls">
|
|
34
|
+
<TooltrayNext>
|
|
35
|
+
<Dropdown bordered defaultSelected={["Option A"]} style={{ width: 160 }}>
|
|
36
|
+
{options.map((option) => (
|
|
37
|
+
<Option value={option} key={option} />
|
|
38
|
+
))}
|
|
39
|
+
</Dropdown>
|
|
40
|
+
</TooltrayNext>
|
|
41
|
+
<TooltrayNext role="group" aria-label="Search">
|
|
42
|
+
<Input
|
|
43
|
+
bordered
|
|
44
|
+
startAdornment={<SearchIcon />}
|
|
45
|
+
placeholder="Search"
|
|
46
|
+
style={{ width: 180 }}
|
|
47
|
+
/>
|
|
48
|
+
</TooltrayNext>
|
|
49
|
+
<TooltrayNext align="end" role="group" aria-label="View and actions">
|
|
50
|
+
<Button appearance="transparent" aria-label="Grid view">
|
|
51
|
+
<GridIcon aria-hidden />
|
|
52
|
+
</Button>
|
|
53
|
+
<Button appearance="transparent" aria-label="List view">
|
|
54
|
+
<ListIcon aria-hidden />
|
|
55
|
+
</Button>
|
|
56
|
+
<Button appearance="solid">Run</Button>
|
|
57
|
+
</TooltrayNext>
|
|
58
|
+
</ToolbarNext>;
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Centered Toolbar With Named Overflow** — use `ToolbarContentNext` when you need explicit start, center, and end regions; named overflow keeps related actions behind a labelled trigger
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
import { Button, ToggleButton, ToggleButtonGroup } from "@salt-ds/core";
|
|
65
|
+
import { ToolbarContentNext, ToolbarNext, TooltrayNext } from "@salt-ds/lab";
|
|
66
|
+
|
|
67
|
+
<ToolbarNext aria-label="Centered actions">
|
|
68
|
+
<ToolbarContentNext position="start">
|
|
69
|
+
<TooltrayNext
|
|
70
|
+
overflowMode="none"
|
|
71
|
+
role="group"
|
|
72
|
+
aria-label="Primary action"
|
|
73
|
+
>
|
|
74
|
+
<Button appearance="solid">Create</Button>
|
|
75
|
+
</TooltrayNext>
|
|
76
|
+
</ToolbarContentNext>
|
|
77
|
+
<ToolbarContentNext position="center">
|
|
78
|
+
<TooltrayNext overflowMode="none" role="group" aria-label="View options">
|
|
79
|
+
<ToggleButtonGroup>
|
|
80
|
+
<ToggleButton value="day">Day</ToggleButton>
|
|
81
|
+
<ToggleButton value="week">Week</ToggleButton>
|
|
82
|
+
<ToggleButton value="month">Month</ToggleButton>
|
|
83
|
+
</ToggleButtonGroup>
|
|
84
|
+
</TooltrayNext>
|
|
85
|
+
</ToolbarContentNext>
|
|
86
|
+
<ToolbarContentNext position="end">
|
|
87
|
+
<TooltrayNext
|
|
88
|
+
overflowGroup="Actions"
|
|
89
|
+
overflowLabel="Actions"
|
|
90
|
+
overflowMode="grouped"
|
|
91
|
+
overflowPriority={5}
|
|
92
|
+
role="group"
|
|
93
|
+
aria-label="Secondary actions"
|
|
94
|
+
>
|
|
95
|
+
<Button appearance="transparent">Export</Button>
|
|
96
|
+
<Button appearance="transparent">Settings</Button>
|
|
97
|
+
</TooltrayNext>
|
|
98
|
+
</ToolbarContentNext>
|
|
99
|
+
</ToolbarNext>;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- Updated dependencies [fcf295b]
|
|
105
|
+
- @salt-ds/core@1.63.0
|
|
106
|
+
|
|
3
107
|
## 1.0.0-alpha.93
|
|
4
108
|
|
|
5
109
|
### Minor Changes
|
package/css/salt-lab.css
CHANGED
|
@@ -3121,163 +3121,204 @@
|
|
|
3121
3121
|
flex-basis: 0;
|
|
3122
3122
|
}
|
|
3123
3123
|
|
|
3124
|
-
/* src/
|
|
3125
|
-
.
|
|
3124
|
+
/* src/toolbar-next/ToolbarContentNext.css */
|
|
3125
|
+
.saltToolbarContentNext {
|
|
3126
3126
|
display: flex;
|
|
3127
|
-
|
|
3128
|
-
gap: var(--salt-spacing-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
padding: 0;
|
|
3132
|
-
outline: none;
|
|
3133
|
-
width: 100%;
|
|
3134
|
-
box-sizing: border-box;
|
|
3127
|
+
align-items: center;
|
|
3128
|
+
gap: var(--salt-spacing-100);
|
|
3129
|
+
min-width: 0;
|
|
3130
|
+
flex-shrink: 0;
|
|
3135
3131
|
}
|
|
3136
|
-
.
|
|
3137
|
-
|
|
3132
|
+
.saltToolbarContentNext[data-position=start] {
|
|
3133
|
+
justify-content: flex-start;
|
|
3138
3134
|
}
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
.saltTreeNode {
|
|
3142
|
-
list-style: none;
|
|
3143
|
-
position: relative;
|
|
3144
|
-
cursor: var(--salt-cursor-hover);
|
|
3135
|
+
.saltToolbarContentNext[data-position=center] {
|
|
3136
|
+
justify-content: center;
|
|
3145
3137
|
}
|
|
3146
|
-
.
|
|
3147
|
-
|
|
3138
|
+
.saltToolbarContentNext[data-position=end] {
|
|
3139
|
+
justify-content: flex-end;
|
|
3148
3140
|
}
|
|
3149
|
-
.
|
|
3150
|
-
.
|
|
3151
|
-
|
|
3152
|
-
|
|
3141
|
+
.saltToolbarContentNext[data-implicit] > .saltTooltrayNext[data-align=center],
|
|
3142
|
+
.saltToolbarContentNext[data-implicit] > .saltTooltrayNext[data-align=end] {
|
|
3143
|
+
margin-inline-start: 0;
|
|
3144
|
+
margin-inline-end: 0;
|
|
3145
|
+
}
|
|
3146
|
+
|
|
3147
|
+
/* src/toolbar-next/ToolbarNext.css */
|
|
3148
|
+
.saltToolbarNext {
|
|
3149
|
+
box-sizing: border-box;
|
|
3150
|
+
inline-size: 100%;
|
|
3151
|
+
min-width: 0;
|
|
3153
3152
|
position: relative;
|
|
3154
|
-
z-index: calc(var(--salt-zIndex-default) + 1);
|
|
3155
3153
|
}
|
|
3156
|
-
.
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
outline-offset: calc(var(--salt-size-fixed-100) * -2);
|
|
3160
|
-
z-index: calc(var(--salt-zIndex-default) + 1);
|
|
3154
|
+
.saltToolbarNext-layout {
|
|
3155
|
+
align-items: center;
|
|
3156
|
+
--saltToolbarNext-band-gap: var(--salt-spacing-100);
|
|
3161
3157
|
}
|
|
3162
|
-
.
|
|
3158
|
+
.saltToolbarNext-layout:not([data-centered]) {
|
|
3163
3159
|
display: flex;
|
|
3164
|
-
|
|
3165
|
-
gap: var(--salt-spacing-fixed-100);
|
|
3166
|
-
list-style: none;
|
|
3167
|
-
margin: 0;
|
|
3168
|
-
padding: 0;
|
|
3169
|
-
padding-top: var(--salt-spacing-fixed-100);
|
|
3160
|
+
column-gap: var(--saltToolbarNext-band-gap);
|
|
3170
3161
|
}
|
|
3171
|
-
.
|
|
3172
|
-
|
|
3173
|
-
|
|
3162
|
+
.saltToolbarNext-layout[data-centered] {
|
|
3163
|
+
display: grid;
|
|
3164
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
3174
3165
|
}
|
|
3175
|
-
.
|
|
3166
|
+
.saltToolbarNext-band {
|
|
3176
3167
|
display: flex;
|
|
3177
3168
|
align-items: center;
|
|
3169
|
+
gap: var(--saltToolbarNext-band-gap);
|
|
3170
|
+
min-width: 0;
|
|
3171
|
+
}
|
|
3172
|
+
.saltToolbarNext-layout:not([data-centered]) > .saltToolbarNext-band[data-band-position=end] {
|
|
3173
|
+
justify-content: flex-end;
|
|
3174
|
+
margin-inline-start: auto;
|
|
3175
|
+
}
|
|
3176
|
+
.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=start] {
|
|
3177
|
+
grid-column: 1;
|
|
3178
|
+
}
|
|
3179
|
+
.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=center] {
|
|
3180
|
+
grid-column: 2;
|
|
3178
3181
|
justify-content: center;
|
|
3179
|
-
width: var(--saltTreeNodeTrigger-iconSize);
|
|
3180
|
-
min-width: var(--saltTreeNodeTrigger-iconSize);
|
|
3181
|
-
height: var(--saltTreeNodeTrigger-iconSize);
|
|
3182
|
-
flex-shrink: 0;
|
|
3183
3182
|
}
|
|
3184
|
-
.
|
|
3185
|
-
|
|
3183
|
+
.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=end] {
|
|
3184
|
+
grid-column: 3;
|
|
3185
|
+
justify-content: flex-end;
|
|
3186
3186
|
}
|
|
3187
|
-
|
|
3188
|
-
/* src/tree/TreeNodeExpansionIcon.css */
|
|
3189
|
-
.saltTreeNodeExpansionIcon {
|
|
3187
|
+
.saltToolbarNext-fallback {
|
|
3190
3188
|
display: flex;
|
|
3191
3189
|
align-items: center;
|
|
3192
|
-
|
|
3193
|
-
width: var(--saltTreeNodeTrigger-iconSize);
|
|
3194
|
-
min-width: var(--saltTreeNodeTrigger-iconSize);
|
|
3195
|
-
height: var(--saltTreeNodeTrigger-iconSize);
|
|
3196
|
-
flex-shrink: 0;
|
|
3197
|
-
position: relative;
|
|
3190
|
+
gap: var(--salt-spacing-100);
|
|
3198
3191
|
}
|
|
3199
|
-
.
|
|
3200
|
-
|
|
3192
|
+
.saltToolbarNext-layout > * {
|
|
3193
|
+
min-width: 0;
|
|
3201
3194
|
}
|
|
3202
|
-
.
|
|
3203
|
-
|
|
3204
|
-
|
|
3195
|
+
.saltToolbarNext-primary {
|
|
3196
|
+
--toolbarNext-background: var(--salt-container-primary-background);
|
|
3197
|
+
--toolbarNext-borderColor: var(--salt-container-primary-borderColor);
|
|
3198
|
+
}
|
|
3199
|
+
.saltToolbarNext-secondary {
|
|
3200
|
+
--toolbarNext-background: var(--salt-container-secondary-background);
|
|
3201
|
+
--toolbarNext-borderColor: var(--salt-container-secondary-borderColor);
|
|
3202
|
+
}
|
|
3203
|
+
.saltToolbarNext-tertiary {
|
|
3204
|
+
--toolbarNext-background: var(--salt-container-tertiary-background);
|
|
3205
|
+
--toolbarNext-borderColor: var(--salt-container-tertiary-borderColor);
|
|
3206
|
+
}
|
|
3207
|
+
.saltToolbarNext-bordered {
|
|
3208
|
+
background: var(--saltToolbarNext-background, var(--toolbarNext-background));
|
|
3209
|
+
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--saltToolbarNext-borderColor, var(--toolbarNext-borderColor));
|
|
3210
|
+
border-radius: var(--salt-palette-corner, 0);
|
|
3211
|
+
padding: var(--salt-spacing-100);
|
|
3212
|
+
}
|
|
3213
|
+
.saltToolbarNext-transparent {
|
|
3214
|
+
background: transparent;
|
|
3215
|
+
border: none;
|
|
3216
|
+
padding: 0;
|
|
3217
|
+
}
|
|
3218
|
+
.saltToolbarNext-measurements {
|
|
3219
|
+
display: flex;
|
|
3220
|
+
gap: var(--salt-spacing-100);
|
|
3205
3221
|
position: absolute;
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3222
|
+
visibility: hidden;
|
|
3223
|
+
pointer-events: none;
|
|
3224
|
+
inset: 0 auto auto 0;
|
|
3225
|
+
block-size: 0;
|
|
3226
|
+
overflow: hidden;
|
|
3211
3227
|
}
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
.saltTreeNodeLabel {
|
|
3215
|
-
flex: 1;
|
|
3216
|
-
font-family: var(--salt-text-fontFamily);
|
|
3217
|
-
font-size: var(--salt-text-fontSize);
|
|
3218
|
-
font-weight: var(--salt-text-fontWeight);
|
|
3219
|
-
line-height: var(--salt-text-lineHeight);
|
|
3220
|
-
letter-spacing: var(--salt-text-letterSpacing);
|
|
3221
|
-
word-break: break-word;
|
|
3228
|
+
.saltToolbarNext-measureTrigger {
|
|
3229
|
+
white-space: nowrap;
|
|
3222
3230
|
}
|
|
3223
3231
|
|
|
3224
|
-
/* src/
|
|
3225
|
-
.
|
|
3226
|
-
|
|
3232
|
+
/* src/toolbar-next/ToolbarNextOverflow.css */
|
|
3233
|
+
.saltToolbarNextOverflow-content {
|
|
3234
|
+
position: relative;
|
|
3235
|
+
}
|
|
3236
|
+
.saltToolbarNextOverflow-slot,
|
|
3237
|
+
.saltToolbarNextOverflow-panelItem {
|
|
3238
|
+
align-items: center;
|
|
3227
3239
|
display: flex;
|
|
3228
|
-
|
|
3240
|
+
flex-shrink: 0;
|
|
3229
3241
|
gap: var(--salt-spacing-100);
|
|
3230
|
-
width:
|
|
3231
|
-
padding-top: calc(var(--salt-spacing-75) + var(--salt-spacing-50));
|
|
3232
|
-
padding-bottom: calc(var(--salt-spacing-75) + var(--salt-spacing-50));
|
|
3233
|
-
padding-right: var(--salt-spacing-100);
|
|
3234
|
-
--saltTreeNodeTrigger-iconSize: max(var(--salt-size-icon), 12px);
|
|
3235
|
-
--saltTreeNodeTrigger-indentStep: calc(var(--saltTreeNodeTrigger-iconSize) + var(--salt-spacing-100));
|
|
3236
|
-
--saltTreeNodeTrigger-iconOffsetY: calc((var(--salt-text-lineHeight) - var(--saltTreeNodeTrigger-iconSize)) / 2);
|
|
3237
|
-
--saltTreeNodeTrigger-checkboxOffsetY: calc((var(--salt-text-lineHeight) - var(--salt-size-selectable)) / 2);
|
|
3238
|
-
padding-left: calc(var(--salt-spacing-100) + (var(--saltTreeNodeTrigger-indentStep) * (var(--saltTreeNode-level, 1) - 1)));
|
|
3239
|
-
background: var(--salt-selectable-background);
|
|
3240
|
-
color: var(--salt-content-primary-foreground);
|
|
3242
|
+
min-width: 0;
|
|
3241
3243
|
}
|
|
3242
|
-
.
|
|
3243
|
-
|
|
3244
|
+
.saltToolbarNextOverflow-slot[data-align=end] {
|
|
3245
|
+
margin-inline-start: auto;
|
|
3244
3246
|
}
|
|
3245
|
-
.
|
|
3246
|
-
|
|
3247
|
+
.saltToolbarNextOverflow-slot[data-align=center] {
|
|
3248
|
+
margin-inline-start: auto;
|
|
3249
|
+
margin-inline-end: auto;
|
|
3247
3250
|
}
|
|
3248
|
-
.
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
+
.saltToolbarNextOverflow-item {
|
|
3252
|
+
align-items: center;
|
|
3253
|
+
display: flex;
|
|
3254
|
+
flex-shrink: 0;
|
|
3255
|
+
min-width: 0;
|
|
3251
3256
|
}
|
|
3252
|
-
.
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
position: relative;
|
|
3256
|
-
z-index: var(--salt-zIndex-default);
|
|
3257
|
+
.saltToolbarNextOverflow-menu {
|
|
3258
|
+
display: flex;
|
|
3259
|
+
flex-shrink: 0;
|
|
3257
3260
|
}
|
|
3258
|
-
.
|
|
3259
|
-
.
|
|
3260
|
-
|
|
3261
|
+
.saltToolbarNextOverflow-itemHost,
|
|
3262
|
+
.saltToolbarNextOverflow-contentHost {
|
|
3263
|
+
display: contents;
|
|
3261
3264
|
}
|
|
3262
|
-
.
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
background: var(--salt-
|
|
3267
|
-
|
|
3265
|
+
.saltToolbarNextOverflow-trigger {
|
|
3266
|
+
white-space: nowrap;
|
|
3267
|
+
}
|
|
3268
|
+
.saltToolbarNextOverflow-panel {
|
|
3269
|
+
background: var(--salt-container-primary-background);
|
|
3270
|
+
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor-selected);
|
|
3271
|
+
border-radius: var(--salt-palette-corner, 0);
|
|
3272
|
+
box-shadow: var(--salt-overlayable-shadow-popout);
|
|
3273
|
+
box-sizing: border-box;
|
|
3274
|
+
max-width: min(32rem, calc(100vw - var(--salt-spacing-300)));
|
|
3275
|
+
overflow: auto;
|
|
3276
|
+
position: absolute;
|
|
3277
|
+
z-index: var(--salt-zIndex-flyover);
|
|
3278
|
+
}
|
|
3279
|
+
.saltToolbarNextOverflow-floatingDescendant.saltToolbarNextOverflow-floatingDescendant {
|
|
3280
|
+
z-index: calc(var(--salt-zIndex-flyover) + var(--salt-zIndex-default));
|
|
3268
3281
|
}
|
|
3269
|
-
.
|
|
3270
|
-
|
|
3271
|
-
|
|
3282
|
+
.saltToolbarNextOverflow-panelContent {
|
|
3283
|
+
align-items: center;
|
|
3284
|
+
display: flex;
|
|
3285
|
+
flex-wrap: wrap;
|
|
3286
|
+
gap: var(--salt-spacing-100);
|
|
3287
|
+
max-width: inherit;
|
|
3288
|
+
min-width: max-content;
|
|
3289
|
+
padding: var(--salt-spacing-100);
|
|
3272
3290
|
}
|
|
3273
|
-
.
|
|
3274
|
-
.
|
|
3275
|
-
margin-
|
|
3291
|
+
.saltToolbarNextOverflow-panel .saltTooltrayNext[data-align=center],
|
|
3292
|
+
.saltToolbarNextOverflow-panel .saltTooltrayNext[data-align=end] {
|
|
3293
|
+
margin-inline-start: 0;
|
|
3294
|
+
margin-inline-end: 0;
|
|
3295
|
+
}
|
|
3296
|
+
.saltToolbarNextOverflow-panel .saltTooltrayNext > * {
|
|
3297
|
+
inline-size: auto;
|
|
3298
|
+
}
|
|
3299
|
+
.saltToolbarNextOverflow-content > .saltToolbarNextOverflow-slot .saltTooltrayNext[data-align=center],
|
|
3300
|
+
.saltToolbarNextOverflow-content > .saltToolbarNextOverflow-slot .saltTooltrayNext[data-align=end] {
|
|
3301
|
+
margin-inline-start: 0;
|
|
3302
|
+
margin-inline-end: 0;
|
|
3303
|
+
}
|
|
3304
|
+
|
|
3305
|
+
/* src/toolbar-next/TooltrayNext.css */
|
|
3306
|
+
.saltTooltrayNext {
|
|
3307
|
+
display: flex;
|
|
3308
|
+
align-items: center;
|
|
3309
|
+
flex: 0 0 auto;
|
|
3310
|
+
gap: var(--salt-spacing-100);
|
|
3311
|
+
min-width: 0;
|
|
3276
3312
|
}
|
|
3277
|
-
.
|
|
3278
|
-
margin-top: var(--saltTreeNodeTrigger-iconOffsetY);
|
|
3313
|
+
.saltTooltrayNext > * {
|
|
3279
3314
|
flex-shrink: 0;
|
|
3280
|
-
|
|
3315
|
+
}
|
|
3316
|
+
.saltTooltrayNext[data-align=end] {
|
|
3317
|
+
margin-inline-start: auto;
|
|
3318
|
+
}
|
|
3319
|
+
.saltTooltrayNext[data-align=center] {
|
|
3320
|
+
margin-inline-start: auto;
|
|
3321
|
+
margin-inline-end: auto;
|
|
3281
3322
|
}
|
|
3282
3323
|
|
|
3283
3324
|
/* src/window/ElectronWindow.css */
|
|
@@ -3390,4 +3431,4 @@
|
|
|
3390
3431
|
margin: calc(var(--salt-size-unit) / 2) 0;
|
|
3391
3432
|
}
|
|
3392
3433
|
|
|
3393
|
-
/* src/
|
|
3434
|
+
/* src/90f79509-9c05-4f28-ba07-621519e16301.css */
|
package/dist-cjs/index.js
CHANGED
|
@@ -130,10 +130,9 @@ var Toolbar = require('./toolbar/Toolbar.js');
|
|
|
130
130
|
var ToolbarButton = require('./toolbar/ToolbarButton.js');
|
|
131
131
|
var Tooltray = require('./toolbar/Tooltray.js');
|
|
132
132
|
var ToolbarField = require('./toolbar/toolbar-field/ToolbarField.js');
|
|
133
|
-
var
|
|
134
|
-
var
|
|
135
|
-
var
|
|
136
|
-
var TreeNodeTrigger = require('./tree/TreeNodeTrigger.js');
|
|
133
|
+
var ToolbarContentNext = require('./toolbar-next/ToolbarContentNext.js');
|
|
134
|
+
var ToolbarNext = require('./toolbar-next/ToolbarNext.js');
|
|
135
|
+
var TooltrayNext = require('./toolbar-next/TooltrayNext.js');
|
|
137
136
|
var ElectronWindow = require('./window/ElectronWindow.js');
|
|
138
137
|
var WindowContext = require('./window/WindowContext.js');
|
|
139
138
|
var dateComponents = require('@salt-ds/date-components');
|
|
@@ -321,10 +320,9 @@ exports.Toolbar = Toolbar.Toolbar;
|
|
|
321
320
|
exports.ToolbarButton = ToolbarButton.ToolbarButton;
|
|
322
321
|
exports.Tooltray = Tooltray.Tooltray;
|
|
323
322
|
exports.ToolbarField = ToolbarField.ToolbarField;
|
|
324
|
-
exports.
|
|
325
|
-
exports.
|
|
326
|
-
exports.
|
|
327
|
-
exports.TreeNodeTrigger = TreeNodeTrigger.TreeNodeTrigger;
|
|
323
|
+
exports.ToolbarContentNext = ToolbarContentNext.ToolbarContentNext;
|
|
324
|
+
exports.ToolbarNext = ToolbarNext.ToolbarNext;
|
|
325
|
+
exports.TooltrayNext = TooltrayNext.TooltrayNext;
|
|
328
326
|
exports.ElectronWindow = ElectronWindow.ElectronWindow;
|
|
329
327
|
exports.Window = WindowContext.Window;
|
|
330
328
|
exports.WindowContext = WindowContext.WindowContext;
|
package/dist-cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltToolbarContentNext {\n display: flex;\n align-items: center;\n gap: var(--salt-spacing-100);\n min-width: 0;\n flex-shrink: 0;\n}\n\n.saltToolbarContentNext[data-position=\"start\"] {\n justify-content: flex-start;\n}\n\n.saltToolbarContentNext[data-position=\"center\"] {\n justify-content: center;\n}\n\n.saltToolbarContentNext[data-position=\"end\"] {\n justify-content: flex-end;\n}\n\n.saltToolbarContentNext[data-implicit] > .saltTooltrayNext[data-align=\"center\"],\n.saltToolbarContentNext[data-implicit] > .saltTooltrayNext[data-align=\"end\"] {\n margin-inline-start: 0;\n margin-inline-end: 0;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=ToolbarContentNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarContentNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var ToolbarContentNext$1 = require('./ToolbarContentNext.css.js');
|
|
10
|
+
|
|
11
|
+
const withBaseName = core.makePrefixer("saltToolbarContentNext");
|
|
12
|
+
const ToolbarContentNext = react.forwardRef(function ToolbarContentNext2({ children, className, position, ...rest }, ref) {
|
|
13
|
+
const targetWindow = window.useWindow();
|
|
14
|
+
styles.useComponentCssInjection({
|
|
15
|
+
testId: "salt-toolbar-content-next",
|
|
16
|
+
css: ToolbarContentNext$1,
|
|
17
|
+
window: targetWindow
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20
|
+
"div",
|
|
21
|
+
{
|
|
22
|
+
className: clsx.clsx(withBaseName(), className),
|
|
23
|
+
...rest,
|
|
24
|
+
"data-position": position,
|
|
25
|
+
ref,
|
|
26
|
+
children
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
exports.ToolbarContentNext = ToolbarContentNext;
|
|
32
|
+
//# sourceMappingURL=ToolbarContentNext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarContentNext.js","sources":["../src/toolbar-next/ToolbarContentNext.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\n\nimport toolbarContentNextCss from \"./ToolbarContentNext.css\";\n\nexport type ToolbarContentNextPosition = \"start\" | \"center\" | \"end\";\n\nexport interface ToolbarContentNextProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Controls where the content is placed across the full toolbar.\n * If any content uses `\"center\"`, `ToolbarNext` reserves symmetric side space\n * so the center band stays on the toolbar midpoint.\n */\n position: ToolbarContentNextPosition;\n}\n\nconst withBaseName = makePrefixer(\"saltToolbarContentNext\");\n\nexport const ToolbarContentNext = forwardRef<\n HTMLDivElement,\n ToolbarContentNextProps\n>(function ToolbarContentNext({ children, className, position, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toolbar-content-next\",\n css: toolbarContentNextCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n {...rest}\n data-position={position}\n ref={ref}\n >\n {children}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","ToolbarContentNext","useWindow","useComponentCssInjection","toolbarContentNextCss","jsx","clsx"],"mappings":";;;;;;;;;;AAoBA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA;AAEnD,MAAM,kBAAA,GAAqBC,gBAAA,CAGhC,SAASC,mBAAAA,CAAmB,EAAE,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,EAAK;AAC7E,EAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,2BAAA;AAAA,IACR,GAAA,EAAKC,oBAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,SAAA,CAAK,YAAA,EAAa,EAAG,SAAS,CAAA;AAAA,MACxC,GAAG,IAAA;AAAA,MACJ,eAAA,EAAe,QAAA;AAAA,MACf,GAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltToolbarNext {\n box-sizing: border-box;\n inline-size: 100%;\n min-width: 0;\n position: relative;\n}\n\n.saltToolbarNext-layout {\n align-items: center;\n --saltToolbarNext-band-gap: var(--salt-spacing-100);\n}\n\n.saltToolbarNext-layout:not([data-centered]) {\n display: flex;\n column-gap: var(--saltToolbarNext-band-gap);\n}\n\n.saltToolbarNext-layout[data-centered] {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n}\n\n.saltToolbarNext-band {\n display: flex;\n align-items: center;\n gap: var(--saltToolbarNext-band-gap);\n min-width: 0;\n}\n\n.saltToolbarNext-layout:not([data-centered]) > .saltToolbarNext-band[data-band-position=\"end\"] {\n justify-content: flex-end;\n margin-inline-start: auto;\n}\n\n.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=\"start\"] {\n grid-column: 1;\n}\n\n.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=\"center\"] {\n grid-column: 2;\n justify-content: center;\n}\n\n.saltToolbarNext-layout[data-centered] > .saltToolbarNext-band[data-band-position=\"end\"] {\n grid-column: 3;\n justify-content: flex-end;\n}\n\n.saltToolbarNext-fallback {\n display: flex;\n align-items: center;\n gap: var(--salt-spacing-100);\n}\n\n.saltToolbarNext-layout > * {\n min-width: 0;\n}\n\n.saltToolbarNext-primary {\n --toolbarNext-background: var(--salt-container-primary-background);\n --toolbarNext-borderColor: var(--salt-container-primary-borderColor);\n}\n\n.saltToolbarNext-secondary {\n --toolbarNext-background: var(--salt-container-secondary-background);\n --toolbarNext-borderColor: var(--salt-container-secondary-borderColor);\n}\n\n.saltToolbarNext-tertiary {\n --toolbarNext-background: var(--salt-container-tertiary-background);\n --toolbarNext-borderColor: var(--salt-container-tertiary-borderColor);\n}\n\n.saltToolbarNext-bordered {\n background: var(--saltToolbarNext-background, var(--toolbarNext-background));\n border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--saltToolbarNext-borderColor, var(--toolbarNext-borderColor));\n border-radius: var(--salt-palette-corner, 0);\n padding: var(--salt-spacing-100);\n}\n\n.saltToolbarNext-transparent {\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.saltToolbarNext-measurements {\n display: flex;\n gap: var(--salt-spacing-100);\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n inset: 0 auto auto 0;\n block-size: 0;\n overflow: hidden;\n}\n\n.saltToolbarNext-measureTrigger {\n white-space: nowrap;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=ToolbarNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|