@salt-ds/lab 1.0.0-alpha.14 → 1.0.0-alpha.16

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 (287) hide show
  1. package/dist-cjs/badge/Badge.css.js +1 -1
  2. package/dist-cjs/badge/Badge.js +7 -23
  3. package/dist-cjs/badge/Badge.js.map +1 -1
  4. package/dist-cjs/combo-box-next/ComboBoxNext.css.js +6 -0
  5. package/dist-cjs/combo-box-next/ComboBoxNext.css.js.map +1 -0
  6. package/dist-cjs/combo-box-next/ComboBoxNext.js +177 -0
  7. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -0
  8. package/dist-cjs/combo-box-next/useComboBox.js +137 -0
  9. package/dist-cjs/combo-box-next/useComboBox.js.map +1 -0
  10. package/dist-cjs/combo-box-next/useComboboxPortal.js +69 -0
  11. package/dist-cjs/combo-box-next/useComboboxPortal.js.map +1 -0
  12. package/dist-cjs/combo-box-next/utils.js +40 -0
  13. package/dist-cjs/combo-box-next/utils.js.map +1 -0
  14. package/dist-cjs/content-status/ContentStatus.js +0 -2
  15. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  16. package/dist-cjs/content-status/internal/StatusIndicator.js +0 -2
  17. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  18. package/dist-cjs/dialog/Dialog.css.js +1 -1
  19. package/dist-cjs/dialog/Dialog.js +53 -56
  20. package/dist-cjs/dialog/Dialog.js.map +1 -1
  21. package/dist-cjs/dialog/DialogActions.css.js +1 -1
  22. package/dist-cjs/dialog/DialogActions.js +15 -17
  23. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  24. package/dist-cjs/dialog/DialogCloseButton.css.js +6 -0
  25. package/dist-cjs/dialog/DialogCloseButton.css.js.map +1 -0
  26. package/dist-cjs/dialog/DialogCloseButton.js +39 -0
  27. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -0
  28. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  29. package/dist-cjs/dialog/DialogContent.js +20 -29
  30. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  31. package/dist-cjs/dialog/{internal/DialogContext.js → DialogContext.js} +4 -0
  32. package/dist-cjs/dialog/DialogContext.js.map +1 -0
  33. package/dist-cjs/dialog/DialogTitle.css.js +1 -1
  34. package/dist-cjs/dialog/DialogTitle.js +40 -41
  35. package/dist-cjs/dialog/DialogTitle.js.map +1 -1
  36. package/dist-cjs/dialog/useDialog.js +31 -0
  37. package/dist-cjs/dialog/useDialog.js.map +1 -0
  38. package/dist-cjs/drawer/Drawer.css.js +1 -1
  39. package/dist-cjs/drawer/Drawer.js +39 -45
  40. package/dist-cjs/drawer/Drawer.js.map +1 -1
  41. package/dist-cjs/drawer/useDrawer.js +31 -0
  42. package/dist-cjs/drawer/useDrawer.js.map +1 -0
  43. package/dist-cjs/dropdown-next/DropdownNext.css.js +6 -0
  44. package/dist-cjs/dropdown-next/DropdownNext.css.js.map +1 -0
  45. package/dist-cjs/dropdown-next/DropdownNext.js +181 -0
  46. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -0
  47. package/dist-cjs/dropdown-next/useDropdownNext.js +169 -0
  48. package/dist-cjs/dropdown-next/useDropdownNext.js.map +1 -0
  49. package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
  50. package/dist-cjs/index.js +19 -13
  51. package/dist-cjs/index.js.map +1 -1
  52. package/dist-cjs/list/Highlighter.js +1 -1
  53. package/dist-cjs/list/Highlighter.js.map +1 -1
  54. package/dist-cjs/list-next/ListItemNext.css.js +1 -1
  55. package/dist-cjs/list-next/ListItemNext.js +17 -6
  56. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  57. package/dist-cjs/list-next/ListNext.js +21 -10
  58. package/dist-cjs/list-next/ListNext.js.map +1 -1
  59. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  60. package/dist-cjs/list-next/useList.js +96 -37
  61. package/dist-cjs/list-next/useList.js.map +1 -1
  62. package/dist-cjs/logo/Logo.css.js +1 -1
  63. package/dist-cjs/logo/LogoImage.css.js +6 -0
  64. package/dist-cjs/logo/LogoImage.css.js.map +1 -0
  65. package/dist-cjs/logo/LogoImage.js +9 -0
  66. package/dist-cjs/logo/LogoImage.js.map +1 -1
  67. package/dist-cjs/logo/LogoSeparator.css.js +1 -1
  68. package/dist-cjs/{nav-item/ExpansionButton.js → navigation-item/ExpansionIcon.js} +8 -13
  69. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -0
  70. package/dist-cjs/navigation-item/NavigationItem.css.js +6 -0
  71. package/dist-cjs/navigation-item/NavigationItem.css.js.map +1 -0
  72. package/dist-cjs/navigation-item/NavigationItem.js +96 -0
  73. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -0
  74. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
  75. package/dist-cjs/progress/CircularProgress/CircularProgress.js +44 -51
  76. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  77. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  78. package/dist-cjs/progress/LinearProgress/LinearProgress.js +9 -49
  79. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  80. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js +1 -1
  81. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +5 -13
  82. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  83. package/dist-cjs/stepped-tracker/SteppedTracker.css.js +1 -1
  84. package/dist-cjs/stepped-tracker/SteppedTracker.js +0 -5
  85. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  86. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +1 -7
  87. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  88. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  89. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js +1 -1
  90. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +2 -14
  91. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  92. package/dist-cjs/switch/Switch.css.js +1 -1
  93. package/dist-cjs/switch/Switch.js +67 -72
  94. package/dist-cjs/switch/Switch.js.map +1 -1
  95. package/dist-cjs/toast-group/ToastGroup.css.js +6 -0
  96. package/dist-cjs/toast-group/ToastGroup.css.js.map +1 -0
  97. package/dist-cjs/toast-group/ToastGroup.js +32 -0
  98. package/dist-cjs/toast-group/ToastGroup.js.map +1 -0
  99. package/dist-es/badge/Badge.css.js +1 -1
  100. package/dist-es/badge/Badge.js +9 -25
  101. package/dist-es/badge/Badge.js.map +1 -1
  102. package/dist-es/combo-box-next/ComboBoxNext.css.js +4 -0
  103. package/dist-es/combo-box-next/ComboBoxNext.css.js.map +1 -0
  104. package/dist-es/combo-box-next/ComboBoxNext.js +173 -0
  105. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -0
  106. package/dist-es/combo-box-next/useComboBox.js +133 -0
  107. package/dist-es/combo-box-next/useComboBox.js.map +1 -0
  108. package/dist-es/combo-box-next/useComboboxPortal.js +65 -0
  109. package/dist-es/combo-box-next/useComboboxPortal.js.map +1 -0
  110. package/dist-es/combo-box-next/utils.js +35 -0
  111. package/dist-es/combo-box-next/utils.js.map +1 -0
  112. package/dist-es/content-status/ContentStatus.js +0 -2
  113. package/dist-es/content-status/ContentStatus.js.map +1 -1
  114. package/dist-es/content-status/internal/StatusIndicator.js +0 -2
  115. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  116. package/dist-es/dialog/Dialog.css.js +1 -1
  117. package/dist-es/dialog/Dialog.js +53 -56
  118. package/dist-es/dialog/Dialog.js.map +1 -1
  119. package/dist-es/dialog/DialogActions.css.js +1 -1
  120. package/dist-es/dialog/DialogActions.js +15 -17
  121. package/dist-es/dialog/DialogActions.js.map +1 -1
  122. package/dist-es/dialog/DialogCloseButton.css.js +4 -0
  123. package/dist-es/dialog/DialogCloseButton.css.js.map +1 -0
  124. package/dist-es/dialog/DialogCloseButton.js +31 -0
  125. package/dist-es/dialog/DialogCloseButton.js.map +1 -0
  126. package/dist-es/dialog/DialogContent.css.js +1 -1
  127. package/dist-es/dialog/DialogContent.js +20 -29
  128. package/dist-es/dialog/DialogContent.js.map +1 -1
  129. package/dist-es/dialog/DialogContext.js +9 -0
  130. package/dist-es/dialog/DialogContext.js.map +1 -0
  131. package/dist-es/dialog/DialogTitle.css.js +1 -1
  132. package/dist-es/dialog/DialogTitle.js +37 -42
  133. package/dist-es/dialog/DialogTitle.js.map +1 -1
  134. package/dist-es/dialog/useDialog.js +27 -0
  135. package/dist-es/dialog/useDialog.js.map +1 -0
  136. package/dist-es/drawer/Drawer.css.js +1 -1
  137. package/dist-es/drawer/Drawer.js +40 -46
  138. package/dist-es/drawer/Drawer.js.map +1 -1
  139. package/dist-es/drawer/useDrawer.js +27 -0
  140. package/dist-es/drawer/useDrawer.js.map +1 -0
  141. package/dist-es/dropdown-next/DropdownNext.css.js +4 -0
  142. package/dist-es/dropdown-next/DropdownNext.css.js.map +1 -0
  143. package/dist-es/dropdown-next/DropdownNext.js +177 -0
  144. package/dist-es/dropdown-next/DropdownNext.js.map +1 -0
  145. package/dist-es/dropdown-next/useDropdownNext.js +165 -0
  146. package/dist-es/dropdown-next/useDropdownNext.js.map +1 -0
  147. package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
  148. package/dist-es/index.js +9 -6
  149. package/dist-es/index.js.map +1 -1
  150. package/dist-es/list/Highlighter.js +1 -1
  151. package/dist-es/list/Highlighter.js.map +1 -1
  152. package/dist-es/list-next/ListItemNext.css.js +1 -1
  153. package/dist-es/list-next/ListItemNext.js +17 -6
  154. package/dist-es/list-next/ListItemNext.js.map +1 -1
  155. package/dist-es/list-next/ListNext.js +21 -10
  156. package/dist-es/list-next/ListNext.js.map +1 -1
  157. package/dist-es/list-next/ListNextContext.js.map +1 -1
  158. package/dist-es/list-next/useList.js +98 -39
  159. package/dist-es/list-next/useList.js.map +1 -1
  160. package/dist-es/logo/Logo.css.js +1 -1
  161. package/dist-es/logo/LogoImage.css.js +4 -0
  162. package/dist-es/logo/LogoImage.css.js.map +1 -0
  163. package/dist-es/logo/LogoImage.js +9 -0
  164. package/dist-es/logo/LogoImage.js.map +1 -1
  165. package/dist-es/logo/LogoSeparator.css.js +1 -1
  166. package/dist-es/navigation-item/ExpansionIcon.js +27 -0
  167. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -0
  168. package/dist-es/navigation-item/NavigationItem.css.js +4 -0
  169. package/dist-es/navigation-item/NavigationItem.css.js.map +1 -0
  170. package/dist-es/navigation-item/NavigationItem.js +92 -0
  171. package/dist-es/navigation-item/NavigationItem.js.map +1 -0
  172. package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
  173. package/dist-es/progress/CircularProgress/CircularProgress.js +45 -52
  174. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  175. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  176. package/dist-es/progress/LinearProgress/LinearProgress.js +9 -49
  177. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  178. package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js +1 -1
  179. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +7 -15
  180. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  181. package/dist-es/stepped-tracker/SteppedTracker.css.js +1 -1
  182. package/dist-es/stepped-tracker/SteppedTracker.js +1 -6
  183. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  184. package/dist-es/stepped-tracker/SteppedTrackerContext.js +1 -7
  185. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  186. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  187. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js +1 -1
  188. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +3 -15
  189. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  190. package/dist-es/switch/Switch.css.js +1 -1
  191. package/dist-es/switch/Switch.js +70 -75
  192. package/dist-es/switch/Switch.js.map +1 -1
  193. package/dist-es/toast-group/ToastGroup.css.js +4 -0
  194. package/dist-es/toast-group/ToastGroup.css.js.map +1 -0
  195. package/dist-es/toast-group/ToastGroup.js +28 -0
  196. package/dist-es/toast-group/ToastGroup.js.map +1 -0
  197. package/dist-types/badge/Badge.d.ts +5 -16
  198. package/dist-types/combo-box-next/ComboBoxNext.d.ts +70 -0
  199. package/dist-types/combo-box-next/index.d.ts +1 -0
  200. package/dist-types/combo-box-next/useComboBox.d.ts +34 -0
  201. package/dist-types/combo-box-next/useComboboxPortal.d.ts +15 -0
  202. package/dist-types/combo-box-next/utils.d.ts +8 -0
  203. package/dist-types/content-status/internal/StatusIndicator.d.ts +2 -2
  204. package/dist-types/dialog/Dialog.d.ts +17 -12
  205. package/dist-types/dialog/DialogActions.d.ts +1 -3
  206. package/dist-types/dialog/DialogCloseButton.d.ts +3 -0
  207. package/dist-types/dialog/DialogContent.d.ts +1 -3
  208. package/dist-types/dialog/DialogContext.d.ts +9 -0
  209. package/dist-types/dialog/DialogTitle.d.ts +7 -8
  210. package/dist-types/dialog/index.d.ts +4 -2
  211. package/dist-types/dialog/useDialog.d.ts +27 -0
  212. package/dist-types/drawer/Drawer.d.ts +3 -12
  213. package/dist-types/drawer/index.d.ts +1 -0
  214. package/dist-types/drawer/useDrawer.d.ts +27 -0
  215. package/dist-types/dropdown-next/DropdownNext.d.ts +42 -0
  216. package/dist-types/dropdown-next/index.d.ts +1 -0
  217. package/dist-types/dropdown-next/useDropdownNext.d.ts +31 -0
  218. package/dist-types/index.d.ts +4 -3
  219. package/dist-types/list-next/ListItemNext.d.ts +6 -1
  220. package/dist-types/list-next/ListNext.d.ts +7 -2
  221. package/dist-types/list-next/ListNextContext.d.ts +4 -2
  222. package/dist-types/list-next/useList.d.ts +16 -9
  223. package/dist-types/navigation-item/ExpansionIcon.d.ts +3 -0
  224. package/dist-types/navigation-item/NavigationItem.d.ts +36 -0
  225. package/dist-types/navigation-item/index.d.ts +1 -0
  226. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +1 -21
  227. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +1 -26
  228. package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +3 -5
  229. package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +1 -4
  230. package/dist-types/stepped-tracker/TrackerStep/index.d.ts +0 -1
  231. package/dist-types/switch/Switch.d.ts +43 -6
  232. package/dist-types/toast-group/ToastGroup.d.ts +5 -0
  233. package/dist-types/toast-group/index.d.ts +1 -0
  234. package/package.json +5 -5
  235. package/dist-cjs/control-label/ControlLabel.css.js +0 -6
  236. package/dist-cjs/control-label/ControlLabel.css.js.map +0 -1
  237. package/dist-cjs/control-label/ControlLabel.js +0 -48
  238. package/dist-cjs/control-label/ControlLabel.js.map +0 -1
  239. package/dist-cjs/dialog/internal/DialogContext.js.map +0 -1
  240. package/dist-cjs/multiline-input/MultilineInput.css.js +0 -6
  241. package/dist-cjs/multiline-input/MultilineInput.css.js.map +0 -1
  242. package/dist-cjs/multiline-input/MultilineInput.js +0 -162
  243. package/dist-cjs/multiline-input/MultilineInput.js.map +0 -1
  244. package/dist-cjs/nav-item/ExpansionButton.js.map +0 -1
  245. package/dist-cjs/nav-item/NavItem.css.js +0 -6
  246. package/dist-cjs/nav-item/NavItem.css.js.map +0 -1
  247. package/dist-cjs/nav-item/NavItem.js +0 -78
  248. package/dist-cjs/nav-item/NavItem.js.map +0 -1
  249. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js +0 -21
  250. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js.map +0 -1
  251. package/dist-cjs/stepped-tracker/useDetectTruncatedText.js +0 -71
  252. package/dist-cjs/stepped-tracker/useDetectTruncatedText.js.map +0 -1
  253. package/dist-cjs/switch/assets/CheckedIcon.js +0 -34
  254. package/dist-cjs/switch/assets/CheckedIcon.js.map +0 -1
  255. package/dist-es/control-label/ControlLabel.css.js +0 -4
  256. package/dist-es/control-label/ControlLabel.css.js.map +0 -1
  257. package/dist-es/control-label/ControlLabel.js +0 -43
  258. package/dist-es/control-label/ControlLabel.js.map +0 -1
  259. package/dist-es/dialog/internal/DialogContext.js +0 -6
  260. package/dist-es/dialog/internal/DialogContext.js.map +0 -1
  261. package/dist-es/multiline-input/MultilineInput.css.js +0 -4
  262. package/dist-es/multiline-input/MultilineInput.css.js.map +0 -1
  263. package/dist-es/multiline-input/MultilineInput.js +0 -158
  264. package/dist-es/multiline-input/MultilineInput.js.map +0 -1
  265. package/dist-es/nav-item/ExpansionButton.js +0 -32
  266. package/dist-es/nav-item/ExpansionButton.js.map +0 -1
  267. package/dist-es/nav-item/NavItem.css.js +0 -4
  268. package/dist-es/nav-item/NavItem.css.js.map +0 -1
  269. package/dist-es/nav-item/NavItem.js +0 -74
  270. package/dist-es/nav-item/NavItem.js.map +0 -1
  271. package/dist-es/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js +0 -16
  272. package/dist-es/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js.map +0 -1
  273. package/dist-es/stepped-tracker/useDetectTruncatedText.js +0 -69
  274. package/dist-es/stepped-tracker/useDetectTruncatedText.js.map +0 -1
  275. package/dist-es/switch/assets/CheckedIcon.js +0 -30
  276. package/dist-es/switch/assets/CheckedIcon.js.map +0 -1
  277. package/dist-types/control-label/ControlLabel.d.ts +0 -8
  278. package/dist-types/control-label/index.d.ts +0 -1
  279. package/dist-types/dialog/internal/DialogContext.d.ts +0 -6
  280. package/dist-types/multiline-input/MultilineInput.d.ts +0 -40
  281. package/dist-types/multiline-input/index.d.ts +0 -1
  282. package/dist-types/nav-item/ExpansionButton.d.ts +0 -3
  283. package/dist-types/nav-item/NavItem.d.ts +0 -17
  284. package/dist-types/nav-item/index.d.ts +0 -1
  285. package/dist-types/stepped-tracker/TrackerStep/TrackerStepTooltipContext.d.ts +0 -7
  286. package/dist-types/stepped-tracker/useDetectTruncatedText.d.ts +0 -11
  287. package/dist-types/switch/assets/CheckedIcon.d.ts +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationItem.js","sources":["../src/navigation-item/NavigationItem.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n MouseEventHandler,\n MouseEvent,\n ReactNode,\n} from \"react\";\nimport { makePrefixer, Link, Button } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { ExpansionIcon } from \"./ExpansionIcon\";\n\nimport navigationItemCss from \"./NavigationItem.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport interface NavigationItemProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the navigation item is active.\n */\n active?: boolean;\n /**\n * Whether the parent navigation item has active nested items.\n */\n blurSelected?: boolean;\n /**\n * Whether the navigation item is expanded.\n */\n expanded?: boolean;\n /**\n * Level of nesting.\n */\n level?: number;\n /**\n * The orientation of the navigation item.\n */\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Whether the navigation item is a parent with nested items.\n */\n parent?: boolean;\n /**\n * Action to be triggered when the navigation item is expanded.\n */\n onExpand?: MouseEventHandler<HTMLButtonElement>;\n /**\n * Href to be passed to the Link element.\n */\n href?: string;\n}\n\nconst withBaseName = makePrefixer(\"saltNavigationItem\");\n\ntype ConditionalWrapper = {\n children: ReactNode;\n className: string;\n};\n\nexport const NavigationItem = forwardRef<HTMLDivElement, NavigationItemProps>(\n function NavigationItem(props, ref) {\n const {\n active,\n blurSelected,\n children,\n className,\n expanded = false,\n orientation = \"horizontal\",\n parent,\n level = 0,\n onExpand,\n href,\n style: styleProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-navigation-item\",\n css: navigationItemCss,\n window: targetWindow,\n });\n\n const style = {\n ...styleProp,\n \"--saltNavigationItem-level\": `${level}`,\n };\n\n const handleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onExpand?.(event);\n };\n\n const ConditionalWrapper = ({\n children,\n className,\n ...rest\n }: ConditionalWrapper) =>\n parent ? (\n <Button\n aria-label=\"expand\"\n variant=\"secondary\"\n aria-expanded={expanded}\n className={clsx(withBaseName(\"expandButton\"), className)}\n onClick={handleExpand}\n {...rest}\n >\n {children}\n </Button>\n ) : (\n <Link\n aria-current={active ? \"page\" : undefined}\n href={href}\n className={className}\n {...rest}\n >\n {children}\n </Link>\n );\n\n return (\n <div\n ref={ref}\n style={style}\n className={clsx(withBaseName(), className)}\n {...rest}\n >\n <ConditionalWrapper\n className={clsx(\n withBaseName(\"wrapper\"),\n {\n [withBaseName(\"active\")]: active,\n [withBaseName(\"blurSelected\")]: blurSelected,\n [withBaseName(\"nested\")]: level !== 0,\n },\n withBaseName(orientation)\n )}\n >\n <span className={withBaseName(\"label\")}>{children}</span>\n {parent && (\n <ExpansionIcon\n expanded={expanded}\n orientation={orientation}\n className={withBaseName(\"expandIcon\")}\n />\n )}\n </ConditionalWrapper>\n </div>\n );\n }\n);\n"],"names":["NavigationItem","navigationItemCss","children","className","rest"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltCircularProgress {\n --circularProgress-progressCircle-radius: calc(var(--salt-size-base) - (var(--salt-size-adornment) * 0.25));\n --circularProgress-progressCircle-circumference: calc(var(--circularProgress-progressCircle-radius) * 2 * PI);\n --circularProgress-railCircle-radius: calc(var(--salt-size-base) - (var(--salt-track-borderWidth) * 0.5));\n --circularProgress-railCircle-circumference: calc(var(--circularProgress-railCircle-radius) * 2 * PI);\n\n color: var(--salt-text-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-progressValue,\n.saltCircularProgress-disabled circle {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-circle {\n stroke: var(--salt-accent-background-disabled);\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-railCircle {\n stroke: var(--salt-track-borderColor-disabled);\n}\n\n.saltCircularProgress-railCircle {\n stroke: var(--salt-track-borderColor);\n stroke-width: var(--salt-track-borderWidth);\n r: var(--circularProgress-railCircle-radius);\n}\n\n.saltCircularProgress-svg {\n height: calc(var(--salt-size-base) * 2);\n width: calc(var(--salt-size-base) * 2);\n fill: var(--salt-accent-background);\n transform: rotate(-90deg);\n display: block;\n}\n\n.saltCircularProgress-circle {\n r: var(--circularProgress-progressCircle-radius);\n stroke-width: calc(var(--salt-size-adornment) * 0.5);\n stroke: var(--salt-accent-background);\n transition: stroke-dashoffset 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0s;\n}\n";
1
+ var css_248z = ".saltCircularProgress {\n color: var(--salt-text-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-track {\n inline-size: calc(var(--salt-size-base) * 2);\n block-size: calc(var(--salt-size-base) * 2);\n border-style: var(--salt-track-borderStyle);\n border-width: var(--salt-track-borderWidth);\n border-radius: var(--salt-size-base);\n border-color: var(--salt-track-borderColor);\n}\n\n.saltCircularProgress-bar {\n inline-size: calc(var(--salt-size-base) * 2);\n block-size: calc(var(--salt-size-base) * 2);\n border-style: var(--salt-track-borderStyle);\n border-width: calc(var(--salt-size-adornment) * 0.5);\n border-radius: var(--salt-size-base);\n border-color: var(--salt-accent-background);\n}\n\n.saltCircularProgress-bars {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n inline-size: 100%;\n block-size: 100%;\n}\n\n.saltCircularProgress-barOverlayRight,\n.saltCircularProgress-barOverlayLeft {\n inline-size: 50%;\n block-size: 100%;\n transform-origin: 100% center;\n transform: rotate(180deg);\n overflow: hidden;\n position: absolute;\n}\n\n.saltCircularProgress-barSubOverlayRight,\n.saltCircularProgress-barSubOverlayLeft {\n inline-size: 100%;\n block-size: 100%;\n transform-origin: 100% center;\n overflow: hidden;\n transform: rotate(-180deg);\n}\n\n.saltCircularProgress-barOverlayLeft {\n transform: rotate(0deg);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=CircularProgress.css.js.map
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { forwardRef, useEffect } from 'react';
2
+ import { forwardRef } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import { Info } from '../Info.js';
@@ -11,12 +11,9 @@ const withBaseName = makePrefixer("saltCircularProgress");
11
11
  const CircularProgress = forwardRef(function CircularProgress2({
12
12
  "aria-label": ariaLabel,
13
13
  className,
14
- disabled,
15
14
  max = 100,
16
15
  showInfo = true,
17
- renderInfo,
18
16
  value = 0,
19
- unit = "%",
20
17
  ...rest
21
18
  }, ref) {
22
19
  const targetWindow = useWindow();
@@ -25,71 +22,67 @@ const CircularProgress = forwardRef(function CircularProgress2({
25
22
  css: css_248z,
26
23
  window: targetWindow
27
24
  });
28
- const circleStyle = {};
29
- const railCircleStyle = {};
25
+ const subOverlayRightStyle = {};
26
+ const subOverlayLeftStyle = {};
27
+ const getRotationAngle = (progress2, shift = 0) => {
28
+ return -180 + (progress2 - shift) / 50 * 180;
29
+ };
30
30
  const progress = value / max * 100;
31
- const progressStrokeLength = `calc(${progress} * var(--circularProgress-progressCircle-circumference) / 100)`;
32
- const progressGapLength = `calc((100 - ${progress}) * var(--circularProgress-progressCircle-circumference) / 100)`;
33
- const railStrokeLength = `calc((100 - ${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;
34
- const railGapLength = `calc((${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;
35
- circleStyle.strokeDasharray = `${progressStrokeLength} ${progressGapLength}`;
36
- railCircleStyle.strokeDashoffset = `${railStrokeLength}`;
37
- railCircleStyle.strokeDasharray = `${railStrokeLength} ${railGapLength}`;
38
- useEffect(() => {
39
- if (process.env.NODE_ENV !== "production" && !ariaLabel) {
40
- console.error(
41
- "Salt: aria-label value not supplied to CircularProgress. This may affect the ADA compliance level of the component and owning application, and may generate errors in automated accessibility testing software"
42
- );
43
- }
44
- }, [ariaLabel]);
45
- const getValueProps = () => ({
46
- unit,
47
- value,
48
- getValueProps: (valueProps = {}) => ({
49
- className: withBaseName("progressValue"),
50
- ...valueProps
51
- })
52
- });
31
+ if (progress <= 50) {
32
+ const rotationAngle = getRotationAngle(progress);
33
+ subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;
34
+ subOverlayLeftStyle.transform = "rotate(-180deg)";
35
+ } else {
36
+ const rotationAngle = getRotationAngle(progress, 50);
37
+ subOverlayRightStyle.transform = "rotate(0deg)";
38
+ subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;
39
+ }
53
40
  let progressInfo = null;
54
41
  if (showInfo) {
55
- progressInfo = renderInfo ? renderInfo(getValueProps()) : /* @__PURE__ */ jsx(Info, {
42
+ progressInfo = /* @__PURE__ */ jsx(Info, {
56
43
  className: withBaseName("progressValue"),
57
- unit,
58
- value: Math.round(progress),
59
- ...rest
44
+ unit: "%",
45
+ value: Math.round(progress)
60
46
  });
61
47
  }
62
48
  return /* @__PURE__ */ jsxs("div", {
63
- className: clsx(
64
- withBaseName(),
65
- { [withBaseName("disabled")]: disabled },
66
- className
67
- ),
49
+ className: clsx(withBaseName(), className),
68
50
  "data-testid": "circular-progress",
69
51
  ref,
70
52
  role: "progressbar",
71
53
  "aria-label": ariaLabel,
72
54
  "aria-valuemax": max,
73
55
  "aria-valuemin": 0,
74
- "aria-valuenow": value,
56
+ "aria-valuenow": Math.round(value),
75
57
  ...rest,
76
58
  children: [
77
- /* @__PURE__ */ jsxs("svg", {
78
- className: withBaseName("svg"),
59
+ /* @__PURE__ */ jsx("div", {
60
+ className: withBaseName("track")
61
+ }),
62
+ /* @__PURE__ */ jsxs("div", {
63
+ className: withBaseName("bars"),
79
64
  children: [
80
- /* @__PURE__ */ jsx("circle", {
81
- cx: "50%",
82
- cy: "50%",
83
- fill: "none",
84
- style: railCircleStyle,
85
- className: withBaseName("railCircle")
65
+ /* @__PURE__ */ jsx("div", {
66
+ className: withBaseName("barOverlayRight"),
67
+ children: /* @__PURE__ */ jsx("div", {
68
+ className: withBaseName("barSubOverlayRight"),
69
+ "data-testid": "barSubOverlayRight",
70
+ style: subOverlayRightStyle,
71
+ children: /* @__PURE__ */ jsx("div", {
72
+ className: withBaseName("bar")
73
+ })
74
+ })
86
75
  }),
87
- /* @__PURE__ */ jsx("circle", {
88
- cx: "50%",
89
- cy: "50%",
90
- fill: "none",
91
- style: circleStyle,
92
- className: withBaseName("circle")
76
+ /* @__PURE__ */ jsx("div", {
77
+ className: withBaseName("barOverlayLeft"),
78
+ children: /* @__PURE__ */ jsx("div", {
79
+ className: withBaseName("barSubOverlayLeft"),
80
+ "data-testid": "barSubOverlayLeft",
81
+ style: subOverlayLeftStyle,
82
+ children: /* @__PURE__ */ jsx("div", {
83
+ className: withBaseName("bar")
84
+ })
85
+ })
93
86
  })
94
87
  ]
95
88
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { Info as DefaultInfo } from \"../Info\";\nimport { InfoRendererProps } from \"../LinearProgress/LinearProgress\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * A label for accessibility\n */\n \"aria-label\"?: string;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Disabled flag, true when the component is disabled.\n */\n disabled?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * Render props callback to render info panel.\n * @param function({ value, unit, getValueProps })\n */\n renderInfo?: (\n props: Pick<InfoRendererProps<any, any>, \"value\" | \"unit\" | \"getValueProps\">\n ) => ReactElement<InfoRendererProps<any, any>>;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * Default unit is`%`\n */\n unit?: string;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Circular progress bar with an optional Info element, showing the current value\n * The default Info element can be rendered by setting `unit` and `value` props.\n * A custom Info element can be rendered using the `renderInfo` callback.\n * The render props callback is of the form\n * @param {string} unit the unit of the progress info\n * @param {number} value the value of the progress info\n * @param {function} getValueProps function callback that returns the value props\n */\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n {\n \"aria-label\": ariaLabel,\n className,\n disabled,\n max = 100,\n showInfo = true,\n renderInfo,\n value = 0,\n unit = \"%\",\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const circleStyle: CSSProperties = {};\n const railCircleStyle: CSSProperties = {};\n const rootStyle: CSSProperties = {};\n const rootProps: HTMLAttributes<any> = {};\n\n const progress = (value / max) * 100;\n\n rootProps[\"aria-valuenow\"] = Math.round(value);\n\n const progressStrokeLength = `calc(${progress} * var(--circularProgress-progressCircle-circumference) / 100)`;\n const progressGapLength = `calc((100 - ${progress}) * var(--circularProgress-progressCircle-circumference) / 100)`;\n const railStrokeLength = `calc((100 - ${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;\n const railGapLength = `calc((${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;\n\n circleStyle.strokeDasharray = `${progressStrokeLength} ${progressGapLength}`;\n railCircleStyle.strokeDashoffset = `${railStrokeLength}`;\n railCircleStyle.strokeDasharray = `${railStrokeLength} ${railGapLength}`;\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\" && !ariaLabel) {\n // eslint-disable-next-line no-console\n console.error(\n \"Salt: aria-label value not supplied to CircularProgress. This may affect the ADA compliance level of the component and owning application, and may generate errors in automated accessibility testing software\"\n );\n }\n }, [ariaLabel]);\n\n const getValueProps = () => ({\n unit,\n value,\n getValueProps: (valueProps = {}) => ({\n className: withBaseName(\"progressValue\"),\n ...valueProps,\n }),\n });\n\n let progressInfo: ReactNode = null;\n if (showInfo) {\n progressInfo = renderInfo ? (\n renderInfo(getValueProps())\n ) : (\n <DefaultInfo\n className={withBaseName(\"progressValue\")}\n unit={unit}\n value={Math.round(progress)}\n {...rest}\n />\n );\n }\n\n return (\n <div\n className={clsx(\n withBaseName(),\n { [withBaseName(\"disabled\")]: disabled },\n className\n )}\n data-testid=\"circular-progress\"\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={value}\n {...rest}\n >\n <svg className={withBaseName(\"svg\")}>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n style={railCircleStyle}\n className={withBaseName(\"railCircle\")}\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n style={circleStyle}\n className={withBaseName(\"circle\")}\n />\n </svg>\n {progressInfo}\n </div>\n );\n});\n"],"names":["CircularProgress","circularProgressCSS","DefaultInfo"],"mappings":"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"}
1
+ {"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { Info } from \"../Info\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * A label for accessibility\n */\n \"aria-label\"?: string;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Circular progress bar with an optional Info element, showing the current value\n */\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n {\n \"aria-label\": ariaLabel,\n className,\n max = 100,\n showInfo = true,\n value = 0,\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const subOverlayRightStyle: CSSProperties = {};\n const subOverlayLeftStyle: CSSProperties = {};\n\n const getRotationAngle = (progress: number, shift = 0) => {\n return -180 + ((progress - shift) / 50) * 180;\n };\n\n const progress = (value / max) * 100;\n\n if (progress <= 50) {\n const rotationAngle = getRotationAngle(progress);\n subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;\n subOverlayLeftStyle.transform = \"rotate(-180deg)\";\n } else {\n const rotationAngle = getRotationAngle(progress, 50);\n subOverlayRightStyle.transform = \"rotate(0deg)\";\n subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;\n }\n\n let progressInfo: ReactNode = null;\n if (showInfo) {\n progressInfo = (\n <Info\n className={withBaseName(\"progressValue\")}\n unit=\"%\"\n value={Math.round(progress)}\n />\n );\n }\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n data-testid=\"circular-progress\"\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"track\")} />\n <div className={withBaseName(\"bars\")}>\n <div className={withBaseName(\"barOverlayRight\")}>\n <div\n className={withBaseName(\"barSubOverlayRight\")}\n data-testid=\"barSubOverlayRight\"\n style={subOverlayRightStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n <div className={withBaseName(\"barOverlayLeft\")}>\n <div\n className={withBaseName(\"barSubOverlayLeft\")}\n data-testid=\"barSubOverlayLeft\"\n style={subOverlayLeftStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n </div>\n {progressInfo}\n </div>\n );\n});\n"],"names":["CircularProgress","circularProgressCSS","progress"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-bar {\n background: var(--salt-accent-background-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-track {\n background: var(--salt-track-borderColor-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-progressValue {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: calc(100% - 10px);\n overflow: hidden;\n height: var(--salt-size-adornment);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-track {\n background: var(--salt-track-borderColor);\n width: 100%;\n height: var(--salt-track-borderWidth);\n position: absolute;\n top: calc((var(--salt-size-adornment) - var(--salt-track-borderWidth)) / 2);\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressValue {\n color: inherit;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
1
+ var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: 100%;\n overflow: hidden;\n height: var(--salt-size-adornment);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-track {\n background: var(--salt-track-borderColor);\n width: 100%;\n height: var(--salt-track-borderWidth);\n position: absolute;\n top: calc((var(--salt-size-adornment) - var(--salt-track-borderWidth)) / 2);\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressValue {\n color: inherit;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=LinearProgress.css.js.map
@@ -8,29 +8,8 @@ import { useComponentCssInjection } from '@salt-ds/styles';
8
8
  import css_248z from './LinearProgress.css.js';
9
9
 
10
10
  const withBaseName = makePrefixer("saltLinearProgress");
11
- const getUnitAndValueProps = ({ unit, value }, { progressUnit, progressValue }) => ({
12
- unit,
13
- value,
14
- getUnitProps: (props = {}) => ({
15
- className: progressUnit,
16
- ...props
17
- }),
18
- getValueProps: (props = {}) => ({
19
- className: progressValue,
20
- ...props
21
- })
22
- });
23
11
  const LinearProgress = forwardRef(
24
- function LinearProgress2({
25
- className,
26
- disabled,
27
- max = 100,
28
- renderInfo,
29
- showInfo = true,
30
- unit = "%",
31
- value = 0,
32
- ...rest
33
- }, ref) {
12
+ function LinearProgress2({ className, max = 100, showInfo = true, value = 0, ...rest }, ref) {
34
13
  const targetWindow = useWindow();
35
14
  useComponentCssInjection({
36
15
  testId: "salt-linear-progress",
@@ -38,51 +17,32 @@ const LinearProgress = forwardRef(
38
17
  window: targetWindow
39
18
  });
40
19
  let progressInfo = null;
41
- const progressUnit = withBaseName("progressUnit");
42
- const progressValue = withBaseName("progressValue");
43
20
  const progress = value / max * 100;
44
21
  if (showInfo) {
45
- progressInfo = renderInfo ? renderInfo(
46
- getUnitAndValueProps(
47
- {
48
- unit,
49
- value
50
- },
51
- {
52
- progressUnit,
53
- progressValue
54
- }
55
- )
56
- ) : /* @__PURE__ */ jsx(Info, {
57
- unit,
22
+ progressInfo = /* @__PURE__ */ jsx(Info, {
23
+ unit: "%",
58
24
  value: Math.round(progress),
59
- className: progressValue
25
+ className: withBaseName("progressValue")
60
26
  });
61
27
  }
62
- const rootProps = {};
63
28
  const barStyle = {};
64
29
  const trackStyle = {};
65
- rootProps["aria-valuenow"] = Math.round(value);
66
- rootProps["aria-valuemin"] = 0;
67
- rootProps["aria-valuemax"] = 100;
68
30
  barStyle.transform = `translateX(${progress - 100}%)`;
69
31
  trackStyle.transform = `translateX(${progress}%)`;
70
32
  return /* @__PURE__ */ jsxs("div", {
71
- className: clsx(
72
- withBaseName(),
73
- { [withBaseName("disabled")]: disabled },
74
- className
75
- ),
33
+ className: clsx(withBaseName(), className),
76
34
  ref,
77
35
  "data-testid": "linear-progress",
78
36
  role: "progressbar",
79
- ...rootProps,
37
+ "aria-valuemax": max,
38
+ "aria-valuemin": 0,
39
+ "aria-valuenow": Math.round(value),
80
40
  ...rest,
81
41
  children: [
82
42
  /* @__PURE__ */ jsxs("div", {
83
43
  className: withBaseName("barContainer"),
84
44
  children: [
85
- progress !== 0 && /* @__PURE__ */ jsx("div", {
45
+ /* @__PURE__ */ jsx("div", {
86
46
  className: withBaseName("bar"),
87
47
  style: barStyle
88
48
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"LinearProgress.js","sources":["../src/progress/LinearProgress/LinearProgress.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { Info as DefaultInfo } from \"../Info\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport linearProgressCss from \"./LinearProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltLinearProgress\");\n\nexport interface InfoRendererProps<T, U> {\n unit: string;\n value: number;\n getUnitProps?: (props: T) => { className: string } & T;\n getValueProps: (props: U) => { className: string } & U;\n}\n\ntype UnitAndValuePropsGetter<T, U> = (\n a: {\n unit: string;\n value: number;\n },\n b: {\n progressUnit: string;\n progressValue: string;\n }\n) => InfoRendererProps<T, U>;\n\nconst getUnitAndValueProps: UnitAndValuePropsGetter<any, any> = (\n { unit, value },\n { progressUnit, progressValue }\n) => ({\n unit,\n value,\n getUnitProps: (props = {}) => ({\n className: progressUnit,\n ...props,\n }),\n getValueProps: (props = {}) => ({\n className: progressValue,\n ...props,\n }),\n});\n\nexport interface LinearProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The className(s) of the component.\n */\n className?: string;\n /**\n * Disabled flag, true when the component is disabled.\n */\n disabled?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * render props callback to render info panel.\n */\n renderInfo?: (\n props: Pick<\n InfoRendererProps<any, any>,\n \"value\" | \"unit\" | \"getValueProps\" | \"getUnitProps\"\n >\n ) => ReactElement<InfoRendererProps<any, any>>;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * Default unit is`%`.\n */\n unit?: string;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Linear progress bar with an optional Info element, showing the current value\n * The default Info element can be rendered by setting `unit` and `value` props.\n * A custom Info element can be rendered using the `renderInfo` callback.\n * The render props callback is of the form\n * @param {string} unit the unit of the progress info\n * @param {number} value the value of the progress info\n * @param {function} getUnitProps function callback that returns the unit props\n * @param {function} getValueProps function callback that returns the value props\n */\nexport const LinearProgress = forwardRef<HTMLDivElement, LinearProgressProps>(\n function LinearProgress(\n {\n className,\n disabled,\n max = 100,\n renderInfo,\n showInfo = true,\n unit = \"%\",\n value = 0,\n ...rest\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-linear-progress\",\n css: linearProgressCss,\n window: targetWindow,\n });\n\n let progressInfo: ReactNode = null;\n\n const progressUnit = withBaseName(\"progressUnit\");\n const progressValue = withBaseName(\"progressValue\");\n\n const progress = (value / max) * 100;\n\n if (showInfo) {\n progressInfo = renderInfo ? (\n renderInfo(\n getUnitAndValueProps(\n {\n unit,\n value,\n },\n {\n progressUnit,\n progressValue,\n }\n )\n )\n ) : (\n <DefaultInfo\n unit={unit}\n value={Math.round(progress)}\n className={progressValue}\n />\n );\n }\n\n const rootProps: HTMLAttributes<HTMLDivElement> = {};\n const barStyle: CSSProperties = {};\n const trackStyle: CSSProperties = {};\n\n rootProps[\"aria-valuenow\"] = Math.round(value);\n rootProps[\"aria-valuemin\"] = 0;\n rootProps[\"aria-valuemax\"] = 100;\n barStyle.transform = `translateX(${progress - 100}%)`;\n trackStyle.transform = `translateX(${progress}%)`;\n\n return (\n <div\n className={clsx(\n withBaseName(),\n { [withBaseName(\"disabled\")]: disabled },\n className\n )}\n ref={ref}\n data-testid=\"linear-progress\"\n role=\"progressbar\"\n {...rootProps}\n {...rest}\n >\n <div className={withBaseName(\"barContainer\")}>\n {progress !== 0 && (\n <div className={withBaseName(\"bar\")} style={barStyle} />\n )}\n <div className={withBaseName(\"track\")} style={trackStyle} />\n </div>\n {progressInfo}\n </div>\n );\n }\n);\n"],"names":["LinearProgress","linearProgressCss","DefaultInfo"],"mappings":"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"}
1
+ {"version":3,"file":"LinearProgress.js","sources":["../src/progress/LinearProgress/LinearProgress.tsx"],"sourcesContent":["import { CSSProperties, forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { Info } from \"../Info\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport linearProgressCss from \"./LinearProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltLinearProgress\");\n\nexport interface LinearProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The className(s) of the component.\n */\n className?: string;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * Default unit is`%`.\n */\n unit?: string;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Linear progress bar with an optional Info element, showing the current value\n */\nexport const LinearProgress = forwardRef<HTMLDivElement, LinearProgressProps>(\n function LinearProgress(\n { className, max = 100, showInfo = true, value = 0, ...rest },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-linear-progress\",\n css: linearProgressCss,\n window: targetWindow,\n });\n\n let progressInfo: ReactNode = null;\n\n const progress = (value / max) * 100;\n\n if (showInfo) {\n progressInfo = (\n <Info\n unit=\"%\"\n value={Math.round(progress)}\n className={withBaseName(\"progressValue\")}\n />\n );\n }\n\n const barStyle: CSSProperties = {};\n const trackStyle: CSSProperties = {};\n\n barStyle.transform = `translateX(${progress - 100}%)`;\n trackStyle.transform = `translateX(${progress}%)`;\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n data-testid=\"linear-progress\"\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"barContainer\")}>\n <div className={withBaseName(\"bar\")} style={barStyle} />\n <div className={withBaseName(\"track\")} style={trackStyle} />\n </div>\n {progressInfo}\n </div>\n );\n }\n);\n"],"names":["LinearProgress","linearProgressCss"],"mappings":";;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AA8B/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAAA,CACP,EAAE,SAAA,EAAW,GAAM,GAAA,GAAA,EAAK,QAAW,GAAA,IAAA,EAAM,KAAQ,GAAA,CAAA,EAAA,GAAM,IAAK,EAAA,EAC5D,GACA,EAAA;AACA,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,IAAI,YAA0B,GAAA,IAAA,CAAA;AAE9B,IAAM,MAAA,QAAA,GAAY,QAAQ,GAAO,GAAA,GAAA,CAAA;AAEjC,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,YAAA,mBACG,GAAA,CAAA,IAAA,EAAA;AAAA,QACC,IAAK,EAAA,GAAA;AAAA,QACL,KAAA,EAAO,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,QAC1B,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,OACzC,CAAA,CAAA;AAAA,KAEJ;AAEA,IAAA,MAAM,WAA0B,EAAC,CAAA;AACjC,IAAA,MAAM,aAA4B,EAAC,CAAA;AAEnC,IAAS,QAAA,CAAA,SAAA,GAAY,cAAc,QAAW,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC9C,IAAA,UAAA,CAAW,YAAY,CAAc,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA;AAErC,IAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,aAAY,EAAA,iBAAA;AAAA,MACZ,IAAK,EAAA,aAAA;AAAA,MACL,eAAe,EAAA,GAAA;AAAA,MACf,eAAe,EAAA,CAAA;AAAA,MACf,eAAA,EAAe,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC9B,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAC,IAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,UACzC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,cAAG,KAAO,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,4BACrD,GAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,cAAG,KAAO,EAAA,UAAA;AAAA,aAAY,CAAA;AAAA,WAAA;AAAA,SAC5D,CAAA;AAAA,QACC,YAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltStepLabel {\n width: 100%;\n text-align: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n";
1
+ var css_248z = ".saltStepLabel {\n width: 100%;\n text-align: center;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=StepLabel.css.js.map
@@ -1,35 +1,27 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useMemo } from 'react';
2
+ import { forwardRef } from 'react';
3
3
  import { clsx } from 'clsx';
4
- import { makePrefixer, useIdMemo, useForkRef, Label } from '@salt-ds/core';
4
+ import { makePrefixer, Label } from '@salt-ds/core';
5
5
  import { useComponentCssInjection } from '@salt-ds/styles';
6
6
  import { useWindow } from '@salt-ds/window';
7
7
  import css_248z from './StepLabel.css.js';
8
- import { useSteppedTrackerContext } from '../SteppedTrackerContext.js';
9
- import '../TrackerStep/TrackerStep.js';
10
- import { useTrackerStepTooltipContext } from '../TrackerStep/TrackerStepTooltipContext.js';
11
8
 
12
9
  const withBaseName = makePrefixer("saltStepLabel");
13
10
  const StepLabel = forwardRef(
14
11
  function StepLabel2({ children, className, ...rest }, ref) {
15
- const id = useIdMemo();
16
12
  const targetWindow = useWindow();
17
13
  useComponentCssInjection({
18
14
  testId: "salt-step-label",
19
15
  css: css_248z,
20
16
  window: targetWindow
21
17
  });
22
- const { getOverflowRef } = useSteppedTrackerContext();
23
- const overflowRef = useMemo(() => getOverflowRef(id), [id, getOverflowRef]);
24
- const isInTooltip = useTrackerStepTooltipContext();
25
- const combinedRef = useForkRef(overflowRef, ref);
26
- return isInTooltip ? /* @__PURE__ */ jsx("span", {
27
- children
28
- }) : /* @__PURE__ */ jsx(Label, {
18
+ return /* @__PURE__ */ jsx(Label, {
29
19
  className: clsx(withBaseName(), className),
30
- ref: combinedRef,
20
+ ref,
31
21
  ...rest,
32
- children
22
+ children: /* @__PURE__ */ jsx("strong", {
23
+ children
24
+ })
33
25
  });
34
26
  }
35
27
  );
@@ -1 +1 @@
1
- {"version":3,"file":"StepLabel.js","sources":["../src/stepped-tracker/StepLabel/StepLabel.tsx"],"sourcesContent":["import {\n forwardRef,\n ReactNode,\n useMemo,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useForkRef, makePrefixer, useIdMemo, Label } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport stepLabelCss from \"./StepLabel.css\";\n\nimport { useSteppedTrackerContext } from \"../SteppedTrackerContext\";\nimport { useTrackerStepTooltipContext } from \"../TrackerStep\";\n\nconst withBaseName = makePrefixer(\"saltStepLabel\");\n\nexport interface StepLabelProps extends ComponentPropsWithoutRef<\"label\"> {\n children: ReactNode;\n}\n\nexport const StepLabel = forwardRef<HTMLLabelElement, StepLabelProps>(\n function StepLabel({ children, className, ...rest }, ref?) {\n const id = useIdMemo();\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-step-label\",\n css: stepLabelCss,\n window: targetWindow,\n });\n\n const { getOverflowRef } = useSteppedTrackerContext();\n const overflowRef = useMemo(() => getOverflowRef(id), [id, getOverflowRef]);\n\n const isInTooltip = useTrackerStepTooltipContext();\n\n const combinedRef = useForkRef<HTMLLabelElement>(overflowRef, ref);\n\n return isInTooltip ? (\n <span>{children}</span>\n ) : (\n <Label\n className={clsx(withBaseName(), className)}\n ref={combinedRef}\n {...rest}\n >\n {children}\n </Label>\n );\n }\n);\n"],"names":["StepLabel","stepLabelCss"],"mappings":";;;;;;;;;;;AAgBA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAM1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAASA,UAAU,CAAA,EAAE,UAAU,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAM,EAAA;AACzD,IAAA,MAAM,KAAK,SAAU,EAAA,CAAA;AAErB,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,iBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,wBAAyB,EAAA,CAAA;AACpD,IAAM,MAAA,WAAA,GAAc,QAAQ,MAAM,cAAA,CAAe,EAAE,CAAG,EAAA,CAAC,EAAI,EAAA,cAAc,CAAC,CAAA,CAAA;AAE1E,IAAA,MAAM,cAAc,4BAA6B,EAAA,CAAA;AAEjD,IAAM,MAAA,WAAA,GAAc,UAA6B,CAAA,WAAA,EAAa,GAAG,CAAA,CAAA;AAEjE,IAAA,OAAO,8BACJ,GAAA,CAAA,MAAA,EAAA;AAAA,MAAM,QAAA;AAAA,KAAS,oBAEf,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAK,EAAA,WAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"StepLabel.js","sources":["../src/stepped-tracker/StepLabel/StepLabel.tsx"],"sourcesContent":["import { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer, Label } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport stepLabelCss from \"./StepLabel.css\";\n\nconst withBaseName = makePrefixer(\"saltStepLabel\");\n\nexport type StepLabelProps = ComponentPropsWithoutRef<\"label\">;\n\nexport const StepLabel = forwardRef<HTMLLabelElement, StepLabelProps>(\n function StepLabel({ children, className, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-step-label\",\n css: stepLabelCss,\n window: targetWindow,\n });\n\n return (\n <Label className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n <strong>{children}</strong>\n </Label>\n );\n }\n);\n"],"names":["StepLabel","stepLabelCss"],"mappings":";;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAI1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAASA,UAAU,CAAA,EAAE,UAAU,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACxD,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,iBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MAAM,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,MAC/D,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA;AAAA,QAAQ,QAAA;AAAA,OAAS,CAAA;AAAA,KACpB,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltSteppedTracker {\n margin: 0;\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n display: flex;\n flex-direction: row;\n gap: var(--salt-spacing-50);\n width: 100%;\n position: relative;\n}\n";
1
+ var css_248z = ".saltSteppedTracker {\n margin: 0;\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n display: flex;\n flex-direction: row;\n width: 100%;\n position: relative;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=SteppedTracker.css.js.map
@@ -1,10 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useState, Children, useEffect, isValidElement } from 'react';
2
+ import { forwardRef, Children, useEffect, isValidElement } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { useComponentCssInjection } from '@salt-ds/styles';
5
5
  import { useWindow } from '@salt-ds/window';
6
6
  import { makePrefixer } from '@salt-ds/core';
7
- import useDetectTruncatedText from './useDetectTruncatedText.js';
8
7
  import { SteppedTrackerProvider, TrackerStepProvider } from './SteppedTrackerContext.js';
9
8
  import css_248z from './SteppedTracker.css.js';
10
9
 
@@ -35,12 +34,8 @@ const SteppedTracker = forwardRef(
35
34
  window: targetWindow
36
35
  });
37
36
  useCheckInvalidChildren(children);
38
- const [hasTooltips, setHasTooltips] = useState(false);
39
- const getOverflowRef = useDetectTruncatedText(setHasTooltips);
40
37
  const totalSteps = Children.count(children);
41
38
  return /* @__PURE__ */ jsx(SteppedTrackerProvider, {
42
- hasTooltips,
43
- getOverflowRef,
44
39
  totalSteps,
45
40
  activeStep,
46
41
  children: /* @__PURE__ */ jsx("ul", {
@@ -1 +1 @@
1
- {"version":3,"file":"SteppedTracker.js","sources":["../src/stepped-tracker/SteppedTracker.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n ReactElement,\n ReactNode,\n Children,\n useState,\n isValidElement,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport useDetectTruncatedText from \"./useDetectTruncatedText\";\nimport {\n SteppedTrackerProvider,\n TrackerStepProvider,\n} from \"./SteppedTrackerContext\";\n\nimport steppedTrackerCss from \"./SteppedTracker.css\";\n\nconst withBaseName = makePrefixer(\"saltSteppedTracker\");\n\nexport interface SteppedTrackerProps extends ComponentPropsWithoutRef<\"ul\"> {\n /**\n * The index of the current activeStep\n */\n activeStep: number;\n /**\n * Should be one or more TrackerStep components\n */\n children: ReactNode;\n}\n\nconst useCheckInvalidChildren = (children: ReactNode) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n let hasInvalidChild = false;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n hasInvalidChild = true;\n }\n });\n\n if (hasInvalidChild) {\n console.error(\n \"Invalid child: children of SteppedTracker must be a TrackerStep component\"\n );\n }\n }\n }, [children]);\n};\n\nexport const SteppedTracker = forwardRef<HTMLUListElement, SteppedTrackerProps>(\n function SteppedTracker(\n { children, className, activeStep, ...restProps },\n ref?\n ): ReactElement<SteppedTrackerProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepped-tracker\",\n css: steppedTrackerCss,\n window: targetWindow,\n });\n\n useCheckInvalidChildren(children);\n const [hasTooltips, setHasTooltips] = useState(false);\n // A factory function used to get a callback ref for checking truncation.\n const getOverflowRef = useDetectTruncatedText(setHasTooltips);\n const totalSteps = Children.count(children);\n\n return (\n <SteppedTrackerProvider\n hasTooltips={hasTooltips}\n getOverflowRef={getOverflowRef}\n totalSteps={totalSteps}\n activeStep={activeStep}\n >\n <ul\n className={clsx(withBaseName(), className)}\n ref={ref}\n {...restProps}\n >\n {Children.map(children, (child, i) => (\n <TrackerStepProvider stepNumber={i}>{child}</TrackerStepProvider>\n ))}\n </ul>\n </SteppedTrackerProvider>\n );\n }\n);\n"],"names":["SteppedTracker","steppedTrackerCss"],"mappings":";;;;;;;;;;AAuBA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAatD,MAAM,uBAAA,GAA0B,CAAC,QAAwB,KAAA;AACvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAA,IAAI,eAAkB,GAAA,KAAA,CAAA;AACtB,MAAS,QAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,KAAU,KAAA;AACpC,QAAI,IAAA,CAAC,cAAe,CAAA,KAAK,CAAG,EAAA;AAC1B,UAAkB,eAAA,GAAA,IAAA,CAAA;AAAA,SACpB;AAAA,OACD,CAAA,CAAA;AAED,MAAA,IAAI,eAAiB,EAAA;AACnB,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN,2EAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AACf,CAAA,CAAA;AAEO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,gBACP,EAAE,QAAA,EAAU,WAAW,UAAe,EAAA,GAAA,SAAA,IACtC,GACmC,EAAA;AACnC,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBAAA,CAAwB,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAEpD,IAAM,MAAA,cAAA,GAAiB,uBAAuB,cAAc,CAAA,CAAA;AAC5D,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAE1C,IAAA,uBACG,GAAA,CAAA,sBAAA,EAAA;AAAA,MACC,WAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,QACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,GAAA;AAAA,QACC,GAAG,SAAA;AAAA,QAEH,mBAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAA,EAAO,sBAC7B,GAAA,CAAA,mBAAA,EAAA;AAAA,UAAoB,UAAY,EAAA,CAAA;AAAA,UAAI,QAAA,EAAA,KAAA;AAAA,SAAM,CAC5C,CAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"SteppedTracker.js","sources":["../src/stepped-tracker/SteppedTracker.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n ReactElement,\n ReactNode,\n Children,\n isValidElement,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport {\n SteppedTrackerProvider,\n TrackerStepProvider,\n} from \"./SteppedTrackerContext\";\n\nimport steppedTrackerCss from \"./SteppedTracker.css\";\n\nconst withBaseName = makePrefixer(\"saltSteppedTracker\");\n\nexport interface SteppedTrackerProps extends ComponentPropsWithoutRef<\"ul\"> {\n /**\n * The index of the current activeStep\n */\n activeStep: number;\n /**\n * Should be one or more TrackerStep components\n */\n children: ReactNode;\n}\n\nconst useCheckInvalidChildren = (children: ReactNode) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n let hasInvalidChild = false;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n hasInvalidChild = true;\n }\n });\n\n if (hasInvalidChild) {\n console.error(\n \"Invalid child: children of SteppedTracker must be a TrackerStep component\"\n );\n }\n }\n }, [children]);\n};\n\nexport const SteppedTracker = forwardRef<HTMLUListElement, SteppedTrackerProps>(\n function SteppedTracker(\n { children, className, activeStep, ...restProps },\n ref\n ): ReactElement<SteppedTrackerProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepped-tracker\",\n css: steppedTrackerCss,\n window: targetWindow,\n });\n useCheckInvalidChildren(children);\n\n const totalSteps = Children.count(children);\n\n return (\n <SteppedTrackerProvider totalSteps={totalSteps} activeStep={activeStep}>\n <ul\n className={clsx(withBaseName(), className)}\n ref={ref}\n {...restProps}\n >\n {Children.map(children, (child, i) => (\n <TrackerStepProvider stepNumber={i}>{child}</TrackerStepProvider>\n ))}\n </ul>\n </SteppedTrackerProvider>\n );\n }\n);\n"],"names":["SteppedTracker","steppedTrackerCss"],"mappings":";;;;;;;;;AAqBA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAatD,MAAM,uBAAA,GAA0B,CAAC,QAAwB,KAAA;AACvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAA,IAAI,eAAkB,GAAA,KAAA,CAAA;AACtB,MAAS,QAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,KAAU,KAAA;AACpC,QAAI,IAAA,CAAC,cAAe,CAAA,KAAK,CAAG,EAAA;AAC1B,UAAkB,eAAA,GAAA,IAAA,CAAA;AAAA,SACpB;AAAA,OACD,CAAA,CAAA;AAED,MAAA,IAAI,eAAiB,EAAA;AACnB,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN,2EAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AACf,CAAA,CAAA;AAEO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,gBACP,EAAE,QAAA,EAAU,WAAW,UAAe,EAAA,GAAA,SAAA,IACtC,GACmC,EAAA;AACnC,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,uBAAA,CAAwB,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAE1C,IAAA,uBACG,GAAA,CAAA,sBAAA,EAAA;AAAA,MAAuB,UAAA;AAAA,MAAwB,UAAA;AAAA,MAC9C,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,QACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,GAAA;AAAA,QACC,GAAG,SAAA;AAAA,QAEH,mBAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAA,EAAO,sBAC7B,GAAA,CAAA,mBAAA,EAAA;AAAA,UAAoB,UAAY,EAAA,CAAA;AAAA,UAAI,QAAA,EAAA,KAAA;AAAA,SAAM,CAC5C,CAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -3,9 +3,7 @@ import { createContext, useMemo, useContext } from 'react';
3
3
 
4
4
  const defaultSteppedTrackerContext = {
5
5
  activeStep: 0,
6
- hasTooltips: false,
7
6
  totalSteps: 1,
8
- getOverflowRef: () => void 0,
9
7
  isWithinSteppedTracker: false
10
8
  };
11
9
  const SteppedTrackerContext = createContext(
@@ -13,20 +11,16 @@ const SteppedTrackerContext = createContext(
13
11
  );
14
12
  const SteppedTrackerProvider = ({
15
13
  activeStep,
16
- getOverflowRef,
17
- hasTooltips,
18
14
  totalSteps,
19
15
  children
20
16
  }) => {
21
17
  const steppedTrackerContextValue = useMemo(
22
18
  () => ({
23
19
  activeStep,
24
- getOverflowRef,
25
- hasTooltips,
26
20
  totalSteps,
27
21
  isWithinSteppedTracker: true
28
22
  }),
29
- [activeStep, getOverflowRef, hasTooltips, totalSteps]
23
+ [activeStep, totalSteps]
30
24
  );
31
25
  return /* @__PURE__ */ jsx(SteppedTrackerContext.Provider, {
32
26
  value: steppedTrackerContextValue,
@@ -1 +1 @@
1
- {"version":3,"file":"SteppedTrackerContext.js","sources":["../src/stepped-tracker/SteppedTrackerContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useMemo } from \"react\";\n\nimport { GetOverflowRef } from \"./useDetectTruncatedText\";\n\nexport type SteppedTrackerContextType = {\n activeStep: number;\n getOverflowRef: GetOverflowRef;\n hasTooltips: boolean;\n totalSteps: number;\n isWithinSteppedTracker: boolean;\n};\n\nconst defaultSteppedTrackerContext = {\n activeStep: 0,\n hasTooltips: false,\n totalSteps: 1,\n getOverflowRef: () => undefined,\n isWithinSteppedTracker: false,\n};\n\nconst SteppedTrackerContext = createContext(\n defaultSteppedTrackerContext as unknown as SteppedTrackerContextType\n);\n\ntype SteppedTrackerProviderProps = Omit<\n SteppedTrackerContextType,\n \"isWithinSteppedTracker\"\n> & {\n children: ReactNode;\n};\n\nexport const SteppedTrackerProvider = ({\n activeStep,\n getOverflowRef,\n hasTooltips,\n totalSteps,\n children,\n}: SteppedTrackerProviderProps) => {\n const steppedTrackerContextValue: SteppedTrackerContextType = useMemo(\n () => ({\n activeStep,\n getOverflowRef,\n hasTooltips,\n totalSteps,\n isWithinSteppedTracker: true,\n }),\n [activeStep, getOverflowRef, hasTooltips, totalSteps]\n );\n\n return (\n <SteppedTrackerContext.Provider value={steppedTrackerContextValue}>\n {children}\n </SteppedTrackerContext.Provider>\n );\n};\n\nexport const useSteppedTrackerContext = () => useContext(SteppedTrackerContext);\n\ntype TrackerStepNumberContextType = number;\n\nconst TrackerStepContext = createContext<TrackerStepNumberContextType>(0);\n\nexport const useTrackerStepContext = () => useContext(TrackerStepContext);\n\ntype TrackerStepProivderProps = {\n stepNumber: number;\n children: ReactNode;\n};\n\nexport const TrackerStepProvider = ({\n children,\n stepNumber,\n}: TrackerStepProivderProps) => {\n return (\n <TrackerStepContext.Provider value={stepNumber}>\n {children}\n </TrackerStepContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;AAYA,MAAM,4BAA+B,GAAA;AAAA,EACnC,UAAY,EAAA,CAAA;AAAA,EACZ,WAAa,EAAA,KAAA;AAAA,EACb,UAAY,EAAA,CAAA;AAAA,EACZ,gBAAgB,MAAM,KAAA,CAAA;AAAA,EACtB,sBAAwB,EAAA,KAAA;AAC1B,CAAA,CAAA;AAEA,MAAM,qBAAwB,GAAA,aAAA;AAAA,EAC5B,4BAAA;AACF,CAAA,CAAA;AASO,MAAM,yBAAyB,CAAC;AAAA,EACrC,UAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,0BAAwD,GAAA,OAAA;AAAA,IAC5D,OAAO;AAAA,MACL,UAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,sBAAwB,EAAA,IAAA;AAAA,KAC1B,CAAA;AAAA,IACA,CAAC,UAAA,EAAY,cAAgB,EAAA,WAAA,EAAa,UAAU,CAAA;AAAA,GACtD,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,sBAAsB,QAAtB,EAAA;AAAA,IAA+B,KAAO,EAAA,0BAAA;AAAA,IACpC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEa,MAAA,wBAAA,GAA2B,MAAM,UAAA,CAAW,qBAAqB,EAAA;AAI9E,MAAM,kBAAA,GAAqB,cAA4C,CAAC,CAAA,CAAA;AAE3D,MAAA,qBAAA,GAAwB,MAAM,UAAA,CAAW,kBAAkB,EAAA;AAOjE,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,UAAA;AACF,CAAgC,KAAA;AAC9B,EACE,uBAAA,GAAA,CAAC,mBAAmB,QAAnB,EAAA;AAAA,IAA4B,KAAO,EAAA,UAAA;AAAA,IACjC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SteppedTrackerContext.js","sources":["../src/stepped-tracker/SteppedTrackerContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useMemo } from \"react\";\n\nexport type SteppedTrackerContextType = {\n activeStep: number;\n totalSteps: number;\n isWithinSteppedTracker: boolean;\n};\n\nconst defaultSteppedTrackerContext = {\n activeStep: 0,\n totalSteps: 1,\n isWithinSteppedTracker: false,\n};\n\nconst SteppedTrackerContext = createContext(\n defaultSteppedTrackerContext as unknown as SteppedTrackerContextType\n);\n\ntype SteppedTrackerProviderProps = Omit<\n SteppedTrackerContextType,\n \"isWithinSteppedTracker\"\n> & {\n children: ReactNode;\n};\n\nexport const SteppedTrackerProvider = ({\n activeStep,\n totalSteps,\n children,\n}: SteppedTrackerProviderProps) => {\n const steppedTrackerContextValue: SteppedTrackerContextType = useMemo(\n () => ({\n activeStep,\n totalSteps,\n isWithinSteppedTracker: true,\n }),\n [activeStep, totalSteps]\n );\n\n return (\n <SteppedTrackerContext.Provider value={steppedTrackerContextValue}>\n {children}\n </SteppedTrackerContext.Provider>\n );\n};\n\nexport const useSteppedTrackerContext = () => useContext(SteppedTrackerContext);\n\ntype TrackerStepNumberContextType = number;\n\nconst TrackerStepContext = createContext<TrackerStepNumberContextType>(0);\n\nexport const useTrackerStepContext = () => useContext(TrackerStepContext);\n\ntype TrackerStepProivderProps = {\n stepNumber: number;\n children: ReactNode;\n};\n\nexport const TrackerStepProvider = ({\n children,\n stepNumber,\n}: TrackerStepProivderProps) => {\n return (\n <TrackerStepContext.Provider value={stepNumber}>\n {children}\n </TrackerStepContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;AAQA,MAAM,4BAA+B,GAAA;AAAA,EACnC,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,sBAAwB,EAAA,KAAA;AAC1B,CAAA,CAAA;AAEA,MAAM,qBAAwB,GAAA,aAAA;AAAA,EAC5B,4BAAA;AACF,CAAA,CAAA;AASO,MAAM,yBAAyB,CAAC;AAAA,EACrC,UAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,0BAAwD,GAAA,OAAA;AAAA,IAC5D,OAAO;AAAA,MACL,UAAA;AAAA,MACA,UAAA;AAAA,MACA,sBAAwB,EAAA,IAAA;AAAA,KAC1B,CAAA;AAAA,IACA,CAAC,YAAY,UAAU,CAAA;AAAA,GACzB,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,sBAAsB,QAAtB,EAAA;AAAA,IAA+B,KAAO,EAAA,0BAAA;AAAA,IACpC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEa,MAAA,wBAAA,GAA2B,MAAM,UAAA,CAAW,qBAAqB,EAAA;AAI9E,MAAM,kBAAA,GAAqB,cAA4C,CAAC,CAAA,CAAA;AAE3D,MAAA,qBAAA,GAAwB,MAAM,UAAA,CAAW,kBAAkB,EAAA;AAOjE,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,UAAA;AACF,CAAgC,KAAA;AAC9B,EACE,uBAAA,GAAA,CAAC,mBAAmB,QAAnB,EAAA;AAAA,IAA4B,KAAO,EAAA,UAAA;AAAA,IACjC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltTrackerConnector {\n --trackerConnector-style-default: var(--saltTrackerConnector-style-default, var(--salt-track-borderStyle-incomplete));\n --trackerConnector-style-active: var(--saltTrackerConnector-style-active, var(--salt-track-borderStyle-active));\n --trackerConnector-color: var(--saltTrackerConnector-color, var(--salt-track-borderColor));\n --trackerConnector-thickness: var(--saltTrackerConnector-thickness, var(--salt-track-borderWidth));\n --trackerConnector-margin: var(--saltTrackerConnector-margin, var(--salt-spacing-100));\n}\n\n.saltTrackerConnector {\n height: 0;\n border-top-width: var(--trackerConnector-thickness);\n border-top-style: var(--trackerConnector-style-default);\n border-top-color: var(--trackerConnector-color);\n position: absolute;\n width: calc(100% - (var(--saltIcon-size)) - (var(--trackerConnector-margin) * 2));\n left: calc(50% + (var(--saltIcon-size) / 2) + var(--trackerConnector-margin));\n top: calc(var(--saltIcon-size) / 2);\n}\n\n.saltTrackerConnector.saltTrackerConnector-active {\n border-top-style: var(--trackerConnector-style-active);\n}\n";
1
+ var css_248z = ".saltTrackerConnector {\n --trackerConnector-style-default: var(--saltTrackerConnector-style-default, var(--salt-track-borderStyle-incomplete));\n --trackerConnector-style-active: var(--saltTrackerConnector-style-active, var(--salt-track-borderStyle-active));\n --trackerConnector-color: var(--saltTrackerConnector-color, var(--salt-track-borderColor));\n --trackerConnector-thickness: var(--saltTrackerConnector-thickness, var(--salt-track-borderWidth));\n --trackerConnector-margin: var(--saltTrackerConnector-margin, var(--salt-spacing-100));\n}\n\n.saltTrackerConnector {\n height: 0;\n border-top-width: var(--trackerConnector-thickness);\n border-top-style: var(--trackerConnector-style-default);\n border-top-color: var(--trackerConnector-color);\n position: absolute;\n width: calc(100% - (var(--saltIcon-size)) - (var(--trackerConnector-margin) * 2));\n left: calc(50% + (var(--saltIcon-size) / 2) + var(--trackerConnector-margin));\n top: calc(var(--saltIcon-size) / 2 - (var(--trackerConnector-thickness) / 2));\n}\n\n.saltTrackerConnector.saltTrackerConnector-active {\n border-top-style: var(--trackerConnector-style-active);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=TrackerConnector.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltTrackerStep {\n --trackerStep-icon-color-active: var(--saltTrackerStep-icon-color-active, var(--salt-status-info-foreground));\n --trackerStep-icon-color-completed: var(--saltTrackerStep-icon-color-completed, var(--salt-status-success-foreground));\n\n --trackerStep-icon-color: var(--saltTrackerStep-icon-color, var(--salt-status-static-foreground));\n\n --saltIcon-color: var(--trackerStep-icon-color);\n /* We redefine Icon Size so we can use it in calc functions in the trackerConnector */\n --saltIcon-size: var(--saltTrackerStep-icon-size, max(var(--salt-icon-size-base), 12px));\n}\n\n.saltTrackerStep {\n margin: 0;\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n flex: 1;\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n width: var(--saltTrackerStep-width, 100%);\n gap: var(--salt-spacing-50);\n color: var(--salt-text-primary-foreground);\n font-size: var(--salt-text-label-fontSize);\n line-height: var(--salt-text-label-lineHeight);\n}\n\n/* Pseudo-class applied to the root element on focus */\n.saltTrackerStep:focus-visible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltTrackerStep .saltTrackerStep-body {\n width: 100%;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.saltTrackerStep.saltTrackerStep-active {\n --trackerStep-icon-color: var(--trackerStep-icon-color-active);\n}\n\n.saltTrackerStep.saltTrackerStep-completed {\n --trackerStep-icon-color: var(--trackerStep-icon-color-completed);\n}\n";
1
+ var css_248z = ".saltTrackerStep {\n --trackerStep-icon-color-active: var(--saltTrackerStep-icon-color-active, var(--salt-status-info-foreground));\n --trackerStep-icon-color-completed: var(--saltTrackerStep-icon-color-completed, var(--salt-status-success-foreground));\n\n --trackerStep-icon-color: var(--saltTrackerStep-icon-color, var(--salt-status-static-foreground));\n\n --saltIcon-color: var(--trackerStep-icon-color);\n /* We redefine Icon Size so we can use it in calc functions in the trackerConnector */\n --saltIcon-size: var(--saltTrackerStep-icon-size, max(var(--salt-icon-size-base), 12px));\n}\n\n.saltTrackerStep {\n margin: 0;\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n flex: 1;\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n width: var(--saltTrackerStep-width, 100%);\n gap: var(--salt-spacing-50);\n color: var(--salt-text-primary-foreground);\n font-size: var(--salt-text-label-fontSize);\n line-height: var(--salt-text-label-lineHeight);\n padding: 0 var(--salt-spacing-25);\n}\n\n/* Pseudo-class applied to the root element on focus */\n.saltTrackerStep:focus-visible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltTrackerStep .saltTrackerStep-body {\n width: 100%;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.saltTrackerStep.saltTrackerStep-active {\n --trackerStep-icon-color: var(--trackerStep-icon-color-active);\n}\n\n.saltTrackerStep.saltTrackerStep-completed {\n --trackerStep-icon-color: var(--trackerStep-icon-color-completed);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=TrackerStep.css.js.map
@@ -3,12 +3,11 @@ import { forwardRef, useEffect } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { useComponentCssInjection } from '@salt-ds/styles';
5
5
  import { useWindow } from '@salt-ds/window';
6
- import { makePrefixer, Tooltip } from '@salt-ds/core';
6
+ import { makePrefixer } from '@salt-ds/core';
7
7
  import { StepActiveIcon, StepDefaultIcon, StepSuccessIcon } from '@salt-ds/icons';
8
8
  import { TrackerConnector } from '../TrackerConnector/TrackerConnector.js';
9
9
  import { useSteppedTrackerContext, useTrackerStepContext } from '../SteppedTrackerContext.js';
10
10
  import css_248z from './TrackerStep.css.js';
11
- import { TrackStepTooltipProvider } from './TrackerStepTooltipContext.js';
12
11
 
13
12
  const withBaseName = makePrefixer("saltTrackerStep");
14
13
  const iconMap = {
@@ -59,7 +58,7 @@ const TrackerStep = forwardRef(
59
58
  css: css_248z,
60
59
  window: targetWindow
61
60
  });
62
- const { activeStep, totalSteps, hasTooltips, isWithinSteppedTracker } = useSteppedTrackerContext();
61
+ const { activeStep, totalSteps, isWithinSteppedTracker } = useSteppedTrackerContext();
63
62
  const stepNumber = useTrackerStepContext();
64
63
  useCheckWithinSteppedTracker(isWithinSteppedTracker);
65
64
  const isActive = activeStep === stepNumber;
@@ -71,10 +70,9 @@ const TrackerStep = forwardRef(
71
70
  ...style,
72
71
  "--saltTrackerStep-width": `${100 / totalSteps}%`
73
72
  };
74
- const Inner = /* @__PURE__ */ jsxs("li", {
73
+ return /* @__PURE__ */ jsxs("li", {
75
74
  className: clsx(withBaseName(), withBaseName(resolvedState), className),
76
75
  style: innerStyle,
77
- tabIndex: hasTooltips ? 0 : void 0,
78
76
  "aria-current": isActive ? "step" : void 0,
79
77
  "data-state": state,
80
78
  ref,
@@ -90,16 +88,6 @@ const TrackerStep = forwardRef(
90
88
  })
91
89
  ]
92
90
  });
93
- if (!hasTooltips) {
94
- return Inner;
95
- }
96
- return /* @__PURE__ */ jsx(Tooltip, {
97
- placement: "top",
98
- content: /* @__PURE__ */ jsx(TrackStepTooltipProvider, {
99
- children
100
- }),
101
- children: Inner
102
- });
103
91
  }
104
92
  );
105
93