@salt-ds/core 1.72.0 → 1.73.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 (289) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/css/salt-core.css +265 -120
  3. package/dist-cjs/accordion/AccordionHeader.css.js +1 -1
  4. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  5. package/dist-cjs/breadcrumbs/Breadcrumb.js +5 -6
  6. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
  7. package/dist-cjs/button/Button.css.js +1 -1
  8. package/dist-cjs/card/CardContent.css.js +1 -1
  9. package/dist-cjs/card/hasCardSection.js +11 -3
  10. package/dist-cjs/card/hasCardSection.js.map +1 -1
  11. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  12. package/dist-cjs/collapsible/CollapsiblePanel.css.js +1 -1
  13. package/dist-cjs/collapsible/CollapsiblePanel.js +15 -15
  14. package/dist-cjs/collapsible/CollapsiblePanel.js.map +1 -1
  15. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  16. package/dist-cjs/dialog/DialogHeader.js +2 -0
  17. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  18. package/dist-cjs/drawer/DrawerHeader.js +2 -0
  19. package/dist-cjs/drawer/DrawerHeader.js.map +1 -1
  20. package/dist-cjs/dropdown/Dropdown.css.js +1 -1
  21. package/dist-cjs/dropdown/Dropdown.js +1 -1
  22. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  23. package/dist-cjs/form-field/FormField.js +2 -2
  24. package/dist-cjs/form-field/FormField.js.map +1 -1
  25. package/dist-cjs/form-field/FormFieldHelperText.js +2 -0
  26. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  27. package/dist-cjs/form-field/FormFieldLabel.css.js +1 -1
  28. package/dist-cjs/form-field/FormFieldLabel.js +2 -0
  29. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  30. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  31. package/dist-cjs/index.js +11 -0
  32. package/dist-cjs/index.js.map +1 -1
  33. package/dist-cjs/input/Input.css.js +1 -1
  34. package/dist-cjs/link/Link.js +2 -0
  35. package/dist-cjs/link/Link.js.map +1 -1
  36. package/dist-cjs/link/LinkAction.js +3 -2
  37. package/dist-cjs/link/LinkAction.js.map +1 -1
  38. package/dist-cjs/link-button/LinkButton.js +3 -2
  39. package/dist-cjs/link-button/LinkButton.js.map +1 -1
  40. package/dist-cjs/list-box/ListBox.js +1 -1
  41. package/dist-cjs/list-box/ListBox.js.map +1 -1
  42. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  43. package/dist-cjs/list-control/ListControlOptionContext.js.map +1 -1
  44. package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js +1 -1
  45. package/dist-cjs/mega-menu/MegaMenuListItem.css.js +1 -1
  46. package/dist-cjs/menu/MenuGroup.css.js +1 -1
  47. package/dist-cjs/multiline-input/MultilineInput.css.js +1 -1
  48. package/dist-cjs/navigation-item/NavigationItem.css.js +1 -1
  49. package/dist-cjs/number-input/NumberInput.css.js +1 -1
  50. package/dist-cjs/on-solid-button/OnSolidButton.css.js +6 -0
  51. package/dist-cjs/on-solid-button/OnSolidButton.css.js.map +1 -0
  52. package/dist-cjs/on-solid-button/OnSolidButton.js +68 -0
  53. package/dist-cjs/on-solid-button/OnSolidButton.js.map +1 -0
  54. package/dist-cjs/option/Option.css.js +1 -1
  55. package/dist-cjs/option/Option.js +7 -1
  56. package/dist-cjs/option/Option.js.map +1 -1
  57. package/dist-cjs/option/OptionGroup.css.js +1 -1
  58. package/dist-cjs/overlay/OverlayHeader.js +2 -0
  59. package/dist-cjs/overlay/OverlayHeader.js.map +1 -1
  60. package/dist-cjs/overlay/OverlayPanelCloseButton.js +1 -1
  61. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
  62. package/dist-cjs/pagination/CompactPaginator.js +2 -0
  63. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  64. package/dist-cjs/pagination/GoToInput.js +2 -0
  65. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  66. package/dist-cjs/pill/PillCheckIcon.js.map +1 -1
  67. package/dist-cjs/pill-input/PillInput.css.js +1 -1
  68. package/dist-cjs/progress/CircularProgress/CircularProgress.js +2 -0
  69. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  70. package/dist-cjs/progress/LinearProgress/LinearProgress.js +2 -0
  71. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  72. package/dist-cjs/salt-provider/ThemeApplicator.js +10 -6
  73. package/dist-cjs/salt-provider/ThemeApplicator.js.map +1 -1
  74. package/dist-cjs/side-panel/SidePanelTitle.js +2 -0
  75. package/dist-cjs/side-panel/SidePanelTitle.js.map +1 -1
  76. package/dist-cjs/side-panel/SidePanelTrigger.js.map +1 -1
  77. package/dist-cjs/side-panel/internal/useIsScrollable.js.map +1 -1
  78. package/dist-cjs/side-panel/useSidePanel.js +4 -9
  79. package/dist-cjs/side-panel/useSidePanel.js.map +1 -1
  80. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +2 -2
  81. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  82. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -1
  83. package/dist-cjs/slider/internal/SliderTooltip.js +2 -0
  84. package/dist-cjs/slider/internal/SliderTooltip.js.map +1 -1
  85. package/dist-cjs/slider/internal/SliderTrack.js +2 -0
  86. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  87. package/dist-cjs/slider/internal/useRangeSliderThumb.js.map +1 -1
  88. package/dist-cjs/slider/internal/useSliderThumb.js.map +1 -1
  89. package/dist-cjs/slider/internal/utils.js.map +1 -1
  90. package/dist-cjs/stepper/Stepper.js +1 -1
  91. package/dist-cjs/stepper/Stepper.js.map +1 -1
  92. package/dist-cjs/stepper/internal/StepText.css.js +1 -1
  93. package/dist-cjs/stepper/internal/StepText.js +2 -0
  94. package/dist-cjs/stepper/internal/StepText.js.map +1 -1
  95. package/dist-cjs/table/Table.css.js +1 -1
  96. package/dist-cjs/tabs/Tabs.js +1 -1
  97. package/dist-cjs/tabs/Tabs.js.map +1 -1
  98. package/dist-cjs/tabs/internal/overflow/useOverflow.js.map +1 -1
  99. package/dist-cjs/tabs/internal/overflow/useRenderedTabWidth.js.map +1 -1
  100. package/dist-cjs/text/Code.js +1 -1
  101. package/dist-cjs/text/Code.js.map +1 -1
  102. package/dist-cjs/text/Editorial.js +32 -0
  103. package/dist-cjs/text/Editorial.js.map +1 -0
  104. package/dist-cjs/text/Eyebrow.js +12 -0
  105. package/dist-cjs/text/Eyebrow.js.map +1 -0
  106. package/dist-cjs/text/Text.css.js +1 -1
  107. package/dist-cjs/text/Text.js +6 -2
  108. package/dist-cjs/text/Text.js.map +1 -1
  109. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  110. package/dist-cjs/toolbar/ToolbarOverflow.js +8 -4
  111. package/dist-cjs/toolbar/ToolbarOverflow.js.map +1 -1
  112. package/dist-cjs/toolbar/toolbarUtils.js.map +1 -1
  113. package/dist-cjs/tooltip/useAriaAnnounce.js +4 -2
  114. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  115. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  116. package/dist-cjs/tree/TreeContext.js.map +1 -1
  117. package/dist-cjs/utils/forkRef.js +34 -0
  118. package/dist-cjs/utils/forkRef.js.map +1 -0
  119. package/dist-cjs/utils/getRefFromChildren.js.map +1 -1
  120. package/dist-cjs/utils/marginMiddleware.js.map +1 -1
  121. package/dist-cjs/utils/setRef.js.map +1 -1
  122. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  123. package/dist-cjs/utils/useForkRef.js +3 -6
  124. package/dist-cjs/utils/useForkRef.js.map +1 -1
  125. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  126. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +1 -1
  127. package/dist-es/accordion/AccordionHeader.css.js +1 -1
  128. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  129. package/dist-es/breadcrumbs/Breadcrumb.js +5 -6
  130. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  131. package/dist-es/button/Button.css.js +1 -1
  132. package/dist-es/card/CardContent.css.js +1 -1
  133. package/dist-es/card/hasCardSection.js +11 -3
  134. package/dist-es/card/hasCardSection.js.map +1 -1
  135. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  136. package/dist-es/collapsible/CollapsiblePanel.css.js +1 -1
  137. package/dist-es/collapsible/CollapsiblePanel.js +16 -16
  138. package/dist-es/collapsible/CollapsiblePanel.js.map +1 -1
  139. package/dist-es/combo-box/ComboBox.js.map +1 -1
  140. package/dist-es/dialog/DialogHeader.js +2 -0
  141. package/dist-es/dialog/DialogHeader.js.map +1 -1
  142. package/dist-es/drawer/DrawerHeader.js +2 -0
  143. package/dist-es/drawer/DrawerHeader.js.map +1 -1
  144. package/dist-es/dropdown/Dropdown.css.js +1 -1
  145. package/dist-es/dropdown/Dropdown.js +1 -1
  146. package/dist-es/dropdown/Dropdown.js.map +1 -1
  147. package/dist-es/form-field/FormField.js +2 -2
  148. package/dist-es/form-field/FormField.js.map +1 -1
  149. package/dist-es/form-field/FormFieldHelperText.js +2 -0
  150. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  151. package/dist-es/form-field/FormFieldLabel.css.js +1 -1
  152. package/dist-es/form-field/FormFieldLabel.js +2 -0
  153. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  154. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  155. package/dist-es/index.js +3 -0
  156. package/dist-es/index.js.map +1 -1
  157. package/dist-es/input/Input.css.js +1 -1
  158. package/dist-es/link/Link.js +2 -0
  159. package/dist-es/link/Link.js.map +1 -1
  160. package/dist-es/link/LinkAction.js +3 -2
  161. package/dist-es/link/LinkAction.js.map +1 -1
  162. package/dist-es/link-button/LinkButton.js +3 -2
  163. package/dist-es/link-button/LinkButton.js.map +1 -1
  164. package/dist-es/list-box/ListBox.js +1 -1
  165. package/dist-es/list-box/ListBox.js.map +1 -1
  166. package/dist-es/list-control/ListControlContext.js.map +1 -1
  167. package/dist-es/list-control/ListControlOptionContext.js.map +1 -1
  168. package/dist-es/mega-menu/MegaMenuGroupHeading.css.js +1 -1
  169. package/dist-es/mega-menu/MegaMenuListItem.css.js +1 -1
  170. package/dist-es/menu/MenuGroup.css.js +1 -1
  171. package/dist-es/multiline-input/MultilineInput.css.js +1 -1
  172. package/dist-es/navigation-item/NavigationItem.css.js +1 -1
  173. package/dist-es/number-input/NumberInput.css.js +1 -1
  174. package/dist-es/on-solid-button/OnSolidButton.css.js +4 -0
  175. package/dist-es/on-solid-button/OnSolidButton.css.js.map +1 -0
  176. package/dist-es/on-solid-button/OnSolidButton.js +66 -0
  177. package/dist-es/on-solid-button/OnSolidButton.js.map +1 -0
  178. package/dist-es/option/Option.css.js +1 -1
  179. package/dist-es/option/Option.js +7 -1
  180. package/dist-es/option/Option.js.map +1 -1
  181. package/dist-es/option/OptionGroup.css.js +1 -1
  182. package/dist-es/overlay/OverlayHeader.js +2 -0
  183. package/dist-es/overlay/OverlayHeader.js.map +1 -1
  184. package/dist-es/overlay/OverlayPanelCloseButton.js +1 -1
  185. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
  186. package/dist-es/pagination/CompactPaginator.js +2 -0
  187. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  188. package/dist-es/pagination/GoToInput.js +2 -0
  189. package/dist-es/pagination/GoToInput.js.map +1 -1
  190. package/dist-es/pill/PillCheckIcon.js.map +1 -1
  191. package/dist-es/pill-input/PillInput.css.js +1 -1
  192. package/dist-es/progress/CircularProgress/CircularProgress.js +2 -0
  193. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  194. package/dist-es/progress/LinearProgress/LinearProgress.js +2 -0
  195. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  196. package/dist-es/salt-provider/ThemeApplicator.js +10 -6
  197. package/dist-es/salt-provider/ThemeApplicator.js.map +1 -1
  198. package/dist-es/side-panel/SidePanelTitle.js +2 -0
  199. package/dist-es/side-panel/SidePanelTitle.js.map +1 -1
  200. package/dist-es/side-panel/SidePanelTrigger.js.map +1 -1
  201. package/dist-es/side-panel/internal/useIsScrollable.js.map +1 -1
  202. package/dist-es/side-panel/useSidePanel.js +4 -9
  203. package/dist-es/side-panel/useSidePanel.js.map +1 -1
  204. package/dist-es/skip-link/internal/useManageFocusOnTarget.js +2 -2
  205. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  206. package/dist-es/slider/internal/SliderThumb.js.map +1 -1
  207. package/dist-es/slider/internal/SliderTooltip.js +2 -0
  208. package/dist-es/slider/internal/SliderTooltip.js.map +1 -1
  209. package/dist-es/slider/internal/SliderTrack.js +2 -0
  210. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  211. package/dist-es/slider/internal/useRangeSliderThumb.js.map +1 -1
  212. package/dist-es/slider/internal/useSliderThumb.js.map +1 -1
  213. package/dist-es/slider/internal/utils.js.map +1 -1
  214. package/dist-es/stepper/Stepper.js +1 -1
  215. package/dist-es/stepper/Stepper.js.map +1 -1
  216. package/dist-es/stepper/internal/StepText.css.js +1 -1
  217. package/dist-es/stepper/internal/StepText.js +2 -0
  218. package/dist-es/stepper/internal/StepText.js.map +1 -1
  219. package/dist-es/table/Table.css.js +1 -1
  220. package/dist-es/tabs/Tabs.js +1 -1
  221. package/dist-es/tabs/Tabs.js.map +1 -1
  222. package/dist-es/tabs/internal/overflow/useOverflow.js.map +1 -1
  223. package/dist-es/tabs/internal/overflow/useRenderedTabWidth.js.map +1 -1
  224. package/dist-es/text/Code.js +1 -1
  225. package/dist-es/text/Code.js.map +1 -1
  226. package/dist-es/text/Editorial.js +25 -0
  227. package/dist-es/text/Editorial.js.map +1 -0
  228. package/dist-es/text/Eyebrow.js +10 -0
  229. package/dist-es/text/Eyebrow.js.map +1 -0
  230. package/dist-es/text/Text.css.js +1 -1
  231. package/dist-es/text/Text.js +6 -2
  232. package/dist-es/text/Text.js.map +1 -1
  233. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  234. package/dist-es/toolbar/ToolbarOverflow.js +8 -4
  235. package/dist-es/toolbar/ToolbarOverflow.js.map +1 -1
  236. package/dist-es/toolbar/toolbarUtils.js.map +1 -1
  237. package/dist-es/tooltip/useAriaAnnounce.js +4 -2
  238. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  239. package/dist-es/tooltip/useTooltip.js.map +1 -1
  240. package/dist-es/tree/TreeContext.js.map +1 -1
  241. package/dist-es/utils/forkRef.js +32 -0
  242. package/dist-es/utils/forkRef.js.map +1 -0
  243. package/dist-es/utils/getRefFromChildren.js.map +1 -1
  244. package/dist-es/utils/marginMiddleware.js.map +1 -1
  245. package/dist-es/utils/setRef.js.map +1 -1
  246. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  247. package/dist-es/utils/useForkRef.js +3 -6
  248. package/dist-es/utils/useForkRef.js.map +1 -1
  249. package/dist-es/utils/useResizeObserver.js.map +1 -1
  250. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +1 -1
  251. package/dist-types/checkbox/CheckboxIcon.d.ts +2 -1
  252. package/dist-types/collapsible/CollapsiblePanel.d.ts +8 -1
  253. package/dist-types/combo-box/ComboBox.d.ts +2 -2
  254. package/dist-types/dropdown/Dropdown.d.ts +2 -2
  255. package/dist-types/form-field/FormFieldHelperText.d.ts +1 -1
  256. package/dist-types/form-field/FormFieldLabel.d.ts +1 -1
  257. package/dist-types/form-field-context/FormFieldContext.d.ts +1 -1
  258. package/dist-types/index.d.ts +1 -0
  259. package/dist-types/list-box/ListBox.d.ts +2 -2
  260. package/dist-types/list-control/ListControlContext.d.ts +1 -1
  261. package/dist-types/list-control/ListControlOptionContext.d.ts +1 -1
  262. package/dist-types/on-solid-button/OnSolidButton.d.ts +12 -0
  263. package/dist-types/on-solid-button/index.d.ts +1 -0
  264. package/dist-types/pill/PillCheckIcon.d.ts +2 -1
  265. package/dist-types/registerClassNameInjection.d.ts +0 -2
  266. package/dist-types/salt-provider/SaltProvider.d.ts +1 -1
  267. package/dist-types/side-panel/internal/useIsScrollable.d.ts +1 -1
  268. package/dist-types/skip-link/internal/useManageFocusOnTarget.d.ts +1 -1
  269. package/dist-types/slider/internal/SliderThumb.d.ts +2 -2
  270. package/dist-types/slider/internal/SliderTrack.d.ts +2 -2
  271. package/dist-types/slider/internal/useRangeSliderThumb.d.ts +1 -1
  272. package/dist-types/slider/internal/useSliderThumb.d.ts +1 -1
  273. package/dist-types/slider/internal/utils.d.ts +1 -1
  274. package/dist-types/tabs/internal/overflow/useOverflow.d.ts +2 -2
  275. package/dist-types/tabs/internal/overflow/useRenderedTabWidth.d.ts +1 -1
  276. package/dist-types/text/Editorial.d.ts +7 -0
  277. package/dist-types/text/Eyebrow.d.ts +2 -0
  278. package/dist-types/text/Text.d.ts +9 -2
  279. package/dist-types/text/index.d.ts +2 -0
  280. package/dist-types/toggle-button/ToggleButton.d.ts +1 -1
  281. package/dist-types/tooltip/useTooltip.d.ts +12 -26
  282. package/dist-types/tree/TreeContext.d.ts +1 -1
  283. package/dist-types/utils/forkRef.d.ts +11 -0
  284. package/dist-types/utils/inferElementType.d.ts +1 -2
  285. package/dist-types/utils/marginMiddleware.d.ts +1 -1
  286. package/dist-types/utils/setRef.d.ts +4 -0
  287. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +1 -5
  288. package/dist-types/utils/useResizeObserver.d.ts +1 -1
  289. package/package.json +4 -4
