@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.
Files changed (136) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/css/salt-lab.css +332 -1
  3. package/dist-cjs/collapsible/Collapsible.js +47 -0
  4. package/dist-cjs/collapsible/Collapsible.js.map +1 -0
  5. package/dist-cjs/collapsible/CollapsibleContext.js +23 -0
  6. package/dist-cjs/collapsible/CollapsibleContext.js.map +1 -0
  7. package/dist-cjs/collapsible/CollapsiblePanel.css.js +6 -0
  8. package/dist-cjs/collapsible/CollapsiblePanel.css.js.map +1 -0
  9. package/dist-cjs/collapsible/CollapsiblePanel.js +42 -0
  10. package/dist-cjs/collapsible/CollapsiblePanel.js.map +1 -0
  11. package/dist-cjs/collapsible/CollapsibleTrigger.js +36 -0
  12. package/dist-cjs/collapsible/CollapsibleTrigger.js.map +1 -0
  13. package/dist-cjs/index.js +36 -0
  14. package/dist-cjs/index.js.map +1 -1
  15. package/dist-cjs/static-list/StaticList.css.js +1 -1
  16. package/dist-cjs/table/TBody.js +32 -0
  17. package/dist-cjs/table/TBody.js.map +1 -0
  18. package/dist-cjs/table/TD.js +30 -0
  19. package/dist-cjs/table/TD.js.map +1 -0
  20. package/dist-cjs/table/TFoot.js +45 -0
  21. package/dist-cjs/table/TFoot.js.map +1 -0
  22. package/dist-cjs/table/TH.js +30 -0
  23. package/dist-cjs/table/TH.js.map +1 -0
  24. package/dist-cjs/table/THead.js +45 -0
  25. package/dist-cjs/table/THead.js.map +1 -0
  26. package/dist-cjs/table/TR.js +30 -0
  27. package/dist-cjs/table/TR.js.map +1 -0
  28. package/dist-cjs/table/Table.css.js +6 -0
  29. package/dist-cjs/table/Table.css.js.map +1 -0
  30. package/dist-cjs/table/Table.js +47 -0
  31. package/dist-cjs/table/Table.js.map +1 -0
  32. package/dist-cjs/vertical-navigation/SubMenuContext.js +34 -0
  33. package/dist-cjs/vertical-navigation/SubMenuContext.js.map +1 -0
  34. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js +6 -0
  35. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js.map +1 -0
  36. package/dist-cjs/vertical-navigation/VerticalNavigation.js +34 -0
  37. package/dist-cjs/vertical-navigation/VerticalNavigation.js.map +1 -0
  38. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js +48 -0
  39. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js.map +1 -0
  40. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js +6 -0
  41. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
  42. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js +83 -0
  43. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
  44. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js +29 -0
  45. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
  46. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js +6 -0
  47. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
  48. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js +24 -0
  49. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
  50. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js +6 -0
  51. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
  52. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js +69 -0
  53. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
  54. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +6 -0
  55. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
  56. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js +35 -0
  57. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
  58. package/dist-es/collapsible/Collapsible.js +45 -0
  59. package/dist-es/collapsible/Collapsible.js.map +1 -0
  60. package/dist-es/collapsible/CollapsibleContext.js +20 -0
  61. package/dist-es/collapsible/CollapsibleContext.js.map +1 -0
  62. package/dist-es/collapsible/CollapsiblePanel.css.js +4 -0
  63. package/dist-es/collapsible/CollapsiblePanel.css.js.map +1 -0
  64. package/dist-es/collapsible/CollapsiblePanel.js +40 -0
  65. package/dist-es/collapsible/CollapsiblePanel.js.map +1 -0
  66. package/dist-es/collapsible/CollapsibleTrigger.js +34 -0
  67. package/dist-es/collapsible/CollapsibleTrigger.js.map +1 -0
  68. package/dist-es/index.js +17 -0
  69. package/dist-es/index.js.map +1 -1
  70. package/dist-es/static-list/StaticList.css.js +1 -1
  71. package/dist-es/table/TBody.js +30 -0
  72. package/dist-es/table/TBody.js.map +1 -0
  73. package/dist-es/table/TD.js +28 -0
  74. package/dist-es/table/TD.js.map +1 -0
  75. package/dist-es/table/TFoot.js +43 -0
  76. package/dist-es/table/TFoot.js.map +1 -0
  77. package/dist-es/table/TH.js +28 -0
  78. package/dist-es/table/TH.js.map +1 -0
  79. package/dist-es/table/THead.js +43 -0
  80. package/dist-es/table/THead.js.map +1 -0
  81. package/dist-es/table/TR.js +28 -0
  82. package/dist-es/table/TR.js.map +1 -0
  83. package/dist-es/table/Table.css.js +4 -0
  84. package/dist-es/table/Table.css.js.map +1 -0
  85. package/dist-es/table/Table.js +44 -0
  86. package/dist-es/table/Table.js.map +1 -0
  87. package/dist-es/vertical-navigation/SubMenuContext.js +30 -0
  88. package/dist-es/vertical-navigation/SubMenuContext.js.map +1 -0
  89. package/dist-es/vertical-navigation/VerticalNavigation.css.js +4 -0
  90. package/dist-es/vertical-navigation/VerticalNavigation.css.js.map +1 -0
  91. package/dist-es/vertical-navigation/VerticalNavigation.js +32 -0
  92. package/dist-es/vertical-navigation/VerticalNavigation.js.map +1 -0
  93. package/dist-es/vertical-navigation/VerticalNavigationItem.js +45 -0
  94. package/dist-es/vertical-navigation/VerticalNavigationItem.js.map +1 -0
  95. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js +4 -0
  96. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
  97. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js +81 -0
  98. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
  99. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js +27 -0
  100. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
  101. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js +4 -0
  102. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
  103. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js +22 -0
  104. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
  105. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js +4 -0
  106. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
  107. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js +67 -0
  108. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
  109. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +4 -0
  110. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
  111. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js +33 -0
  112. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
  113. package/dist-types/collapsible/Collapsible.d.ts +16 -0
  114. package/dist-types/collapsible/CollapsibleContext.d.ts +9 -0
  115. package/dist-types/collapsible/CollapsiblePanel.d.ts +4 -0
  116. package/dist-types/collapsible/CollapsibleTrigger.d.ts +5 -0
  117. package/dist-types/collapsible/index.d.ts +3 -0
  118. package/dist-types/index.d.ts +3 -0
  119. package/dist-types/table/TBody.d.ts +4 -0
  120. package/dist-types/table/TD.d.ts +4 -0
  121. package/dist-types/table/TFoot.d.ts +20 -0
  122. package/dist-types/table/TH.d.ts +4 -0
  123. package/dist-types/table/THead.d.ts +20 -0
  124. package/dist-types/table/TR.d.ts +4 -0
  125. package/dist-types/table/Table.d.ts +20 -0
  126. package/dist-types/table/index.d.ts +7 -0
  127. package/dist-types/vertical-navigation/SubMenuContext.d.ts +14 -0
  128. package/dist-types/vertical-navigation/VerticalNavigation.d.ts +5 -0
  129. package/dist-types/vertical-navigation/VerticalNavigationItem.d.ts +12 -0
  130. package/dist-types/vertical-navigation/VerticalNavigationItemContent.d.ts +4 -0
  131. package/dist-types/vertical-navigation/VerticalNavigationItemExpansionIcon.d.ts +2 -0
  132. package/dist-types/vertical-navigation/VerticalNavigationItemLabel.d.ts +4 -0
  133. package/dist-types/vertical-navigation/VerticalNavigationItemTrigger.d.ts +6 -0
  134. package/dist-types/vertical-navigation/VerticalNavigationSubMenu.d.ts +4 -0
  135. package/dist-types/vertical-navigation/index.d.ts +7 -0
  136. 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/74e77887-c876-4d5f-a3d9-425bdfc6918b.css */
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;