@salt-ds/core 1.47.4 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/css/salt-core.css +202 -24
  3. package/dist-cjs/aria-announcer/AriaAnnounce.js.map +1 -1
  4. package/dist-cjs/avatar/Avatar.js +5 -2
  5. package/dist-cjs/avatar/Avatar.js.map +1 -1
  6. package/dist-cjs/banner/Banner.css.js +1 -1
  7. package/dist-cjs/breakpoints/BreakpointProvider.js +10 -7
  8. package/dist-cjs/breakpoints/BreakpointProvider.js.map +1 -1
  9. package/dist-cjs/button/useButton.js +3 -3
  10. package/dist-cjs/button/useButton.js.map +1 -1
  11. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  12. package/dist-cjs/checkbox/CheckboxIcon.css.js +1 -1
  13. package/dist-cjs/collapsible/Collapsible.js +52 -0
  14. package/dist-cjs/collapsible/Collapsible.js.map +1 -0
  15. package/dist-cjs/collapsible/CollapsibleContext.js +29 -0
  16. package/dist-cjs/collapsible/CollapsibleContext.js.map +1 -0
  17. package/dist-cjs/collapsible/CollapsiblePanel.css.js +6 -0
  18. package/dist-cjs/collapsible/CollapsiblePanel.css.js.map +1 -0
  19. package/dist-cjs/collapsible/CollapsiblePanel.js +46 -0
  20. package/dist-cjs/collapsible/CollapsiblePanel.js.map +1 -0
  21. package/dist-cjs/collapsible/CollapsibleTrigger.js +40 -0
  22. package/dist-cjs/collapsible/CollapsibleTrigger.js.map +1 -0
  23. package/dist-cjs/dialog/Dialog.js +1 -1
  24. package/dist-cjs/dialog/Dialog.js.map +1 -1
  25. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  26. package/dist-cjs/dialog/DialogHeader.css.js +1 -1
  27. package/dist-cjs/divider/Divider.js.map +1 -1
  28. package/dist-cjs/index.js +21 -0
  29. package/dist-cjs/index.js.map +1 -1
  30. package/dist-cjs/input/Input.css.js +1 -1
  31. package/dist-cjs/interactable-card/InteractableCard.js +29 -26
  32. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  33. package/dist-cjs/interactable-card/InteractableCardGroup.js +3 -3
  34. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  35. package/dist-cjs/multiline-input/MultilineInput.css.js +1 -1
  36. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  37. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  38. package/dist-cjs/pagination/PageButton.css.js +1 -1
  39. package/dist-cjs/pill/Pill.js +1 -1
  40. package/dist-cjs/pill/Pill.js.map +1 -1
  41. package/dist-cjs/pill-input/PillInput.css.js +1 -1
  42. package/dist-cjs/pill-input/useTruncatePills.js +2 -1
  43. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
  44. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  45. package/dist-cjs/radio-button/RadioButtonIcon.css.js +1 -1
  46. package/dist-cjs/salt-provider/SaltProvider.js +2 -2
  47. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  48. package/dist-cjs/spinner/Spinner.js +3 -4
  49. package/dist-cjs/spinner/Spinner.js.map +1 -1
  50. package/dist-cjs/stepper/Step.js +1 -1
  51. package/dist-cjs/stepper/Step.js.map +1 -1
  52. package/dist-cjs/stepper/internal/StepText.css.js +1 -1
  53. package/dist-cjs/stepper/internal/StepText.js +0 -1
  54. package/dist-cjs/stepper/internal/StepText.js.map +1 -1
  55. package/dist-cjs/switch/Switch.js.map +1 -1
  56. package/dist-cjs/text/Text.css.js +1 -1
  57. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +3 -3
  58. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  59. package/dist-cjs/tooltip/Tooltip.js +1 -1
  60. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  61. package/dist-cjs/tooltip/useTooltip.js +1 -1
  62. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  63. package/dist-cjs/utils/mergeProps.js +2 -2
  64. package/dist-cjs/utils/mergeProps.js.map +1 -1
  65. package/dist-cjs/utils/useControlled.js +1 -1
  66. package/dist-cjs/utils/useControlled.js.map +1 -1
  67. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +2 -2
  68. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  69. package/dist-cjs/utils/useIsFocusVisible.js +1 -1
  70. package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
  71. package/dist-cjs/utils/usePreventScroll.js.map +1 -1
  72. package/dist-cjs/utils/usePrevious.js.map +1 -1
  73. package/dist-cjs/vertical-navigation/SubMenuContext.js +39 -0
  74. package/dist-cjs/vertical-navigation/SubMenuContext.js.map +1 -0
  75. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js +6 -0
  76. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js.map +1 -0
  77. package/dist-cjs/vertical-navigation/VerticalNavigation.js +38 -0
  78. package/dist-cjs/vertical-navigation/VerticalNavigation.js.map +1 -0
  79. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js +53 -0
  80. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js.map +1 -0
  81. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js +6 -0
  82. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
  83. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js +88 -0
  84. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
  85. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js +35 -0
  86. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
  87. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js +6 -0
  88. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
  89. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js +28 -0
  90. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
  91. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js +6 -0
  92. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
  93. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js +74 -0
  94. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
  95. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +6 -0
  96. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
  97. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js +39 -0
  98. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
  99. package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
  100. package/dist-es/avatar/Avatar.js +5 -2
  101. package/dist-es/avatar/Avatar.js.map +1 -1
  102. package/dist-es/banner/Banner.css.js +1 -1
  103. package/dist-es/breakpoints/BreakpointProvider.js +11 -8
  104. package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
  105. package/dist-es/button/useButton.js +3 -3
  106. package/dist-es/button/useButton.js.map +1 -1
  107. package/dist-es/checkbox/Checkbox.css.js +1 -1
  108. package/dist-es/checkbox/CheckboxIcon.css.js +1 -1
  109. package/dist-es/collapsible/Collapsible.js +50 -0
  110. package/dist-es/collapsible/Collapsible.js.map +1 -0
  111. package/dist-es/collapsible/CollapsibleContext.js +26 -0
  112. package/dist-es/collapsible/CollapsibleContext.js.map +1 -0
  113. package/dist-es/collapsible/CollapsiblePanel.css.js +4 -0
  114. package/dist-es/collapsible/CollapsiblePanel.css.js.map +1 -0
  115. package/dist-es/collapsible/CollapsiblePanel.js +44 -0
  116. package/dist-es/collapsible/CollapsiblePanel.js.map +1 -0
  117. package/dist-es/collapsible/CollapsibleTrigger.js +38 -0
  118. package/dist-es/collapsible/CollapsibleTrigger.js.map +1 -0
  119. package/dist-es/dialog/Dialog.js +1 -1
  120. package/dist-es/dialog/Dialog.js.map +1 -1
  121. package/dist-es/dialog/DialogContent.css.js +1 -1
  122. package/dist-es/dialog/DialogHeader.css.js +1 -1
  123. package/dist-es/divider/Divider.js.map +1 -1
  124. package/dist-es/index.js +10 -0
  125. package/dist-es/index.js.map +1 -1
  126. package/dist-es/input/Input.css.js +1 -1
  127. package/dist-es/interactable-card/InteractableCard.js +29 -26
  128. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  129. package/dist-es/interactable-card/InteractableCardGroup.js +3 -3
  130. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  131. package/dist-es/multiline-input/MultilineInput.css.js +1 -1
  132. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  133. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  134. package/dist-es/pagination/PageButton.css.js +1 -1
  135. package/dist-es/pill/Pill.js +1 -1
  136. package/dist-es/pill/Pill.js.map +1 -1
  137. package/dist-es/pill-input/PillInput.css.js +1 -1
  138. package/dist-es/pill-input/useTruncatePills.js +2 -1
  139. package/dist-es/pill-input/useTruncatePills.js.map +1 -1
  140. package/dist-es/radio-button/RadioButton.css.js +1 -1
  141. package/dist-es/radio-button/RadioButtonIcon.css.js +1 -1
  142. package/dist-es/salt-provider/SaltProvider.js +2 -2
  143. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  144. package/dist-es/spinner/Spinner.js +3 -4
  145. package/dist-es/spinner/Spinner.js.map +1 -1
  146. package/dist-es/stepper/Step.js +1 -1
  147. package/dist-es/stepper/Step.js.map +1 -1
  148. package/dist-es/stepper/internal/StepText.css.js +1 -1
  149. package/dist-es/stepper/internal/StepText.js +0 -1
  150. package/dist-es/stepper/internal/StepText.js.map +1 -1
  151. package/dist-es/switch/Switch.js.map +1 -1
  152. package/dist-es/text/Text.css.js +1 -1
  153. package/dist-es/toggle-button-group/ToggleButtonGroup.js +3 -3
  154. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  155. package/dist-es/tooltip/Tooltip.js +1 -1
  156. package/dist-es/tooltip/Tooltip.js.map +1 -1
  157. package/dist-es/tooltip/useTooltip.js +1 -1
  158. package/dist-es/tooltip/useTooltip.js.map +1 -1
  159. package/dist-es/utils/mergeProps.js +2 -2
  160. package/dist-es/utils/mergeProps.js.map +1 -1
  161. package/dist-es/utils/useControlled.js +1 -1
  162. package/dist-es/utils/useControlled.js.map +1 -1
  163. package/dist-es/utils/useFloatingUI/useFloatingUI.js +2 -2
  164. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  165. package/dist-es/utils/useIsFocusVisible.js +1 -1
  166. package/dist-es/utils/useIsFocusVisible.js.map +1 -1
  167. package/dist-es/utils/usePreventScroll.js.map +1 -1
  168. package/dist-es/utils/usePrevious.js.map +1 -1
  169. package/dist-es/vertical-navigation/SubMenuContext.js +35 -0
  170. package/dist-es/vertical-navigation/SubMenuContext.js.map +1 -0
  171. package/dist-es/vertical-navigation/VerticalNavigation.css.js +4 -0
  172. package/dist-es/vertical-navigation/VerticalNavigation.css.js.map +1 -0
  173. package/dist-es/vertical-navigation/VerticalNavigation.js +36 -0
  174. package/dist-es/vertical-navigation/VerticalNavigation.js.map +1 -0
  175. package/dist-es/vertical-navigation/VerticalNavigationItem.js +50 -0
  176. package/dist-es/vertical-navigation/VerticalNavigationItem.js.map +1 -0
  177. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js +4 -0
  178. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js.map +1 -0
  179. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js +86 -0
  180. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js.map +1 -0
  181. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js +33 -0
  182. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +1 -0
  183. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js +4 -0
  184. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js.map +1 -0
  185. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js +26 -0
  186. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js.map +1 -0
  187. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js +4 -0
  188. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +1 -0
  189. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js +72 -0
  190. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js.map +1 -0
  191. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +4 -0
  192. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js.map +1 -0
  193. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js +37 -0
  194. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js.map +1 -0
  195. package/dist-types/collapsible/Collapsible.d.ts +16 -0
  196. package/dist-types/collapsible/CollapsibleContext.d.ts +9 -0
  197. package/dist-types/collapsible/CollapsiblePanel.d.ts +4 -0
  198. package/dist-types/collapsible/CollapsibleTrigger.d.ts +5 -0
  199. package/dist-types/collapsible/index.d.ts +3 -0
  200. package/dist-types/index.d.ts +2 -0
  201. package/dist-types/vertical-navigation/SubMenuContext.d.ts +14 -0
  202. package/dist-types/vertical-navigation/VerticalNavigation.d.ts +8 -0
  203. package/dist-types/vertical-navigation/VerticalNavigationItem.d.ts +12 -0
  204. package/dist-types/vertical-navigation/VerticalNavigationItemContent.d.ts +4 -0
  205. package/dist-types/vertical-navigation/VerticalNavigationItemExpansionIcon.d.ts +2 -0
  206. package/dist-types/vertical-navigation/VerticalNavigationItemLabel.d.ts +4 -0
  207. package/dist-types/vertical-navigation/VerticalNavigationItemTrigger.d.ts +6 -0
  208. package/dist-types/vertical-navigation/VerticalNavigationSubMenu.d.ts +4 -0
  209. package/dist-types/vertical-navigation/index.d.ts +7 -0
  210. package/package.json +2 -2