@@ -1,4 +1,11 @@
1
- import { type ComponentPropsWithoutRef } from "react";
1
+ import { type ComponentPropsWithoutRef, type ReactElement } from "react";
2
2
  export interface CollapsiblePanelProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * Element used to customize the panel's root, e.g. `<CardContent />`.
5
+ * Props are merged onto this element, and its own props take precedence.
6
+ * Don't set `children`, `hidden` or `aria-hidden` on it, as they replace the
7
+ * panel's content and open state.
8
+ */
9
+ render?: ReactElement;
3
10
  }
4
11
  export declare const CollapsiblePanel: import("react").ForwardRefExoticComponent<CollapsiblePanelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from "react";
1
+ import { type ComponentPropsWithoutRef, type ReactElement, type ReactNode, type Ref } from "react";
2
2
  import { type PillInputProps } from "../pill-input";
3
3
  import type { DataAttributes } from "../types";
4
4
  import { type UseComboBoxProps } from "./useComboBox";
@@ -18,4 +18,4 @@ export interface ComboBoxProps<Item = string> extends UseComboBoxProps<Item>, Om
18
18
  }
19
19
  export declare const ComboBox: <Item = string>(props: ComboBoxProps<Item> & {
20
20
  ref?: Ref<HTMLDivElement>;
21
- }) => JSX.Element;
21
+ }) => ReactElement;
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from "react";
1
+ import { type ComponentPropsWithoutRef, type ReactElement, type ReactNode, type Ref } from "react";
2
2
  import { type FormFieldValidationStatus } from "../form-field-context";
