@salt-ds/lab 1.0.0-alpha.72 → 1.0.0-alpha.74
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 +36 -0
- package/css/salt-lab.css +332 -1
- package/dist-cjs/collapsible/Collapsible.js +47 -0
- package/dist-cjs/collapsible/Collapsible.js.map +1 -0
- package/dist-cjs/collapsible/CollapsibleContext.js +23 -0
- package/dist-cjs/collapsible/CollapsibleContext.js.map +1 -0
- package/dist-cjs/collapsible/CollapsiblePanel.css.js +6 -0
- package/dist-cjs/collapsible/CollapsiblePanel.css.js.map +1 -0
- package/dist-cjs/collapsible/CollapsiblePanel.js +42 -0
- package/dist-cjs/collapsible/CollapsiblePanel.js.map +1 -0
- package/dist-cjs/collapsible/CollapsibleTrigger.js +36 -0
- package/dist-cjs/collapsible/CollapsibleTrigger.js.map +1 -0
- package/dist-cjs/index.js +36 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/static-list/StaticList.css.js +1 -1
- package/dist-cjs/table/TBody.js +32 -0
- package/dist-cjs/table/TBody.js.map +1 -0
- package/dist-cjs/table/TD.js +30 -0
- package/dist-cjs/table/TD.js.map +1 -0
- package/dist-cjs/table/TFoot.js +45 -0
- package/dist-cjs/table/TFoot.js.map +1 -0
- package/dist-cjs/table/TH.js +30 -0
- package/dist-cjs/table/TH.js.map +1 -0
- package/dist-cjs/table/THead.js +45 -0
- package/dist-cjs/table/THead.js.map +1 -0
- package/dist-cjs/table/TR.js +30 -0
- package/dist-cjs/table/TR.js.map +1 -0
- package/dist-cjs/table/Table.css.js +6 -0
- package/dist-cjs/table/Table.css.js.map +1 -0
- package/dist-cjs/table/Table.js +47 -0
- package/dist-cjs/table/Table.js.map +1 -0
- package/dist-cjs/vertical-navigation/SubMenuContext.js +34 -0
- package/dist-cjs/vertical-navigation/SubMenuContext.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigation.css.js +6 -0
- package/dist-cjs/vertical-navigation/VerticalNavigation.css.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigation.js +34 -0
- package/dist-cjs/vertical-navigation/VerticalNavigation.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItem.js +48 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItem.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js +6 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js +83 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js +29 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js +6 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js +24 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js +6 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js +69 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +6 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js +35 -0
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
- package/dist-es/collapsible/Collapsible.js +45 -0
- package/dist-es/collapsible/Collapsible.js.map +1 -0
- package/dist-es/collapsible/CollapsibleContext.js +20 -0
- package/dist-es/collapsible/CollapsibleContext.js.map +1 -0
- package/dist-es/collapsible/CollapsiblePanel.css.js +4 -0
- package/dist-es/collapsible/CollapsiblePanel.css.js.map +1 -0
- package/dist-es/collapsible/CollapsiblePanel.js +40 -0
- package/dist-es/collapsible/CollapsiblePanel.js.map +1 -0
- package/dist-es/collapsible/CollapsibleTrigger.js +34 -0
- package/dist-es/collapsible/CollapsibleTrigger.js.map +1 -0
- package/dist-es/index.js +17 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/static-list/StaticList.css.js +1 -1
- package/dist-es/table/TBody.js +30 -0
- package/dist-es/table/TBody.js.map +1 -0
- package/dist-es/table/TD.js +28 -0
- package/dist-es/table/TD.js.map +1 -0
- package/dist-es/table/TFoot.js +43 -0
- package/dist-es/table/TFoot.js.map +1 -0
- package/dist-es/table/TH.js +28 -0
- package/dist-es/table/TH.js.map +1 -0
- package/dist-es/table/THead.js +43 -0
- package/dist-es/table/THead.js.map +1 -0
- package/dist-es/table/TR.js +28 -0
- package/dist-es/table/TR.js.map +1 -0
- package/dist-es/table/Table.css.js +4 -0
- package/dist-es/table/Table.css.js.map +1 -0
- package/dist-es/table/Table.js +44 -0
- package/dist-es/table/Table.js.map +1 -0
- package/dist-es/vertical-navigation/SubMenuContext.js +30 -0
- package/dist-es/vertical-navigation/SubMenuContext.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigation.css.js +4 -0
- package/dist-es/vertical-navigation/VerticalNavigation.css.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigation.js +32 -0
- package/dist-es/vertical-navigation/VerticalNavigation.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItem.js +45 -0
- package/dist-es/vertical-navigation/VerticalNavigationItem.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js +4 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.js +81 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js +27 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js +4 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js +22 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js +4 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js +67 -0
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +4 -0
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js +33 -0
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
- package/dist-types/collapsible/Collapsible.d.ts +16 -0
- package/dist-types/collapsible/CollapsibleContext.d.ts +9 -0
- package/dist-types/collapsible/CollapsiblePanel.d.ts +4 -0
- package/dist-types/collapsible/CollapsibleTrigger.d.ts +5 -0
- package/dist-types/collapsible/index.d.ts +3 -0
- package/dist-types/index.d.ts +3 -0
- package/dist-types/table/TBody.d.ts +4 -0
- package/dist-types/table/TD.d.ts +4 -0
- package/dist-types/table/TFoot.d.ts +20 -0
- package/dist-types/table/TH.d.ts +4 -0
- package/dist-types/table/THead.d.ts +20 -0
- package/dist-types/table/TR.d.ts +4 -0
- package/dist-types/table/Table.d.ts +20 -0
- package/dist-types/table/index.d.ts +7 -0
- package/dist-types/vertical-navigation/SubMenuContext.d.ts +14 -0
- package/dist-types/vertical-navigation/VerticalNavigation.d.ts +5 -0
- package/dist-types/vertical-navigation/VerticalNavigationItem.d.ts +12 -0
- package/dist-types/vertical-navigation/VerticalNavigationItemContent.d.ts +4 -0
- package/dist-types/vertical-navigation/VerticalNavigationItemExpansionIcon.d.ts +2 -0
- package/dist-types/vertical-navigation/VerticalNavigationItemLabel.d.ts +4 -0
- package/dist-types/vertical-navigation/VerticalNavigationItemTrigger.d.ts +6 -0
- package/dist-types/vertical-navigation/VerticalNavigationSubMenu.d.ts +4 -0
- package/dist-types/vertical-navigation/index.d.ts +7 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# @salt-ds/lab
|
|
2
2
|
|
|
3
|
+
## 1.0.0-alpha.74
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7440996: A new component (`VerticalNavigation`) has been introduced to replace the existing `NavigationItem` component for vertical navigation. The new component provides a more structured and flexible way to create vertical navigation.
|
|
8
|
+
- 7440996: Added `Collapsible`, `CollapsibleTrigger` and `CollapsiblePanel`.
|
|
9
|
+
|
|
10
|
+
Collapsible enables content to be either collapsed (hidden) or expanded (visible). It has two elements: a trigger and a panel whose visibility is controlled by the button.
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
<Collapsible>
|
|
14
|
+
<CollapsibleTrigger>
|
|
15
|
+
<Button>Click</Button>
|
|
16
|
+
</CollapsibleTrigger>
|
|
17
|
+
<CollapsiblePanel>Content</CollapsiblePanel>
|
|
18
|
+
</Collapsible>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- d747775: Updated Table's footer text style to body strong.
|
|
24
|
+
- Updated dependencies [c58279f]
|
|
25
|
+
- Updated dependencies [239d20c]
|
|
26
|
+
- Updated dependencies [fe8da62]
|
|
27
|
+
- @salt-ds/core@1.47.4
|
|
28
|
+
|
|
29
|
+
## 1.0.0-alpha.73
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- 86877dd: Fixed extra margin appearing on StaticList.
|
|
34
|
+
- Updated dependencies [55e7bc5]
|
|
35
|
+
- Updated dependencies [3481308]
|
|
36
|
+
- Updated dependencies [851e4cb]
|
|
37
|
+
- @salt-ds/core@1.47.3
|
|
38
|
+
|
|
3
39
|
## 1.0.0-alpha.72
|
|
4
40
|
|
|
5
41
|
### Patch Changes
|
package/css/salt-lab.css
CHANGED
|
@@ -309,6 +309,28 @@
|
|
|
309
309
|
--list-boxShadow: var(--salt-overlayable-shadow-popout);
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
+
/* src/collapsible/CollapsiblePanel.css */
|
|
313
|
+
.saltCollapsiblePanel {
|
|
314
|
+
display: grid;
|
|
315
|
+
transition:
|
|
316
|
+
grid-template-rows var(--salt-duration-perceptible) ease-in-out,
|
|
317
|
+
opacity var(--salt-duration-perceptible) ease-in-out,
|
|
318
|
+
visibility var(--salt-duration-perceptible) ease-in-out;
|
|
319
|
+
}
|
|
320
|
+
.saltCollapsiblePanel[aria-hidden=true] {
|
|
321
|
+
grid-template-rows: 0fr;
|
|
322
|
+
opacity: 0;
|
|
323
|
+
visibility: hidden;
|
|
324
|
+
}
|
|
325
|
+
.saltCollapsiblePanel {
|
|
326
|
+
grid-template-rows: 1fr;
|
|
327
|
+
opacity: 1;
|
|
328
|
+
visibility: visible;
|
|
329
|
+
}
|
|
330
|
+
.saltCollapsiblePanel-inner {
|
|
331
|
+
overflow: hidden;
|
|
332
|
+
}
|
|
333
|
+
|
|
312
334
|
/* src/color-chooser/ColorChooser.css */
|
|
313
335
|
.saltColorChooser-overlayButtonSwatch {
|
|
314
336
|
margin-right: 10px;
|
|
@@ -2681,6 +2703,7 @@
|
|
|
2681
2703
|
.saltStaticList {
|
|
2682
2704
|
overflow-y: auto;
|
|
2683
2705
|
padding: 0;
|
|
2706
|
+
margin: 0;
|
|
2684
2707
|
}
|
|
2685
2708
|
|
|
2686
2709
|
/* src/static-list/StaticListItem.css */
|
|
@@ -2760,6 +2783,166 @@
|
|
|
2760
2783
|
color: var(--salt-content-bold-foreground);
|
|
2761
2784
|
}
|
|
2762
2785
|
|
|
2786
|
+
/* src/table/Table.css */
|
|
2787
|
+
.saltTable {
|
|
2788
|
+
--table-header-height: calc(var(--salt-size-base) + var(--salt-spacing-100) + var(--salt-size-fixed-100));
|
|
2789
|
+
--table-footer-height: calc(var(--salt-size-base) + var(--salt-spacing-100) + var(--salt-size-fixed-100));
|
|
2790
|
+
--table-row-height: calc(var(--salt-size-base) + var(--salt-spacing-100) + var(--salt-size-fixed-100));
|
|
2791
|
+
}
|
|
2792
|
+
.saltTable-primary {
|
|
2793
|
+
--table-background: var(--salt-container-primary-background);
|
|
2794
|
+
}
|
|
2795
|
+
.saltTable-secondary {
|
|
2796
|
+
--table-background: var(--salt-container-secondary-background);
|
|
2797
|
+
}
|
|
2798
|
+
.saltTable-tertiary {
|
|
2799
|
+
--table-background: var(--salt-container-tertiary-background);
|
|
2800
|
+
}
|
|
2801
|
+
.saltTable-divider-primary {
|
|
2802
|
+
--table-divider-color: var(--salt-separable-primary-borderColor);
|
|
2803
|
+
}
|
|
2804
|
+
.saltTable-divider-secondary {
|
|
2805
|
+
--table-divider-color: var(--salt-separable-secondary-borderColor);
|
|
2806
|
+
}
|
|
2807
|
+
.saltTable-divider-tertiary {
|
|
2808
|
+
--table-divider-color: var(--salt-separable-tertiary-borderColor);
|
|
2809
|
+
}
|
|
2810
|
+
table.saltTable-zebra-primary tbody tr:nth-of-type(odd) {
|
|
2811
|
+
--table-background: var(--salt-container-primary-background);
|
|
2812
|
+
}
|
|
2813
|
+
table.saltTable-zebra-secondary tbody tr:nth-of-type(odd) {
|
|
2814
|
+
--table-background: var(--salt-container-secondary-background);
|
|
2815
|
+
}
|
|
2816
|
+
table.saltTable-zebra-tertiary tbody tr:nth-of-type(odd) {
|
|
2817
|
+
--table-background: var(--salt-container-tertiary-background);
|
|
2818
|
+
}
|
|
2819
|
+
table.saltTable {
|
|
2820
|
+
border-spacing: 0;
|
|
2821
|
+
border-radius: var(--salt-palette-corner, 0);
|
|
2822
|
+
border-collapse: collapse;
|
|
2823
|
+
color: var(--salt-content-primary-foreground);
|
|
2824
|
+
font-family: var(--salt-text-fontFamily);
|
|
2825
|
+
font-size: var(--salt-text-fontSize);
|
|
2826
|
+
line-height: var(--salt-text-lineHeight);
|
|
2827
|
+
table-layout: fixed;
|
|
2828
|
+
width: 100%;
|
|
2829
|
+
}
|
|
2830
|
+
table.saltTable thead {
|
|
2831
|
+
border-start-start-radius: var(--salt-palette-corner);
|
|
2832
|
+
border-start-end-radius: var(--salt-palette-corner);
|
|
2833
|
+
color: var(--salt-content-secondary-foreground);
|
|
2834
|
+
height: var(--table-header-height);
|
|
2835
|
+
min-height: var(--table-header-height);
|
|
2836
|
+
font-size: var(--salt-text-label-fontSize);
|
|
2837
|
+
font-weight: var(--salt-text-label-fontWeight-strong);
|
|
2838
|
+
line-height: var(--salt-text-label-lineHeight);
|
|
2839
|
+
white-space: nowrap;
|
|
2840
|
+
}
|
|
2841
|
+
table.saltTable thead.saltTable-thead-sticky {
|
|
2842
|
+
position: sticky;
|
|
2843
|
+
top: 0;
|
|
2844
|
+
}
|
|
2845
|
+
table.saltTable thead.saltTable-thead-primary tr {
|
|
2846
|
+
background: var(--salt-container-primary-background);
|
|
2847
|
+
}
|
|
2848
|
+
table.saltTable thead.saltTable-thead-secondary tr {
|
|
2849
|
+
background: var(--salt-container-secondary-background);
|
|
2850
|
+
}
|
|
2851
|
+
table.saltTable thead.saltTable-thead-tertiary tr {
|
|
2852
|
+
background: var(--salt-container-tertiary-background);
|
|
2853
|
+
}
|
|
2854
|
+
table.saltTable thead.saltTable-thead tr {
|
|
2855
|
+
border-bottom: var(--salt-borderStyle-solid) var(--table-header-divider-color) var(--salt-size-fixed-100);
|
|
2856
|
+
}
|
|
2857
|
+
table.saltTable thead.saltTable-thead-divider-primary {
|
|
2858
|
+
--table-header-divider-color: var(--salt-separable-primary-borderColor);
|
|
2859
|
+
}
|
|
2860
|
+
table.saltTable thead.saltTable-thead-divider-secondary {
|
|
2861
|
+
--table-header-divider-color: var(--salt-separable-secondary-borderColor);
|
|
2862
|
+
}
|
|
2863
|
+
table.saltTable thead.saltTable-thead-divider-tertiary {
|
|
2864
|
+
--table-header-divider-color: var(--salt-separable-tertiary-borderColor);
|
|
2865
|
+
}
|
|
2866
|
+
table.saltTable thead.saltTable-thead-divider-none {
|
|
2867
|
+
--table-header-divider-color: transparent;
|
|
2868
|
+
}
|
|
2869
|
+
table.saltTable tfoot {
|
|
2870
|
+
border-end-start-radius: var(--salt-palette-corner);
|
|
2871
|
+
border-end-end-radius: var(--salt-palette-corner);
|
|
2872
|
+
color: var(--salt-content-primary-foreground);
|
|
2873
|
+
height: var(--table-footer-height);
|
|
2874
|
+
min-height: var(--table-footer-height);
|
|
2875
|
+
font-size: var(--salt-text-fontSize);
|
|
2876
|
+
line-height: var(--salt-text-lineHeight);
|
|
2877
|
+
font-weight: var(--salt-text-fontWeight-strong);
|
|
2878
|
+
white-space: nowrap;
|
|
2879
|
+
}
|
|
2880
|
+
table.saltTable tfoot.saltTable-tfoot-sticky {
|
|
2881
|
+
position: sticky;
|
|
2882
|
+
bottom: 0;
|
|
2883
|
+
}
|
|
2884
|
+
table.saltTable tfoot.saltTable-tfoot tr {
|
|
2885
|
+
border-top: var(--salt-borderStyle-solid) var(--table-footer-divider-color) var(--salt-size-fixed-100);
|
|
2886
|
+
}
|
|
2887
|
+
table.saltTable tfoot.saltTable-tfoot-primary tr {
|
|
2888
|
+
background: var(--salt-container-primary-background);
|
|
2889
|
+
}
|
|
2890
|
+
table.saltTable tfoot.saltTable-tfoot-secondary tr {
|
|
2891
|
+
background: var(--salt-container-secondary-background);
|
|
2892
|
+
}
|
|
2893
|
+
table.saltTable tfoot.saltTable-tfoot-tertiary tr {
|
|
2894
|
+
background: var(--salt-container-tertiary-background);
|
|
2895
|
+
}
|
|
2896
|
+
table.saltTable tfoot.saltTable-tfoot-divider-primary tr {
|
|
2897
|
+
--table-footer-divider-color: var(--salt-separable-primary-borderColor);
|
|
2898
|
+
}
|
|
2899
|
+
table.saltTable tfoot.saltTable-tfoot-divider-secondary tr {
|
|
2900
|
+
--table-footer-divider-color: var(--salt-separable-secondary-borderColor);
|
|
2901
|
+
}
|
|
2902
|
+
table.saltTable tfoot.saltTable-tfoot-divider-tertiary tr {
|
|
2903
|
+
--table-footer-divider-color: var(--salt-separable-tertiary-borderColor);
|
|
2904
|
+
}
|
|
2905
|
+
table.saltTable tfoot.saltTable-tfoot-divider-none tr {
|
|
2906
|
+
--table-footer-divider-color: transparent;
|
|
2907
|
+
}
|
|
2908
|
+
table.saltTable th {
|
|
2909
|
+
overflow: hidden;
|
|
2910
|
+
padding: var(--salt-spacing-100);
|
|
2911
|
+
position: relative;
|
|
2912
|
+
text-align: start;
|
|
2913
|
+
}
|
|
2914
|
+
.table.saltTable th[scope=row] {
|
|
2915
|
+
font-weight: var(--salt-text-fontWeight-strong);
|
|
2916
|
+
line-height: var(--salt-text-lineHeight);
|
|
2917
|
+
}
|
|
2918
|
+
table.saltTable th + th::before {
|
|
2919
|
+
--table-th-separator-height: calc(var(--salt-size-base) / 2 - 2 * var(--salt-size-fixed-100));
|
|
2920
|
+
background: var(--salt-separable-tertiary-borderColor);
|
|
2921
|
+
content: "";
|
|
2922
|
+
position: absolute;
|
|
2923
|
+
z-index: 1;
|
|
2924
|
+
display: block;
|
|
2925
|
+
width: var(--salt-size-border);
|
|
2926
|
+
height: var(--table-th-separator-height);
|
|
2927
|
+
top: calc(50% - var(--table-th-separator-height) * 0.5);
|
|
2928
|
+
left: 0;
|
|
2929
|
+
}
|
|
2930
|
+
table.saltTable tr {
|
|
2931
|
+
background: var(--table-background);
|
|
2932
|
+
height: var(--table-row-height);
|
|
2933
|
+
min-height: var(--table-row-height);
|
|
2934
|
+
}
|
|
2935
|
+
table.saltTable tbody tr:not(:last-child) {
|
|
2936
|
+
border-bottom: var(--salt-borderStyle-solid) var(--table-divider-color) var(--salt-size-fixed-100);
|
|
2937
|
+
}
|
|
2938
|
+
table.saltTable-divider-none tbody tr {
|
|
2939
|
+
--table-divider-color: transparent;
|
|
2940
|
+
}
|
|
2941
|
+
table.saltTable td {
|
|
2942
|
+
height: 100%;
|
|
2943
|
+
padding: var(--salt-spacing-100);
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2763
2946
|
/* src/tabs/Tab.css */
|
|
2764
2947
|
.saltTab {
|
|
2765
2948
|
--saltEditableLabel-padding: 0;
|
|
@@ -3978,6 +4161,154 @@
|
|
|
3978
4161
|
width: 12px;
|
|
3979
4162
|
}
|
|
3980
4163
|
|
|
4164
|
+
/* src/vertical-navigation/VerticalNavigation.css */
|
|
4165
|
+
.saltVerticalNavigation {
|
|
4166
|
+
display: flex;
|
|
4167
|
+
flex-direction: column;
|
|
4168
|
+
gap: var(--salt-spacing-fixed-100);
|
|
4169
|
+
list-style: none;
|
|
4170
|
+
padding: 0;
|
|
4171
|
+
margin: 0;
|
|
4172
|
+
position: relative;
|
|
4173
|
+
}
|
|
4174
|
+
.saltVerticalNavigation > .saltDivider-horizontal,
|
|
4175
|
+
.saltVerticalNavigationSubMenu > .saltDivider-horizontal,
|
|
4176
|
+
.saltVerticalNavigationItem > .saltDivider-horizontal {
|
|
4177
|
+
margin-bottom: calc(var(--salt-size-fixed-100) * -1);
|
|
4178
|
+
}
|
|
4179
|
+
.saltVerticalNavigation[data-has-direct-icons=false] .saltCollapsiblePanel-inner {
|
|
4180
|
+
margin-bottom: calc(var(--salt-size-fixed-100) * -1);
|
|
4181
|
+
}
|
|
4182
|
+
.saltVerticalNavigation[data-has-direct-icons=false] .saltCollapsiblePanel-inner .saltVerticalNavigationSubMenu {
|
|
4183
|
+
border-bottom: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-separable-tertiary-borderColor);
|
|
4184
|
+
}
|
|
4185
|
+
.saltVerticalNavigation .saltCollapsiblePanel-inner .saltCollapsiblePanel-inner,
|
|
4186
|
+
.saltVerticalNavigation .saltCollapsiblePanel[aria-hidden=true] .saltCollapsiblePanel-inner {
|
|
4187
|
+
margin-bottom: 0;
|
|
4188
|
+
}
|
|
4189
|
+
.saltVerticalNavigation .saltCollapsiblePanel-inner .saltCollapsiblePanel-inner .saltVerticalNavigationSubMenu,
|
|
4190
|
+
.saltVerticalNavigation .saltCollapsiblePanel[aria-hidden=true] .saltCollapsiblePanel-inner .saltVerticalNavigationSubMenu {
|
|
4191
|
+
border-bottom: none;
|
|
4192
|
+
}
|
|
4193
|
+
|
|
4194
|
+
/* src/vertical-navigation/VerticalNavigationItemContent.css */
|
|
4195
|
+
.saltVerticalNavigationItemContent {
|
|
4196
|
+
--verticalNavigationItem-iconPadding: calc(var(--saltVerticalNavigationItem-iconPaddingMultiplier, 0) * (var(--salt-size-icon) + var(--salt-spacing-100)));
|
|
4197
|
+
--verticalNavigationItem-depthPadding: calc(var(--salt-spacing-100) * max(0, calc(var(--verticalNavigationItem-depth, 0) - 1)));
|
|
4198
|
+
}
|
|
4199
|
+
.saltVerticalNavigation-indicator .saltVerticalNavigationItemContent {
|
|
4200
|
+
--verticalNavigationItem-paddingLeft: calc(var(--salt-spacing-150) + var(--salt-size-indicator) + var(--verticalNavigationItem-depthPadding) + var(--verticalNavigationItem-iconPadding));
|
|
4201
|
+
--verticalNavigationItem-paddingBlock: var(--salt-spacing-50);
|
|
4202
|
+
}
|
|
4203
|
+
.saltVerticalNavigation-bordered .saltVerticalNavigationItemContent {
|
|
4204
|
+
--verticalNavigationItem-paddingLeft: calc(var(--salt-spacing-100) + var(--verticalNavigationItem-depthPadding) + var(--verticalNavigationItem-iconPadding));
|
|
4205
|
+
--verticalNavigationItem-paddingBlock: calc(var(--salt-spacing-50) - var(--salt-size-fixed-100));
|
|
4206
|
+
}
|
|
4207
|
+
.saltVerticalNavigationItemContent {
|
|
4208
|
+
display: flex;
|
|
4209
|
+
flex-direction: row;
|
|
4210
|
+
gap: var(--salt-spacing-100);
|
|
4211
|
+
appearance: none;
|
|
4212
|
+
-webkit-appearance: none;
|
|
4213
|
+
white-space: pre;
|
|
4214
|
+
min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));
|
|
4215
|
+
min-width: 4em;
|
|
4216
|
+
padding: var(--verticalNavigationItem-paddingBlock) var(--salt-spacing-100) var(--verticalNavigationItem-paddingBlock) var(--verticalNavigationItem-paddingLeft);
|
|
4217
|
+
position: relative;
|
|
4218
|
+
flex-shrink: 0;
|
|
4219
|
+
box-sizing: border-box;
|
|
4220
|
+
border-radius: var(--salt-palette-corner-weak, 0);
|
|
4221
|
+
overflow: hidden;
|
|
4222
|
+
cursor: var(--salt-cursor-hover);
|
|
4223
|
+
color: var(--salt-content-primary-foreground);
|
|
4224
|
+
font-weight: var(--salt-text-h4-fontWeight);
|
|
4225
|
+
font-family: var(--salt-text-h4-fontFamily);
|
|
4226
|
+
text-align: var(--salt-text-textAlign);
|
|
4227
|
+
letter-spacing: var(--salt-text-letterSpacing);
|
|
4228
|
+
line-height: var(--salt-text-h4-lineHeight);
|
|
4229
|
+
font-size: var(--salt-text-h4-fontSize);
|
|
4230
|
+
}
|
|
4231
|
+
.saltVerticalNavigation-indicator .saltVerticalNavigationItemContent-active,
|
|
4232
|
+
.saltVerticalNavigation-indicator .saltVerticalNavigationItemContent-active:hover {
|
|
4233
|
+
background: var(--salt-navigable-accent-background-active);
|
|
4234
|
+
}
|
|
4235
|
+
.saltVerticalNavigation-indicator .saltVerticalNavigationItemContent::before {
|
|
4236
|
+
left: var(--salt-spacing-50);
|
|
4237
|
+
content: "";
|
|
4238
|
+
position: absolute;
|
|
4239
|
+
height: var(--salt-size-base);
|
|
4240
|
+
border-radius: var(--salt-palette-corner-strongest);
|
|
4241
|
+
width: var(--salt-size-indicator);
|
|
4242
|
+
}
|
|
4243
|
+
.saltVerticalNavigation-indicator .saltVerticalNavigationItemContent-active::before {
|
|
4244
|
+
background: var(--salt-navigable-accent-indicator-active);
|
|
4245
|
+
}
|
|
4246
|
+
.saltVerticalNavigation-bordered .saltVerticalNavigationItemContent {
|
|
4247
|
+
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) transparent;
|
|
4248
|
+
}
|
|
4249
|
+
.saltVerticalNavigation-bordered .saltVerticalNavigationItemContent-active,
|
|
4250
|
+
.saltVerticalNavigation-bordered .saltVerticalNavigationItemContent-active:hover {
|
|
4251
|
+
background: var(--salt-navigable-accent-background-active);
|
|
4252
|
+
border-color: var(--salt-navigable-accent-borderColor-active);
|
|
4253
|
+
}
|
|
4254
|
+
.saltVerticalNavigationItemContent .saltIcon,
|
|
4255
|
+
.saltVerticalNavigationItemContent .saltBadge {
|
|
4256
|
+
min-height: var(--salt-text-lineHeight);
|
|
4257
|
+
}
|
|
4258
|
+
.saltVerticalNavigationItemContent-focused {
|
|
4259
|
+
outline: var(--salt-focused-outline);
|
|
4260
|
+
outline-offset: calc(var(--salt-size-fixed-100) * -2);
|
|
4261
|
+
z-index: 1;
|
|
4262
|
+
}
|
|
4263
|
+
.saltVerticalNavigationItemContent:hover {
|
|
4264
|
+
background: var(--salt-navigable-background-hover);
|
|
4265
|
+
}
|
|
4266
|
+
.saltVerticalNavigation .saltVerticalNavigationItemContent-active,
|
|
4267
|
+
.saltVerticalNavigation .saltVerticalNavigationSubMenu .saltVerticalNavigationItemContent-active {
|
|
4268
|
+
font-weight: var(--salt-text-h4-fontWeight);
|
|
4269
|
+
}
|
|
4270
|
+
@supports selector(:has(*)) {
|
|
4271
|
+
.saltVerticalNavigationItemContent-active:hover:has(.saltVerticalNavigationItemTrigger[aria-controls]) {
|
|
4272
|
+
background: linear-gradient(var(--salt-navigable-background-hover), var(--salt-navigable-background-hover)) var(--salt-navigable-accent-background-active);
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
|
|
4276
|
+
/* src/vertical-navigation/VerticalNavigationItemLabel.css */
|
|
4277
|
+
.saltVerticalNavigationItemLabel {
|
|
4278
|
+
flex: 1;
|
|
4279
|
+
}
|
|
4280
|
+
|
|
4281
|
+
/* src/vertical-navigation/VerticalNavigationItemTrigger.css */
|
|
4282
|
+
.saltVerticalNavigationItemTrigger {
|
|
4283
|
+
all: unset;
|
|
4284
|
+
padding: var(--salt-spacing-75) 0;
|
|
4285
|
+
display: flex;
|
|
4286
|
+
gap: var(--salt-spacing-100);
|
|
4287
|
+
width: 100%;
|
|
4288
|
+
}
|
|
4289
|
+
.saltVerticalNavigationItemTrigger::before {
|
|
4290
|
+
content: "";
|
|
4291
|
+
display: block;
|
|
4292
|
+
width: 100%;
|
|
4293
|
+
position: absolute;
|
|
4294
|
+
height: 100%;
|
|
4295
|
+
left: 0;
|
|
4296
|
+
top: 0;
|
|
4297
|
+
}
|
|
4298
|
+
|
|
4299
|
+
/* src/vertical-navigation/VerticalNavigationSubMenu.css */
|
|
4300
|
+
.saltVerticalNavigationSubMenu {
|
|
4301
|
+
display: flex;
|
|
4302
|
+
flex-direction: column;
|
|
4303
|
+
gap: var(--salt-spacing-fixed-100);
|
|
4304
|
+
list-style: none;
|
|
4305
|
+
padding: var(--salt-spacing-fixed-100) 0 0;
|
|
4306
|
+
margin: 0;
|
|
4307
|
+
}
|
|
4308
|
+
.saltVerticalNavigationSubMenu .saltVerticalNavigationItemContent {
|
|
4309
|
+
font-weight: var(--salt-text-h4-fontWeight-small);
|
|
4310
|
+
}
|
|
4311
|
+
|
|
3981
4312
|
/* src/window/ElectronWindow.css */
|
|
3982
4313
|
.saltWindow {
|
|
3983
4314
|
--saltDialog-boxShadow: none;
|
|
@@ -4221,4 +4552,4 @@
|
|
|
4221
4552
|
margin: calc(var(--salt-size-unit) / 2) 0;
|
|
4222
4553
|
}
|
|
4223
4554
|
|
|
4224
|
-
/* src/
|
|
4555
|
+
/* src/9b30d833-bf54-4fa1-a1f3-00a5f8cf8f5a.css */
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var CollapsibleContext = require('./CollapsibleContext.js');
|
|
8
|
+
|
|
9
|
+
const withBaseName = core.makePrefixer("saltCollapsible");
|
|
10
|
+
const Collapsible = react.forwardRef(
|
|
11
|
+
function Collapsible2(props, ref) {
|
|
12
|
+
const {
|
|
13
|
+
className,
|
|
14
|
+
open: openProp,
|
|
15
|
+
defaultOpen,
|
|
16
|
+
onOpenChange,
|
|
17
|
+
...rest
|
|
18
|
+
} = props;
|
|
19
|
+
const [open, setOpenState] = core.useControlled({
|
|
20
|
+
default: Boolean(defaultOpen),
|
|
21
|
+
controlled: openProp,
|
|
22
|
+
name: "Collapsible",
|
|
23
|
+
state: "open"
|
|
24
|
+
});
|
|
25
|
+
const [panelId, setPanelId] = react.useState(void 0);
|
|
26
|
+
const setOpen = react.useCallback(
|
|
27
|
+
(event, newOpen) => {
|
|
28
|
+
setOpenState(newOpen);
|
|
29
|
+
onOpenChange == null ? void 0 : onOpenChange(event, newOpen);
|
|
30
|
+
},
|
|
31
|
+
[onOpenChange]
|
|
32
|
+
);
|
|
33
|
+
const contextValue = react.useMemo(
|
|
34
|
+
() => ({
|
|
35
|
+
open,
|
|
36
|
+
setOpen,
|
|
37
|
+
panelId,
|
|
38
|
+
setPanelId
|
|
39
|
+
}),
|
|
40
|
+
[open, setOpen, panelId]
|
|
41
|
+
);
|
|
42
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContext.CollapsibleContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(withBaseName(), className), ref, ...rest }) });
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
exports.Collapsible = Collapsible;
|
|
47
|
+
//# sourceMappingURL=Collapsible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapsible.js","sources":["../src/collapsible/Collapsible.tsx"],"sourcesContent":["import { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { CollapsibleContext } from \"./CollapsibleContext\";\n\nexport interface CollapsibleProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onToggle\"> {\n /**\n * Whether the accordion is open.\n */\n open?: boolean;\n /**\n * Whether the accordion is open by default.\n */\n defaultOpen?: boolean;\n /**\n * Callback fired when the accordion is opened or closed.\n */\n onOpenChange?: (\n event: SyntheticEvent<HTMLButtonElement>,\n open: boolean,\n ) => void;\n}\n\nconst withBaseName = makePrefixer(\"saltCollapsible\");\n\nexport const Collapsible = forwardRef<HTMLDivElement, CollapsibleProps>(\n function Collapsible(props, ref) {\n const {\n className,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...rest\n } = props;\n\n const [open, setOpenState] = useControlled({\n default: Boolean(defaultOpen),\n controlled: openProp,\n name: \"Collapsible\",\n state: \"open\",\n });\n\n const [panelId, setPanelId] = useState<string | undefined>(undefined);\n\n const setOpen = useCallback(\n (event: SyntheticEvent<HTMLButtonElement>, newOpen: boolean) => {\n setOpenState(newOpen);\n onOpenChange?.(event, newOpen);\n },\n [onOpenChange],\n );\n\n const contextValue = useMemo(\n () => ({\n open,\n setOpen,\n panelId,\n setPanelId,\n }),\n [open, setOpen, panelId],\n );\n\n return (\n <CollapsibleContext.Provider value={contextValue}>\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest} />\n </CollapsibleContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Collapsible","useControlled","useState","useCallback","useMemo","CollapsibleContext","jsx","clsx"],"mappings":";;;;;;;;AA+BA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA;AAE5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAASC,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,WAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,CAAC,IAAA,EAAM,YAAY,CAAA,GAAIC,kBAAc,CAAA;AAAA,MACzC,OAAA,EAAS,QAAQ,WAAW,CAAA;AAAA,MAC5B,UAAY,EAAA,QAAA;AAAA,MACZ,IAAM,EAAA,aAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACR,CAAA;AAED,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAA6B,MAAS,CAAA;AAEpE,IAAA,MAAM,OAAU,GAAAC,iBAAA;AAAA,MACd,CAAC,OAA0C,OAAqB,KAAA;AAC9D,QAAA,YAAA,CAAa,OAAO,CAAA;AACpB,QAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAe,KAAO,EAAA,OAAA,CAAA;AAAA,OACxB;AAAA,MACA,CAAC,YAAY;AAAA,KACf;AAEA,IAAA,MAAM,YAAe,GAAAC,aAAA;AAAA,MACnB,OAAO;AAAA,QACL,IAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF,CAAA;AAAA,MACA,CAAC,IAAM,EAAA,OAAA,EAAS,OAAO;AAAA,KACzB;AAEA,IAAA,sCACGC,qCAAmB,CAAA,QAAA,EAAnB,EAA4B,KAAA,EAAO,cAClC,QAAC,kBAAAC,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAAC,SAAA,CAAK,cAAgB,EAAA,SAAS,GAAG,GAAW,EAAA,GAAG,MAAM,CACvE,EAAA,CAAA;AAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@salt-ds/core');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
const CollapsibleContext = core.createContext(
|
|
7
|
+
"CollapsibleContext",
|
|
8
|
+
{
|
|
9
|
+
open: false,
|
|
10
|
+
setOpen: () => {
|
|
11
|
+
},
|
|
12
|
+
panelId: void 0,
|
|
13
|
+
setPanelId: () => {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
function useCollapsibleContext() {
|
|
18
|
+
return react.useContext(CollapsibleContext);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.CollapsibleContext = CollapsibleContext;
|
|
22
|
+
exports.useCollapsibleContext = useCollapsibleContext;
|
|
23
|
+
//# sourceMappingURL=CollapsibleContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleContext.js","sources":["../src/collapsible/CollapsibleContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { type SyntheticEvent, useContext } from \"react\";\n\nexport type CollapsibleContextValue = {\n open: boolean;\n setOpen: (event: SyntheticEvent<HTMLButtonElement>, open: boolean) => void;\n panelId?: string;\n setPanelId?: (panelId: string) => void;\n};\n\nexport const CollapsibleContext = createContext<CollapsibleContextValue>(\n \"CollapsibleContext\",\n {\n open: false,\n setOpen: () => {},\n panelId: undefined,\n setPanelId: () => {},\n },\n);\n\nexport function useCollapsibleContext() {\n return useContext(CollapsibleContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;AAUO,MAAM,kBAAqB,GAAAA,kBAAA;AAAA,EAChC,oBAAA;AAAA,EACA;AAAA,IACE,IAAM,EAAA,KAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,IAChB,OAAS,EAAA,MAAA;AAAA,IACT,YAAY,MAAM;AAAA;AAAC;AAEvB;AAEO,SAAS,qBAAwB,GAAA;AACtC,EAAA,OAAOC,iBAAW,kBAAkB,CAAA;AACtC;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltCollapsiblePanel {\n display: grid;\n transition:\n grid-template-rows var(--salt-duration-perceptible) ease-in-out,\n opacity var(--salt-duration-perceptible) ease-in-out,\n visibility var(--salt-duration-perceptible) ease-in-out;\n}\n\n.saltCollapsiblePanel[aria-hidden=\"true\"] {\n grid-template-rows: 0fr;\n opacity: 0;\n visibility: hidden;\n}\n\n.saltCollapsiblePanel {\n grid-template-rows: 1fr;\n opacity: 1;\n visibility: visible;\n}\n\n.saltCollapsiblePanel-inner {\n overflow: hidden;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=CollapsiblePanel.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsiblePanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 CollapsibleContext = require('./CollapsibleContext.js');
|
|
10
|
+
var CollapsiblePanel$1 = require('./CollapsiblePanel.css.js');
|
|
11
|
+
|
|
12
|
+
const withBaseName = core.makePrefixer("saltCollapsiblePanel");
|
|
13
|
+
const CollapsiblePanel = (props) => {
|
|
14
|
+
const { children, className, id: idProp, ...rest } = props;
|
|
15
|
+
const targetWindow = window.useWindow();
|
|
16
|
+
styles.useComponentCssInjection({
|
|
17
|
+
testId: "salt-collapsible-panel",
|
|
18
|
+
css: CollapsiblePanel$1,
|
|
19
|
+
window: targetWindow
|
|
20
|
+
});
|
|
21
|
+
const id = core.useId(idProp);
|
|
22
|
+
const { open, setPanelId } = CollapsibleContext.useCollapsibleContext();
|
|
23
|
+
react.useEffect(() => {
|
|
24
|
+
if (id) {
|
|
25
|
+
setPanelId == null ? void 0 : setPanelId(id);
|
|
26
|
+
}
|
|
27
|
+
}, [id, setPanelId]);
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: clsx.clsx(withBaseName(), className),
|
|
32
|
+
id,
|
|
33
|
+
"aria-hidden": !open ? "true" : void 0,
|
|
34
|
+
hidden: !open,
|
|
35
|
+
...rest,
|
|
36
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("inner"), children })
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.CollapsiblePanel = CollapsiblePanel;
|
|
42
|
+
//# sourceMappingURL=CollapsiblePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsiblePanel.js","sources":["../src/collapsible/CollapsiblePanel.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, useEffect } from \"react\";\n\nimport { useCollapsibleContext } from \"./CollapsibleContext\";\nimport collapsiblePanelCss from \"./CollapsiblePanel.css\";\n\nexport interface CollapsiblePanelProps\n extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltCollapsiblePanel\");\n\nexport const CollapsiblePanel = (props: CollapsiblePanelProps) => {\n const { children, className, id: idProp, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-collapsible-panel\",\n css: collapsiblePanelCss,\n window: targetWindow,\n });\n\n const id = useId(idProp);\n const { open, setPanelId } = useCollapsibleContext();\n\n useEffect(() => {\n if (id) {\n setPanelId?.(id);\n }\n }, [id, setPanelId]);\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n id={id}\n aria-hidden={!open ? \"true\" : undefined}\n hidden={!open}\n {...rest}\n >\n <div className={withBaseName(\"inner\")}>{children}</div>\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","collapsiblePanelCss","useId","useCollapsibleContext","useEffect","jsx","clsx"],"mappings":";;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA;AAE3C,MAAA,gBAAA,GAAmB,CAAC,KAAiC,KAAA;AAChE,EAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,IAAI,MAAQ,EAAA,GAAG,MAAS,GAAA,KAAA;AAErD,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA;AACvB,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAIC,wCAAsB,EAAA;AAEnD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,EAAI,EAAA;AACN,MAAa,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAA,EAAA,CAAA;AAAA;AACf,GACC,EAAA,CAAC,EAAI,EAAA,UAAU,CAAC,CAAA;AAEnB,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,EAAA;AAAA,MACA,aAAA,EAAa,CAAC,IAAA,GAAO,MAAS,GAAA,MAAA;AAAA,MAC9B,QAAQ,CAAC,IAAA;AAAA,MACR,GAAG,IAAA;AAAA,MAEJ,yCAAC,KAAI,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,OAAO,GAAI,QAAS,EAAA;AAAA;AAAA,GACnD;AAEJ;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var CollapsibleContext = require('./CollapsibleContext.js');
|
|
8
|
+
|
|
9
|
+
const withBaseName = core.makePrefixer("saltCollapsibleTrigger");
|
|
10
|
+
const CollapsibleTrigger = react.forwardRef(function CollapsibleTrigger2(props, ref) {
|
|
11
|
+
const { children, className, onClick} = props;
|
|
12
|
+
const { open, setOpen, panelId } = CollapsibleContext.useCollapsibleContext();
|
|
13
|
+
const handleClick = (event) => {
|
|
14
|
+
setOpen(event, !open);
|
|
15
|
+
onClick == null ? void 0 : onClick(event);
|
|
16
|
+
};
|
|
17
|
+
if (!children || !react.isValidElement(children)) {
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
19
|
+
}
|
|
20
|
+
return react.cloneElement(children, {
|
|
21
|
+
...core.mergeProps(
|
|
22
|
+
{
|
|
23
|
+
className: clsx.clsx(withBaseName(), className),
|
|
24
|
+
type: "button",
|
|
25
|
+
"aria-expanded": open,
|
|
26
|
+
"aria-controls": panelId,
|
|
27
|
+
onClick: handleClick
|
|
28
|
+
},
|
|
29
|
+
children.props
|
|
30
|
+
),
|
|
31
|
+
ref
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
exports.CollapsibleTrigger = CollapsibleTrigger;
|
|
36
|
+
//# sourceMappingURL=CollapsibleTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleTrigger.js","sources":["../src/collapsible/CollapsibleTrigger.tsx"],"sourcesContent":["import { makePrefixer, mergeProps } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n cloneElement,\n forwardRef,\n isValidElement,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { useCollapsibleContext } from \"./CollapsibleContext\";\n\nexport interface CollapsibleTriggerProps\n extends ComponentPropsWithoutRef<\"button\"> {\n children: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltCollapsibleTrigger\");\n\nexport const CollapsibleTrigger = forwardRef<\n HTMLButtonElement,\n CollapsibleTriggerProps\n>(function CollapsibleTrigger(props, ref) {\n const { children, className, onClick, ...rest } = props;\n\n const { open, setOpen, panelId } = useCollapsibleContext();\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setOpen(event, !open);\n onClick?.(event);\n };\n\n if (!children || !isValidElement<{ ref?: Ref<unknown> }>(children)) {\n // Should we log or throw error?\n return <>{children}</>;\n }\n\n return cloneElement(children, {\n ...mergeProps(\n {\n className: clsx(withBaseName(), className),\n type: \"button\",\n \"aria-expanded\": open,\n \"aria-controls\": panelId,\n onClick: handleClick,\n },\n children.props,\n ),\n ref,\n });\n});\n"],"names":["makePrefixer","forwardRef","CollapsibleTrigger","useCollapsibleContext","isValidElement","cloneElement","mergeProps","clsx"],"mappings":";;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA;AAEnD,MAAM,kBAAqB,GAAAC,gBAAA,CAGhC,SAASC,mBAAAA,CAAmB,OAAO,GAAK,EAAA;AACxC,EAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,OAAiB,CAAI,GAAA,KAAA;AAElD,EAAA,MAAM,EAAE,IAAA,EAAM,OAAS,EAAA,OAAA,KAAYC,wCAAsB,EAAA;AAEzD,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAQ,OAAA,CAAA,KAAA,EAAO,CAAC,IAAI,CAAA;AACpB,IAAU,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAA,IAAI,CAAC,QAAA,IAAY,CAACC,oBAAA,CAAuC,QAAQ,CAAG,EAAA;AAElE,IAAA,6DAAU,QAAS,EAAA,CAAA;AAAA;AAGrB,EAAA,OAAOC,mBAAa,QAAU,EAAA;AAAA,IAC5B,GAAGC,eAAA;AAAA,MACD;AAAA,QACE,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,IAAM,EAAA,QAAA;AAAA,QACN,eAAiB,EAAA,IAAA;AAAA,QACjB,eAAiB,EAAA,OAAA;AAAA,QACjB,OAAS,EAAA;AAAA,OACX;AAAA,MACA,QAAS,CAAA;AAAA,KACX;AAAA,IACA;AAAA,GACD,CAAA;AACH,CAAC;;;;"}
|
package/dist-cjs/index.js
CHANGED
|
@@ -13,6 +13,9 @@ var useCalendar = require('./calendar/useCalendar.js');
|
|
|
13
13
|
var useCalendarDay = require('./calendar/useCalendarDay.js');
|
|
14
14
|
var useCalendarSelection = require('./calendar/useCalendarSelection.js');
|
|
15
15
|
var CascadingMenu = require('./cascading-menu/CascadingMenu.js');
|
|
16
|
+
var Collapsible = require('./collapsible/Collapsible.js');
|
|
17
|
+
var CollapsiblePanel = require('./collapsible/CollapsiblePanel.js');
|
|
18
|
+
var CollapsibleTrigger = require('./collapsible/CollapsibleTrigger.js');
|
|
16
19
|
var Color = require('./color-chooser/Color.js');
|
|
17
20
|
var ColorChooser = require('./color-chooser/ColorChooser.js');
|
|
18
21
|
var ColorHelpers = require('./color-chooser/ColorHelpers.js');
|
|
@@ -127,6 +130,13 @@ var StaticListItemContent = require('./static-list/StaticListItemContent.js');
|
|
|
127
130
|
var SystemStatus = require('./system-status/SystemStatus.js');
|
|
128
131
|
var SystemStatusActions = require('./system-status/SystemStatusActions.js');
|
|
129
132
|
var SystemStatusContent = require('./system-status/SystemStatusContent.js');
|
|
133
|
+
var Table = require('./table/Table.js');
|
|
134
|
+
var TBody = require('./table/TBody.js');
|
|
135
|
+
var TD = require('./table/TD.js');
|
|
136
|
+
var TFoot = require('./table/TFoot.js');
|
|
137
|
+
var TH = require('./table/TH.js');
|
|
138
|
+
var THead = require('./table/THead.js');
|
|
139
|
+
var TR = require('./table/TR.js');
|
|
130
140
|
var Tab = require('./tabs/Tab.js');
|
|
131
141
|
var TabActivationIndicator = require('./tabs/TabActivationIndicator.js');
|
|
132
142
|
var TabPanel = require('./tabs/TabPanel.js');
|
|
@@ -150,6 +160,13 @@ var ToolbarButton = require('./toolbar/ToolbarButton.js');
|
|
|
150
160
|
var Tooltray = require('./toolbar/Tooltray.js');
|
|
151
161
|
var ToolbarField = require('./toolbar/toolbar-field/ToolbarField.js');
|
|
152
162
|
var Tree = require('./tree/Tree.js');
|
|
163
|
+
var VerticalNavigation = require('./vertical-navigation/VerticalNavigation.js');
|
|
164
|
+
var VerticalNavigationItem = require('./vertical-navigation/VerticalNavigationItem.js');
|
|
165
|
+
var VerticalNavigationItemContent = require('./vertical-navigation/VerticalNavigationItemContent.js');
|
|
166
|
+
var VerticalNavigationItemExpansionIcon = require('./vertical-navigation/VerticalNavigationItemExpansionIcon.js');
|
|
167
|
+
var VerticalNavigationItemLabel = require('./vertical-navigation/VerticalNavigationItemLabel.js');
|
|
168
|
+
var VerticalNavigationItemTrigger = require('./vertical-navigation/VerticalNavigationItemTrigger.js');
|
|
169
|
+
var VerticalNavigationSubMenu = require('./vertical-navigation/VerticalNavigationSubMenu.js');
|
|
153
170
|
var ElectronWindow = require('./window/ElectronWindow.js');
|
|
154
171
|
var WindowContext = require('./window/WindowContext.js');
|
|
155
172
|
|
|
@@ -171,6 +188,9 @@ exports.isDateRangeSelection = useCalendarSelection.isDateRangeSelection;
|
|
|
171
188
|
exports.useCalendarSelection = useCalendarSelection.useCalendarSelection;
|
|
172
189
|
exports.useCalendarSelectionDay = useCalendarSelection.useCalendarSelectionDay;
|
|
173
190
|
exports.CascadingMenu = CascadingMenu.CascadingMenu;
|
|
191
|
+
exports.Collapsible = Collapsible.Collapsible;
|
|
192
|
+
exports.CollapsiblePanel = CollapsiblePanel.CollapsiblePanel;
|
|
193
|
+
exports.CollapsibleTrigger = CollapsibleTrigger.CollapsibleTrigger;
|
|
174
194
|
exports.Color = Color.Color;
|
|
175
195
|
exports.ColorChooser = ColorChooser.ColorChooser;
|
|
176
196
|
exports.convertColorMapValueToHex = ColorHelpers.convertColorMapValueToHex;
|
|
@@ -320,6 +340,14 @@ exports.StaticListItemContent = StaticListItemContent.StaticListItemContent;
|
|
|
320
340
|
exports.SystemStatus = SystemStatus.SystemStatus;
|
|
321
341
|
exports.SystemStatusActions = SystemStatusActions.SystemStatusActions;
|
|
322
342
|
exports.SystemStatusContent = SystemStatusContent.SystemStatusContent;
|
|
343
|
+
exports.Table = Table.Table;
|
|
344
|
+
exports.withTableBaseName = Table.withTableBaseName;
|
|
345
|
+
exports.TBody = TBody.TBody;
|
|
346
|
+
exports.TD = TD.TD;
|
|
347
|
+
exports.TFoot = TFoot.TFoot;
|
|
348
|
+
exports.TH = TH.TH;
|
|
349
|
+
exports.THead = THead.THead;
|
|
350
|
+
exports.TR = TR.TR;
|
|
323
351
|
exports.Tab = Tab.Tab;
|
|
324
352
|
exports.TabActivationIndicator = TabActivationIndicator.TabActivationIndicator;
|
|
325
353
|
exports.TabPanel = TabPanel.TabPanel;
|
|
@@ -343,6 +371,14 @@ exports.ToolbarButton = ToolbarButton.ToolbarButton;
|
|
|
343
371
|
exports.Tooltray = Tooltray.Tooltray;
|
|
344
372
|
exports.ToolbarField = ToolbarField.ToolbarField;
|
|
345
373
|
exports.Tree = Tree.Tree;
|
|
374
|
+
exports.VerticalNavigation = VerticalNavigation.VerticalNavigation;
|
|
375
|
+
exports.VerticalNavigationItem = VerticalNavigationItem.VerticalNavigationItem;
|
|
376
|
+
exports.useVerticalNavigationItem = VerticalNavigationItem.useVerticalNavigationItem;
|
|
377
|
+
exports.VerticalNavigationItemContent = VerticalNavigationItemContent.VerticalNavigationItemContent;
|
|
378
|
+
exports.VerticalNavigationItemExpansionIcon = VerticalNavigationItemExpansionIcon.VerticalNavigationItemExpansionIcon;
|
|
379
|
+
exports.VerticalNavigationItemLabel = VerticalNavigationItemLabel.VerticalNavigationItemLabel;
|
|
380
|
+
exports.VerticalNavigationItemTrigger = VerticalNavigationItemTrigger.VerticalNavigationItemTrigger;
|
|
381
|
+
exports.VerticalNavigationSubMenu = VerticalNavigationSubMenu.VerticalNavigationSubMenu;
|
|
346
382
|
exports.ElectronWindow = ElectronWindow.ElectronWindow;
|
|
347
383
|
exports.Window = WindowContext.Window;
|
|
348
384
|
exports.WindowContext = WindowContext.WindowContext;
|