@@ -0,0 +1,72 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useComponentCssInjection } from '@salt-ds/styles';
3
+ import { useWindow } from '@salt-ds/window';
4
+ import { clsx } from 'clsx';
5
+ import { forwardRef, useRef } from 'react';
6
+ import { makePrefixer } from '../utils/makePrefixer.js';
7
+ import { renderProps } from '../utils/renderProps.js';
8
+ import '../utils/useFloatingUI/useFloatingUI.js';
9
+ import '../utils/useId.js';
10
+ import '../salt-provider/SaltProvider.js';
11
+ import '../viewport/ViewportProvider.js';
12
+ import { useVerticalNavigationItem } from './VerticalNavigationItem.js';
13
+ import css_248z from './VerticalNavigationItemTrigger.css.js';
14
+
15
+ function ItemAction(props) {
16
+ return renderProps("a", props);
17
+ }
18
+ const withBaseName = makePrefixer("saltVerticalNavigationItemTrigger");
19
+ const VerticalNavigationItemTrigger = forwardRef(function VerticalNavigationItemTrigger2(props, ref) {
20
+ const {
21
+ className,
22
+ children,
23
+ render,
24
+ href,
25
+ onFocus,
26
+ onBlur,
27
+ onMouseDown,
28
+ ...rest
29
+ } = props;
30
+ const targetWindow = useWindow();
31
+ useComponentCssInjection({
32
+ testId: "salt-vertical-navigation-item-trigger",
33
+ css: css_248z,
34
+ window: targetWindow
35
+ });
36
+ const isLink = href != null;
37
+ const { active, setFocusVisible } = useVerticalNavigationItem();
38
+ const wasMouseDownRef = useRef(false);
39
+ const handleFocus = (event) => {
40
+ if (!wasMouseDownRef.current) {
41
+ setFocusVisible(true);
42
+ }
43
+ wasMouseDownRef.current = false;
44
+ onFocus == null ? void 0 : onFocus(event);
45
+ };
46
+ const handleBlur = (event) => {
47
+ setFocusVisible(false);
48
+ onBlur == null ? void 0 : onBlur(event);
49
+ };
50
+ const handleMouseDown = (event) => {
51
+ wasMouseDownRef.current = true;
52
+ onMouseDown == null ? void 0 : onMouseDown(event);
53
+ };
54
+ return /* @__PURE__ */ jsx(
55
+ ItemAction,
56
+ {
57
+ className: clsx(withBaseName(), className),
58
+ href,
59
+ "aria-current": active ? "page" : void 0,
60
+ render: render ?? (isLink ? void 0 : /* @__PURE__ */ jsx("button", { type: "button" })),
61
+ ref,
62
+ onFocus: handleFocus,
63
+ onBlur: handleBlur,
64
+ onMouseDown: handleMouseDown,
65
+ ...rest,
66
+ children
67
+ }
68
+ );
69
+ });
70
+
71
+ export { VerticalNavigationItemTrigger };
72
+ //# sourceMappingURL=VerticalNavigationItemTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalNavigationItemTrigger.js","sources":["../src/vertical-navigation/VerticalNavigationItemTrigger.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type FocusEvent,\n forwardRef,\n type MouseEvent,\n useRef,\n} from \"react\";\nimport { makePrefixer, type RenderPropsType, renderProps } from \"../utils\";\nimport { useVerticalNavigationItem } from \"./VerticalNavigationItem\";\nimport verticalNavigationItemTriggerCss from \"./VerticalNavigationItemTrigger.css\";\n\n// biome-ignore lint/suspicious/noExplicitAny: We don't know the exact type here\nfunction ItemAction(props: ComponentPropsWithoutRef<any>) {\n return renderProps(\"a\", props);\n}\n\nexport interface VerticalNavigationItemTriggerProps\n extends ComponentPropsWithoutRef<\"a\"> {\n render?: RenderPropsType[\"render\"];\n}\n\nconst withBaseName = makePrefixer(\"saltVerticalNavigationItemTrigger\");\n\nexport const VerticalNavigationItemTrigger = forwardRef<\n HTMLAnchorElement,\n VerticalNavigationItemTriggerProps\n>(function VerticalNavigationItemTrigger(props, ref) {\n const {\n className,\n children,\n render,\n href,\n onFocus,\n onBlur,\n onMouseDown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-vertical-navigation-item-trigger\",\n css: verticalNavigationItemTriggerCss,\n window: targetWindow,\n });\n\n const isLink = href != null;\n const { active, setFocusVisible } = useVerticalNavigationItem();\n\n const wasMouseDownRef = useRef(false);\n\n const handleFocus = (event: FocusEvent<never>) => {\n if (!wasMouseDownRef.current) {\n setFocusVisible(true);\n }\n wasMouseDownRef.current = false;\n onFocus?.(event);\n };\n\n const handleBlur = (event: FocusEvent<never>) => {\n setFocusVisible(false);\n onBlur?.(event);\n };\n\n const handleMouseDown = (event: MouseEvent<never>) => {\n wasMouseDownRef.current = true;\n onMouseDown?.(event);\n };\n\n return (\n <ItemAction\n className={clsx(withBaseName(), className)}\n href={href}\n aria-current={active ? \"page\" : undefined}\n render={render ?? (isLink ? undefined : <button type=\"button\" />)}\n ref={ref}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseDown={handleMouseDown}\n {...rest}\n >\n {children}\n </ItemAction>\n );\n});\n"],"names":["VerticalNavigationItemTrigger","verticalNavigationItemTriggerCss"],"mappings":";;;;;;;;;;;;;;AAeA,SAAS,WAAW,KAAsC,EAAA;AACxD,EAAO,OAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAC/B;AAOA,MAAM,YAAA,GAAe,aAAa,mCAAmC,CAAA;AAE9D,MAAM,6BAAgC,GAAA,UAAA,CAG3C,SAASA,8BAAAA,CAA8B,OAAO,GAAK,EAAA;AACnD,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uCAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,SAAS,IAAQ,IAAA,IAAA;AACvB,EAAA,MAAM,EAAE,MAAA,EAAQ,eAAgB,EAAA,GAAI,yBAA0B,EAAA;AAE9D,EAAM,MAAA,eAAA,GAAkB,OAAO,KAAK,CAAA;AAEpC,EAAM,MAAA,WAAA,GAAc,CAAC,KAA6B,KAAA;AAChD,IAAI,IAAA,CAAC,gBAAgB,OAAS,EAAA;AAC5B,MAAA,eAAA,CAAgB,IAAI,CAAA;AAAA;AAEtB,IAAA,eAAA,CAAgB,OAAU,GAAA,KAAA;AAC1B,IAAU,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAM,MAAA,UAAA,GAAa,CAAC,KAA6B,KAAA;AAC/C,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,KAAA,CAAA;AAAA,GACX;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,KAA6B,KAAA;AACpD,IAAA,eAAA,CAAgB,OAAU,GAAA,IAAA;AAC1B,IAAc,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,KAAA,CAAA;AAAA,GAChB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAA;AAAA,MACA,cAAA,EAAc,SAAS,MAAS,GAAA,MAAA;AAAA,MAChC,QAAQ,MAAW,KAAA,MAAA,GAAS,yBAAa,GAAA,CAAA,QAAA,EAAA,EAAO,MAAK,QAAS,EAAA,CAAA,CAAA;AAAA,MAC9D,GAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,MAAQ,EAAA,UAAA;AAAA,MACR,WAAa,EAAA,eAAA;AAAA,MACZ,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltVerticalNavigationSubMenu {\n display: flex;\n flex-direction: column;\n gap: var(--salt-spacing-fixed-100);\n list-style: none;\n padding: var(--salt-spacing-fixed-100) 0 0;\n margin: 0;\n}\n\n.saltVerticalNavigationSubMenu .saltVerticalNavigationItemContent {\n font-weight: var(--salt-text-h4-fontWeight-small);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=VerticalNavigationSubMenu.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalNavigationSubMenu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,37 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useComponentCssInjection } from '@salt-ds/styles';
3
+ import { useWindow } from '@salt-ds/window';
4
+ import { clsx } from 'clsx';
5
+ import { forwardRef, useState } from 'react';
6
+ import { makePrefixer } from '../utils/makePrefixer.js';
7
+ import '../utils/useFloatingUI/useFloatingUI.js';
8
+ import '../utils/useId.js';
9
+ import '../salt-provider/SaltProvider.js';
10
+ import '../viewport/ViewportProvider.js';
11
+ import { SubMenuProvider } from './SubMenuContext.js';
12
+ import css_248z from './VerticalNavigationSubMenu.css.js';
13
+
14
+ const withBaseName = makePrefixer("saltVerticalNavigationSubMenu");
15
+ const VerticalNavigationSubMenu = forwardRef(function VerticalNavigationSubMenu2(props, ref) {
16
+ const { children, className, ...rest } = props;
17
+ const targetWindow = useWindow();
18
+ useComponentCssInjection({
19
+ testId: "salt-vertical-navigation-sub-menu",
20
+ css: css_248z,
21
+ window: targetWindow
22
+ });
23
+ const [directIcons, setDirectIcons] = useState([]);
24
+ return /* @__PURE__ */ jsx(SubMenuProvider, { directIcons, setDirectIcons, children: /* @__PURE__ */ jsx(
25
+ "ul",
26
+ {
27
+ ref,
28
+ className: clsx(withBaseName(), className),
29
+ "data-has-direct-icons": directIcons.length > 0,
30
+ ...rest,
31
+ children
32
+ }
33
+ ) });
34
+ });
35
+
36
+ export { VerticalNavigationSubMenu };
37
+ //# sourceMappingURL=VerticalNavigationSubMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalNavigationSubMenu.js","sources":["../src/vertical-navigation/VerticalNavigationSubMenu.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef, useState } from \"react\";\nimport { makePrefixer } from \"../utils\";\nimport { SubMenuProvider } from \"./SubMenuContext\";\nimport verticalNavigationSubMenuCss from \"./VerticalNavigationSubMenu.css\";\n\nexport interface VerticalNavigationSubMenuProps\n extends ComponentPropsWithoutRef<\"ul\"> {}\n\nconst withBaseName = makePrefixer(\"saltVerticalNavigationSubMenu\");\n\nexport const VerticalNavigationSubMenu = forwardRef<\n HTMLUListElement,\n VerticalNavigationSubMenuProps\n>(function VerticalNavigationSubMenu(props, ref) {\n const { children, className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-vertical-navigation-sub-menu\",\n css: verticalNavigationSubMenuCss,\n window: targetWindow,\n });\n\n const [directIcons, setDirectIcons] = useState<string[]>([]);\n\n return (\n <SubMenuProvider directIcons={directIcons} setDirectIcons={setDirectIcons}>\n <ul\n ref={ref}\n className={clsx(withBaseName(), className)}\n data-has-direct-icons={directIcons.length > 0}\n {...rest}\n >\n {children}\n </ul>\n </SubMenuProvider>\n );\n});\n"],"names":["VerticalNavigationSubMenu","verticalNavigationSubMenuCss"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,+BAA+B,CAAA;AAE1D,MAAM,yBAA4B,GAAA,UAAA,CAGvC,SAASA,0BAAAA,CAA0B,OAAO,GAAK,EAAA;AAC/C,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,GAAG,MAAS,GAAA,KAAA;AAEzC,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mCAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA,CAAmB,EAAE,CAAA;AAE3D,EACE,uBAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,WAAA,EAA0B,cACzC,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,uBAAA,EAAuB,YAAY,MAAS,GAAA,CAAA;AAAA,MAC3C,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GAEL,EAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { type ComponentPropsWithoutRef, type SyntheticEvent } from "react";
2
+ export interface CollapsibleProps extends Omit<ComponentPropsWithoutRef<"div">, "onToggle"> {
3
+ /**
4
+ * Whether the accordion is open.
5
+ */
6
+ open?: boolean;
7
+ /**
8
+ * Whether the accordion is open by default.
9
+ */
10
+ defaultOpen?: boolean;
11
+ /**
12
+ * Callback fired when the accordion is opened or closed.
13
+ */
14
+ onOpenChange?: (event: SyntheticEvent<HTMLButtonElement>, open: boolean) => void;
15
+ }
16
+ export declare const Collapsible: import("react").ForwardRefExoticComponent<CollapsibleProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ import { type SyntheticEvent } from "react";
2
+ export type CollapsibleContextValue = {
3
+ open: boolean;
4
+ setOpen: (event: SyntheticEvent<HTMLButtonElement>, open: boolean) => void;
5
+ panelId?: string;
6
+ setPanelId?: (panelId: string) => void;
7
+ };
8
+ export declare const CollapsibleContext: import("react").Context<CollapsibleContextValue>;
9
+ export declare function useCollapsibleContext(): CollapsibleContextValue;
@@ -0,0 +1,4 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface CollapsiblePanelProps extends ComponentPropsWithoutRef<"div"> {
3
+ }
4
+ export declare const CollapsiblePanel: (props: CollapsiblePanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export interface CollapsibleTriggerProps extends Pick<ComponentPropsWithoutRef<"button">, "className" | "onClick"> {
3
+ children: ReactNode;
4
+ }
5
+ export declare const CollapsibleTrigger: import("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,3 @@
1
+ export * from "./Collapsible";
2
+ export * from "./CollapsiblePanel";
3
+ export * from "./CollapsibleTrigger";
@@ -9,6 +9,7 @@ export { type Breakpoints, DEFAULT_BREAKPOINTS, useBreakpoint, } from "./breakpo
9
9
  export * from "./button";
10
10
  export * from "./card";
11
11
  export * from "./checkbox";
12
+ export * from "./collapsible";
12
13
  export * from "./combo-box";
13
14
  export * from "./dialog";
14
15
  export * from "./divider";
@@ -61,4 +62,5 @@ export * from "./toggle-button-group";
61
62
  export * from "./tooltip";
62
63
  export * from "./types";
63
64
  export * from "./utils";
65
+ export * from "./vertical-navigation";
64
66
  export * from "./viewport";
@@ -0,0 +1,14 @@
1
+ import { type Dispatch, type ReactNode, type SetStateAction } from "react";
2
+ type SubMenuContextValue = {
3
+ depth: number;
4
+ iconPaddingCount: number;
5
+ setDirectIcons?: Dispatch<SetStateAction<string[]>>;
6
+ };
7
+ export declare const SubMenuContext: import("react").Context<SubMenuContextValue>;
8
+ export declare const useSubMenuContext: () => SubMenuContextValue;
9
+ export declare function SubMenuProvider({ children, directIcons, setDirectIcons, }: {
10
+ children: ReactNode;
11
+ directIcons: string[];
12
+ setDirectIcons?: Dispatch<SetStateAction<string[]>>;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface VerticalNavigationProps extends ComponentPropsWithoutRef<"nav"> {
3
+ /**
4
+ * The appearance of the tabs. Defaults to "bordered".
5
+ */
6
+ appearance?: "indicator" | "bordered";
7
+ }
8
+ export declare const VerticalNavigation: import("react").ForwardRefExoticComponent<VerticalNavigationProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,12 @@
1
+ import { type ComponentPropsWithoutRef, type Dispatch, type SetStateAction } from "react";
2
+ export interface VerticalNavigationItemProps extends ComponentPropsWithoutRef<"li"> {
3
+ active?: boolean;
4
+ }
5
+ type VerticalNavigationItemContextType = {
6
+ active: boolean;
7
+ focusVisible: boolean;
8
+ setFocusVisible: Dispatch<SetStateAction<boolean>>;
9
+ };
10
+ export declare function useVerticalNavigationItem(): VerticalNavigationItemContextType;
11
+ export declare const VerticalNavigationItem: import("react").ForwardRefExoticComponent<VerticalNavigationItemProps & import("react").RefAttributes<HTMLLIElement>>;
12
+ export {};
@@ -0,0 +1,4 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface VerticalNavigationItemContentProps extends ComponentPropsWithoutRef<"span"> {
3
+ }
4
+ export declare const VerticalNavigationItemContent: import("react").ForwardRefExoticComponent<VerticalNavigationItemContentProps & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,2 @@
1
+ import type { IconProps } from "@salt-ds/icons";
2
+ export declare const VerticalNavigationItemExpansionIcon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface VerticalNavigationItemLabelProps extends ComponentPropsWithoutRef<"span"> {
3
+ }
4
+ export declare const VerticalNavigationItemLabel: import("react").ForwardRefExoticComponent<VerticalNavigationItemLabelProps & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,6 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ import { type RenderPropsType } from "../utils";
3
+ export interface VerticalNavigationItemTriggerProps extends ComponentPropsWithoutRef<"a"> {
4
+ render?: RenderPropsType["render"];
5
+ }
6
+ export declare const VerticalNavigationItemTrigger: import("react").ForwardRefExoticComponent<VerticalNavigationItemTriggerProps & import("react").RefAttributes<HTMLAnchorElement>>;
@@ -0,0 +1,4 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface VerticalNavigationSubMenuProps extends ComponentPropsWithoutRef<"ul"> {
3
+ }
4
+ export declare const VerticalNavigationSubMenu: import("react").ForwardRefExoticComponent<VerticalNavigationSubMenuProps & import("react").RefAttributes<HTMLUListElement>>;
@@ -0,0 +1,7 @@
1
+ export * from "./VerticalNavigation";
2
+ export * from "./VerticalNavigationItem";
3
+ export * from "./VerticalNavigationItemContent";
4
+ export * from "./VerticalNavigationItemExpansionIcon";
5
+ export * from "./VerticalNavigationItemLabel";
6
+ export * from "./VerticalNavigationItemTrigger";
7
+ export * from "./VerticalNavigationSubMenu";
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.47.4",
3
+ "version": "1.48.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/jpmorganchase/salt-ds.git",
7
+ "url": "git+https://github.com/jpmorganchase/salt-ds.git",
8
8
  "directory": "packages/core"
9
9
  },
10
10
  "bugs": "https://github.com/jpmorganchase/salt-ds/issues",