3
3
  import { type ListControlProps } from "../list-control/ListControlState";
4
4
  import type { DataAttributes } from "../types";
@@ -58,4 +58,4 @@ export interface DropdownProps<Item = string> extends Omit<ComponentPropsWithout
58
58
  }
59
59
  export declare const Dropdown: <Item = string>(props: DropdownProps<Item> & {
60
60
  ref?: Ref<HTMLButtonElement>;
61
- }) => JSX.Element;
61
+ }) => ReactElement;
@@ -1,4 +1,4 @@
1
1
  import { type TextProps } from "../text";
2
- export interface FormFieldHelperTextProps extends Omit<TextProps<"label">, "variant" | "styleAs"> {
2
+ export interface FormFieldHelperTextProps extends Omit<TextProps<"label">, "variant" | "styleAs" | "fontWeight"> {
3
3
  }
4
4
  export declare const FormFieldHelperText: ({ className, children, ...restProps }: FormFieldHelperTextProps) => import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { type TextProps } from "../text";
2
- export interface FormFieldLabelProps extends Omit<TextProps<"label">, "variant" | "styleAs"> {
2
+ export interface FormFieldLabelProps extends Omit<TextProps<"label">, "variant" | "styleAs" | "fontWeight"> {
3
3
  /**
4
4
  * Intent for the label.
5
5
  *
@@ -24,6 +24,6 @@ export interface FormFieldContextValue {
24
24
  necessity: NecessityType | undefined;
25
25
  readOnly: boolean;
26
26
  validationStatus: FormFieldValidationStatus | undefined;
27
- formFieldRef?: RefObject<HTMLDivElement>;
27
+ formFieldRef?: RefObject<HTMLDivElement | null>;
28
28
  }
29
29
  export declare const FormFieldContext: import("react").Context<FormFieldContextValue>;
@@ -37,6 +37,7 @@ export * from "./menu";
37
37
  export * from "./multiline-input";
38
38
  export * from "./navigation-item";
39
39
  export * from "./number-input";
40
+ export * from "./on-solid-button";
40
41
  export * from "./option";
41
42
  export * from "./overlay";
42
43
  export * from "./pagination";
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from "react";
1
+ import { type ComponentPropsWithoutRef, type ReactElement, type ReactNode, type Ref } from "react";
2
2
  import { type ListControlProps } from "../list-control/ListControlState";
3
3
  export type ListBoxProps<Item = string> = {
4
4
  /**
@@ -20,4 +20,4 @@ export type ListBoxProps<Item = string> = {
20
20
  } & ComponentPropsWithoutRef<"div"> & Omit<ListControlProps<Item>, "onOpenChange">;
21
21
  export declare const ListBox: <Item = string>(props: ListBoxProps<Item> & {
22
22
  ref?: Ref<HTMLDivElement>;
23
- }) => JSX.Element;
23
+ }) => ReactElement;
@@ -17,7 +17,7 @@ export interface ListControlContextValue<Item> {
17
17
  focusVisibleState: boolean;
18
18
  valueToString: (item: Item) => string;
19
19
  disabled?: boolean;
20
- listRef?: RefObject<HTMLDivElement>;
20
+ listRef?: RefObject<HTMLDivElement | null>;
21
21
  }
22
22
  export declare const ListControlContext: import("react").Context<ListControlContextValue<any>>;
23
23
  export declare function useListControlContext<Item>(): ListControlContextValue<Item>;
@@ -3,7 +3,7 @@ import type { OptionValue } from "./ListControlContext";
3
3
  import { ListControlOptionStore } from "./ListControlOptionStore";
4
4
  export interface ListControlOptionContextValue<Item> {
5
5
  disabled?: boolean;
6
- listRef?: RefObject<HTMLDivElement>;
6
+ listRef?: RefObject<HTMLDivElement | null>;
7
7
  multiselect: boolean;
8
8
  optionStateStore: ListControlOptionStore<Item>;
9
9
  register: (optionValue: OptionValue<Item>, element: HTMLElement) => () => void;
@@ -0,0 +1,12 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface OnSolidButtonProps extends ComponentPropsWithoutRef<"button"> {
3
+ /**
4
+ * If `true`, the button will be disabled.
5
+ */
6
+ disabled?: boolean;
7
+ /**
8
+ * If `true`, the button will be focusable when disabled.
9
+ */
10
+ focusableWhenDisabled?: boolean;
11
+ }
12
+ export declare const OnSolidButton: import("react").ForwardRefExoticComponent<OnSolidButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1 @@
1
+ export * from "./OnSolidButton";
@@ -1,7 +1,8 @@
1
+ import type { ReactElement } from "react";
1
2
  export interface PillCheckIconProps {
2
3
  checked?: boolean;
3
4
  className?: string;
4
5
  disabled?: boolean;
5
6
  active?: boolean;
6
7
  }
7
- export declare const PillCheckIcon: ({ className, checked, disabled, active, }: PillCheckIconProps) => JSX.Element;
8
+ export declare const PillCheckIcon: ({ className, checked, disabled, active, }: PillCheckIconProps) => ReactElement;
@@ -15,5 +15,3 @@ declare module "@salt-ds/styles" {
15
15
  saltTooltip: TooltipProps;
16
16
  }
17
17
  }
18
- declare const _default: {};
19
- export default _default;
@@ -23,7 +23,7 @@ export interface ThemeContextProps {
23
23
  /** @deprecated since 1.32.0. Use `actionFont`. */
24
24
  UNSTABLE_actionFont: ActionFont;
25
25
  }
26
- export declare const DensityContext: import("react").Context<"touch" | "high" | "low" | "medium" | "mobile">;
26
+ export declare const DensityContext: import("react").Context<"high" | "low" | "touch" | "medium" | "mobile">;
27
27
  export declare const ThemeContext: import("react").Context<ThemeContextProps>;
28
28
  export declare const BreakpointContext: import("react").Context<Breakpoints>;
29
29
  type ThemeNextOnlyAttributes = "accent" | "corner" | "actionFont" | "headingFont";
@@ -1,2 +1,2 @@
1
1
  import { type RefObject } from "react";
2
- export declare function useIsScrollable(ref: RefObject<HTMLElement>): boolean;
2
+ export declare function useIsScrollable(ref: RefObject<HTMLElement | null>): boolean;
@@ -3,7 +3,7 @@ interface ManageFocusOnTargetProps {
3
3
  onBlur?: FocusEventHandler;
4
4
  onClick?: MouseEventHandler;
5
5
  onKeyUp?: KeyboardEventHandler;
6
- targetRef: RefObject<HTMLElement> | undefined;
6
+ targetRef: RefObject<HTMLElement | null> | undefined;
7
7
  targetClass: string;
8
8
  }
9
9
  interface ManageFocusOnTargetResult {
@@ -1,4 +1,4 @@
1
- import { type ChangeEvent, type ComponentPropsWithoutRef, type RefObject } from "react";
1
+ import { type ChangeEvent, type ComponentPropsWithoutRef, type Ref } from "react";
2
2
  interface SliderThumbProps extends Omit<ComponentPropsWithoutRef<"input">, "onChange" | "defaultValue" | "min" | "max"> {
3
3
  accessibleMaxText?: string;
4
4
  accessibleMinText?: string;
@@ -8,7 +8,7 @@ interface SliderThumbProps extends Omit<ComponentPropsWithoutRef<"input">, "onCh
8
8
  handleKeydownOnThumb: (event: React.KeyboardEvent) => void;
9
9
  handlePointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
10
10
  index?: number;
11
- inputRef?: RefObject<HTMLInputElement>;
11
+ inputRef?: Ref<HTMLInputElement>;
12
12
  isFocusVisible: boolean;
13
13
  max: number;
14
14
  maxLabel?: string;
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type RefObject } from "react";
1
+ import { type HTMLAttributes, type Ref } from "react";
2
2
  interface SliderTrackProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
3
3
  children: React.ReactNode;
4
4
  constrainLabelPosition?: boolean;
@@ -18,7 +18,7 @@ interface SliderTrackProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChang
18
18
  minLabel?: number | string;
19
19
  progressPercentage?: number;
20
20
  progressPercentageRange?: [number, number];
21
- sliderRef: RefObject<HTMLDivElement>;
21
+ sliderRef: Ref<HTMLDivElement>;
22
22
  }
23
23
  export declare const SliderTrack: import("react").ForwardRefExoticComponent<SliderTrackProps & import("react").RefAttributes<HTMLDivElement>>;
24
24
  export {};
@@ -3,7 +3,7 @@ import type { SliderProps } from "../Slider";
3
3
  type UseRangeSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
4
4
  decimalPlaces: number;
5
5
  handleInputChange: (event: ChangeEvent<HTMLInputElement>, thumbIndex: number) => void;
6
- inputRefs: RefObject<HTMLInputElement>[];
6
+ inputRefs: RefObject<HTMLInputElement | null>[];
7
7
  marks?: {
8
8
  label: string;
9
9
  value: number;
@@ -3,7 +3,7 @@ import type { SliderProps } from "../Slider";
3
3
  type UseSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
4
4
  decimalPlaces: number;
5
5
  handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
6
- inputRef: RefObject<HTMLInputElement>;
6
+ inputRef: RefObject<HTMLInputElement | null>;
7
7
  marks?: {
8
8
  label: string;
9
9
  value: number;
@@ -10,7 +10,7 @@ export declare const clampRange: (range: [number, number], max: number, min: num
10
10
  value: number;
11
11
  label: string;
12
12
  }[], restrictToMarks?: boolean) => [number, number];
13
- export declare const getClickedPosition: (sliderRef: RefObject<HTMLDivElement>, clientX: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
13
+ export declare const getClickedPosition: (sliderRef: RefObject<HTMLDivElement | null>, clientX: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
14
14
  label: string;
15
15
  value: number;
16
16
  }[], restrictToMarks?: boolean) => number | undefined;
@@ -1,10 +1,10 @@
1
1
  import { type RefObject } from "react";
2
2
  import type { RenderedTab } from "../contexts/TabsContext";
3
3
  interface UseOverflowProps {
4
- container: RefObject<HTMLElement>;
4
+ container: RefObject<HTMLElement | null>;
5
5
  selected?: string;
6
6
  tabs: RenderedTab[];
7
- overflowButton: RefObject<HTMLButtonElement>;
7
+ overflowButton: RefObject<HTMLButtonElement | null>;
8
8
  menuOpen: boolean;
9
9
  }
10
10
  export declare function useOverflow({ container, overflowButton, tabs, selected, menuOpen, }: UseOverflowProps): readonly [string[], string[], boolean];
@@ -3,7 +3,7 @@ import type { TabsContextValue, TabsRenderMode } from "../contexts/TabsContext";
3
3
  interface UseRenderedTabWidthProps {
4
4
  hostElement: HTMLDivElement | null;
5
5
  renderMode: TabsRenderMode;
6
- tabRootRef: RefObject<HTMLDivElement>;
6
+ tabRootRef: RefObject<HTMLDivElement | null>;
7
7
  targetWindow: Window | null | undefined;
8
8
  updateRenderedTab: TabsContextValue["updateRenderedTab"];
9
9
  value: string;
@@ -0,0 +1,7 @@
1
+ import { type TextProps } from "./Text";
2
+ export declare const Editorial1: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
3
+ export declare const Editorial2: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
4
+ export declare const Editorial3: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
5
+ export declare const Editorial4: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
6
+ export declare const Editorial5: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
7
+ export declare const Editorial6: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,2 @@
1
+ import { type TextProps } from "./Text";
2
+ export declare const Eyebrow: import("react").ForwardRefExoticComponent<Omit<Omit<TextProps<"span">, "as">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
@@ -6,14 +6,21 @@ export type TextProps<T extends ElementType> = PolymorphicComponentPropWithRef<T
6
6
  * Applies disabled styling when true
7
7
  */
8
8
  disabled?: boolean;
9
+ /**
10
+ * Adjust the font weight using the theme's weights for the current text style.
11
+ * This is a visual change only and isn't conveyed to assistive technologies; use `<strong>` or `<em>` to convey importance or stress.
12
+ */
13
+ fontWeight?: "lighter" | "bolder";
9
14
  /**
10
15
  * Apply text truncation by mentioning number of rows to be displayed
11
16
  */
12
17
  maxRows?: number;
13
18
  /**
14
- * Match styling to another text component's style
19
+ * Match styling to another text component's style.
20
+ * Use `inherit` to inherit the font and color from the parent element.
21
+ * The `lighter` and `bolder` weights then come from the closest `Text`-based ancestor.
15
22
  */
16
- styleAs?: "h1" | "h2" | "h3" | "h4" | "label" | "display1" | "display2" | "display3" | "display4" | "notation" | "action" | "code";
23
+ styleAs?: "h1" | "h2" | "h3" | "h4" | "label" | "label2" | "body2" | "eyebrow" | "display1" | "display2" | "display3" | "display4" | "editorial1" | "editorial2" | "editorial3" | "editorial4" | "editorial5" | "editorial6" | "notation" | "action" | "code" | "inherit";
17
24
  /**
18
25
  * Change text color palette
19
26
  * @deprecated since 1.27.1. Use `color` instead.
@@ -1,5 +1,7 @@
1
1
  export * from "./Code";
2
2
  export * from "./Display";
3
+ export * from "./Editorial";
4
+ export * from "./Eyebrow";
3
5
  export * from "./Headings";
4
6
  export * from "./Label";
5
7
  export * from "./Text";
@@ -1,6 +1,6 @@
1
1
  import { type ComponentPropsWithoutRef, type MouseEvent } from "react";
2
2
  import type { ButtonAppearance, ButtonSentiment } from "../button";
3
- export interface ToggleButtonProps extends ComponentPropsWithoutRef<"button"> {
3
+ export interface ToggleButtonProps extends Omit<ComponentPropsWithoutRef<"button">, "onChange"> {
4
4
  /**
5
5
  * The appearance of the toggle button when `selected` is true.
6
6
  * @default solid
@@ -1,5 +1,6 @@
1
- import { type HTMLProps } from "react";
2
- import { type UseFloatingUIProps } from "../utils";
1
+ import { type FloatingContext, type Strategy } from "@floating-ui/react";
2
+ import { type HTMLProps, type MutableRefObject } from "react";
3
+ import { type UseFloatingUIProps, type UseFloatingUIReturn } from "../utils";
3
4
  export interface UseTooltipProps extends Partial<Pick<UseFloatingUIProps, "onOpenChange" | "open" | "placement">> {
4
5
  /**
5
6
  * When `true`, the tooltip will be disabled.
@@ -24,38 +25,23 @@ export interface UseTooltipProps extends Partial<Pick<UseFloatingUIProps, "onOpe
24
25
  */
25
26
  leaveDelay?: number;
26
27
  }
27
- export declare function useTooltip(props?: UseTooltipProps): {
28
+ interface UseTooltipReturn {
28
29
  arrowProps: {
29
- ref: import("react").MutableRefObject<SVGSVGElement | null>;
30
- context: {
31
- x: number;
32
- y: number;
33
- placement: import("@floating-ui/utils").Placement;
34
- strategy: import("@floating-ui/utils").Strategy;
35
- middlewareData: import("@floating-ui/core").MiddlewareData;
36
- isPositioned: boolean;
37
- update: () => void;
38
- floatingStyles: React.CSSProperties;
39
- open: boolean;
40
- onOpenChange: (open: boolean, event?: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void;
41
- events: import("@floating-ui/react").FloatingEvents;
42
- dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
43
- nodeId: string | undefined;
44
- floatingId: string | undefined;
45
- refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
46
- elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
47
- };
30
+ ref: MutableRefObject<SVGSVGElement | null>;
31
+ context: FloatingContext;
48
32
  };
49
33
  open: boolean;
50
- floating: ((node: HTMLElement | null) => void) & ((node: HTMLElement | null) => void);
51
- reference: ((node: import("@floating-ui/react-dom").ReferenceType | null) => void) & ((node: import("@floating-ui/react").ReferenceType | null) => void);
34
+ floating: UseFloatingUIReturn["floating"];
35
+ reference: UseFloatingUIReturn["reference"];
52
36
  getTooltipProps: () => HTMLProps<HTMLDivElement>;
53
37
  getTriggerProps: () => Record<string, unknown>;
54
38
  getTooltipPosition: () => {
55
39
  top: number;
56
40
  left: number;
57
- position: import("@floating-ui/utils").Strategy;
41
+ position: Strategy;
58
42
  width: number | undefined;
59
43
  height: number | undefined;
60
44
  };
61
- };
45
+ }
46
+ export declare function useTooltip(props?: UseTooltipProps): UseTooltipReturn;
47
+ export {};
@@ -63,7 +63,7 @@ export interface TreeNodeContextValue {
63
63
  /** Node id for the li element */
64
64
  id: string;
65
65
  /** Ref for the li element rendered by TreeNodeTrigger */
66
- nodeRef: RefObject<HTMLLIElement>;
66
+ nodeRef: RefObject<HTMLLIElement | null>;
67
67
  /** Callback ref that connects TreeNode's forwarded ref to the li element */
68
68
  setNodeRef: Ref<HTMLLIElement> | null;
69
69
  /** Whether node is selected */
@@ -0,0 +1,11 @@
1
+ import type { Ref, RefCallback } from "react";
2
+ /**
3
+ * Merges two refs into a callback ref. Components and hooks should use
4
+ * `useForkRef`, so the merged ref only changes when one of the refs changes.
5
+ * This is for places that can't call a hook, such as a props getter.
6
+ *
7
+ * The returned ref never returns a cleanup itself, so every React version
8
+ * detaches it by calling it with `null`; that is when the cleanups collected
9
+ * from refA and refB are run.
10
+ */
11
+ export declare function forkRef<Instance>(refA: Ref<Instance> | null | undefined, refB: Ref<Instance> | null | undefined): RefCallback<Instance>;
@@ -1,2 +1 @@
1
- import type { AnchorHTMLAttributes, DetailedHTMLProps } from "react";
2
- export type inferElementType<T> = T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] extends DetailedHTMLProps<AnchorHTMLAttributes<any>, infer Elem> ? Elem : never : HTMLElement;
1
+ export type inferElementType<T> = T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : T extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[T] : HTMLElement;
@@ -1,2 +1,2 @@
1
- import type { Middleware } from "@floating-ui/core";
1
+ import type { Middleware } from "@floating-ui/react";
2
2
  export declare const margin: (value?: number) => Middleware;
@@ -1,2 +1,6 @@
1
1
  import type { MutableRefObject } from "react";
2
+ /**
3
+ * @deprecated since 1.73.0. Use `useForkRef` to merge refs instead, which also
4
+ * runs the cleanup functions that callback refs can return from React 19.
5
+ */
2
6
  export declare function setRef<T>(ref: MutableRefObject<T | null> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
@@ -55,11 +55,7 @@ export interface FloatingPlatformProviderProps {
55
55
  }
56
56
  export declare function FloatingPlatformProvider(props: FloatingPlatformProviderProps): import("react").JSX.Element;
57
57
  export declare function useFloatingPlatform(): FloatingPlatformContextType;
58
- export declare const DEFAULT_FLOATING_UI_MIDDLEWARE: {
59
- name: string;
60
- options?: any;
61
- fn: (state: import("@floating-ui/dom").MiddlewareState) => import("@floating-ui/core").MiddlewareReturn | Promise<import("@floating-ui/core").MiddlewareReturn>;
62
- }[];
58
+ export declare const DEFAULT_FLOATING_UI_MIDDLEWARE: Middleware[];
63
59
  type UseFloatingRefs = ReturnType<typeof useFloating>["refs"];
64
60
  export interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {
65
61
  reference: UseFloatingRefs["setReference"];
@@ -1,6 +1,6 @@
1
1
  import { type RefObject } from "react";
2
2
  export interface UseResizeObserverProps {
3
- ref: RefObject<HTMLElement>;
3
+ ref: RefObject<HTMLElement | null>;
4
4
  onResize: () => void;
5
5
  }
6
6
  export declare function useResizeObserver({ ref, onResize }: UseResizeObserverProps): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.72.0",
3
+ "version": "1.73.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,12 +19,12 @@
19
19
  ],
20
20
  "devDependencies": {
21
21
  "@types/react-window": "^1.8.2",
22
- "react-window": "^1.8.6"
22
+ "react-window": "^1.8.11"
23
23
  },
24
24
  "dependencies": {
25
25
  "@floating-ui/react": "^0.27.19",
26
- "@salt-ds/icons": "^1.18.3",
27
- "@salt-ds/styles": "0.4.1",
26
+ "@salt-ds/icons": "^1.18.4",
27
+ "@salt-ds/styles": "0.4.2",
28
28
  "@salt-ds/window": "0.1.2",
29
29
  "clsx": "^2.0.0",
30
30
  "compute-scroll-into-view": "^3.0.0",