@salt-ds/lab 1.0.0-alpha.57 → 1.0.0-alpha.59

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 (198) hide show
  1. package/CHANGELOG.md +301 -0
  2. package/css/salt-lab.css +192 -163
  3. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
  4. package/dist-cjs/date-picker/DatePicker.js +3 -2
  5. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  6. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +5 -2
  7. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  8. package/dist-cjs/date-picker/DatePickerRangeInput.js +3 -3
  9. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  10. package/dist-cjs/date-picker/DatePickerSingleInput.js +2 -2
  11. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  12. package/dist-cjs/dialog/DialogHeader.css.js +1 -1
  13. package/dist-cjs/dialog/DialogHeader.js +2 -2
  14. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  15. package/dist-cjs/index.js +4 -8
  16. package/dist-cjs/index.js.map +1 -1
  17. package/dist-cjs/overlay/OverlayHeader.css.js +1 -1
  18. package/dist-cjs/overlay/OverlayHeader.js +2 -2
  19. package/dist-cjs/overlay/OverlayHeader.js.map +1 -1
  20. package/dist-cjs/stepped-tracker/Step.Connector.css.js +6 -0
  21. package/dist-cjs/stepped-tracker/Step.Connector.css.js.map +1 -0
  22. package/dist-cjs/stepped-tracker/Step.Connector.js +21 -0
  23. package/dist-cjs/stepped-tracker/Step.Connector.js.map +1 -0
  24. package/dist-cjs/stepped-tracker/Step.Description.css.js +6 -0
  25. package/dist-cjs/stepped-tracker/Step.Description.css.js.map +1 -0
  26. package/dist-cjs/stepped-tracker/Step.Description.js +35 -0
  27. package/dist-cjs/stepped-tracker/Step.Description.js.map +1 -0
  28. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js +6 -0
  29. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js.map +1 -0
  30. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js +38 -0
  31. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js.map +1 -0
  32. package/dist-cjs/stepped-tracker/Step.Icon.css.js +6 -0
  33. package/dist-cjs/stepped-tracker/Step.Icon.css.js.map +1 -0
  34. package/dist-cjs/stepped-tracker/Step.Icon.js +57 -0
  35. package/dist-cjs/stepped-tracker/Step.Icon.js.map +1 -0
  36. package/dist-cjs/stepped-tracker/Step.Label.css.js +6 -0
  37. package/dist-cjs/stepped-tracker/Step.Label.css.js.map +1 -0
  38. package/dist-cjs/stepped-tracker/Step.Label.js +37 -0
  39. package/dist-cjs/stepped-tracker/Step.Label.js.map +1 -0
  40. package/dist-cjs/stepped-tracker/Step.SROnly.css.js +6 -0
  41. package/dist-cjs/stepped-tracker/Step.SROnly.css.js.map +1 -0
  42. package/dist-cjs/stepped-tracker/Step.SROnly.js +21 -0
  43. package/dist-cjs/stepped-tracker/Step.SROnly.js.map +1 -0
  44. package/dist-cjs/stepped-tracker/Step.css.js +6 -0
  45. package/dist-cjs/stepped-tracker/Step.css.js.map +1 -0
  46. package/dist-cjs/stepped-tracker/Step.js +161 -0
  47. package/dist-cjs/stepped-tracker/Step.js.map +1 -0
  48. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js +19 -0
  49. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js.map +1 -0
  50. package/dist-cjs/stepped-tracker/SteppedTracker.css.js +1 -1
  51. package/dist-cjs/stepped-tracker/SteppedTracker.js +10 -33
  52. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  53. package/dist-cjs/stepped-tracker/stepReducer.js +109 -0
  54. package/dist-cjs/stepped-tracker/stepReducer.js.map +1 -0
  55. package/dist-cjs/stepped-tracker/useStepReducer.js +16 -0
  56. package/dist-cjs/stepped-tracker/useStepReducer.js.map +1 -0
  57. package/dist-cjs/stepped-tracker/utils.js +86 -0
  58. package/dist-cjs/stepped-tracker/utils.js.map +1 -0
  59. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  60. package/dist-es/date-picker/DatePicker.js +3 -2
  61. package/dist-es/date-picker/DatePicker.js.map +1 -1
  62. package/dist-es/date-picker/DatePickerOverlayProvider.js +5 -2
  63. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  64. package/dist-es/date-picker/DatePickerRangeInput.js +4 -4
  65. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  66. package/dist-es/date-picker/DatePickerSingleInput.js +3 -3
  67. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  68. package/dist-es/dialog/DialogHeader.css.js +1 -1
  69. package/dist-es/dialog/DialogHeader.js +3 -3
  70. package/dist-es/dialog/DialogHeader.js.map +1 -1
  71. package/dist-es/index.js +2 -4
  72. package/dist-es/index.js.map +1 -1
  73. package/dist-es/overlay/OverlayHeader.css.js +1 -1
  74. package/dist-es/overlay/OverlayHeader.js +3 -3
  75. package/dist-es/overlay/OverlayHeader.js.map +1 -1
  76. package/dist-es/stepped-tracker/Step.Connector.css.js +4 -0
  77. package/dist-es/stepped-tracker/Step.Connector.css.js.map +1 -0
  78. package/dist-es/stepped-tracker/Step.Connector.js +19 -0
  79. package/dist-es/stepped-tracker/Step.Connector.js.map +1 -0
  80. package/dist-es/stepped-tracker/Step.Description.css.js +4 -0
  81. package/dist-es/stepped-tracker/Step.Description.css.js.map +1 -0
  82. package/dist-es/stepped-tracker/Step.Description.js +33 -0
  83. package/dist-es/stepped-tracker/Step.Description.js.map +1 -0
  84. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js +4 -0
  85. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js.map +1 -0
  86. package/dist-es/stepped-tracker/Step.ExpandTrigger.js +36 -0
  87. package/dist-es/stepped-tracker/Step.ExpandTrigger.js.map +1 -0
  88. package/dist-es/stepped-tracker/Step.Icon.css.js +4 -0
  89. package/dist-es/stepped-tracker/Step.Icon.css.js.map +1 -0
  90. package/dist-es/stepped-tracker/Step.Icon.js +55 -0
  91. package/dist-es/stepped-tracker/Step.Icon.js.map +1 -0
  92. package/dist-es/stepped-tracker/Step.Label.css.js +4 -0
  93. package/dist-es/stepped-tracker/Step.Label.css.js.map +1 -0
  94. package/dist-es/stepped-tracker/Step.Label.js +35 -0
  95. package/dist-es/stepped-tracker/Step.Label.js.map +1 -0
  96. package/dist-es/stepped-tracker/Step.SROnly.css.js +4 -0
  97. package/dist-es/stepped-tracker/Step.SROnly.css.js.map +1 -0
  98. package/dist-es/stepped-tracker/Step.SROnly.js +19 -0
  99. package/dist-es/stepped-tracker/Step.SROnly.js.map +1 -0
  100. package/dist-es/stepped-tracker/Step.css.js +4 -0
  101. package/dist-es/stepped-tracker/Step.css.js.map +1 -0
  102. package/dist-es/stepped-tracker/Step.js +159 -0
  103. package/dist-es/stepped-tracker/Step.js.map +1 -0
  104. package/dist-es/stepped-tracker/SteppedTracker.Provider.js +15 -0
  105. package/dist-es/stepped-tracker/SteppedTracker.Provider.js.map +1 -0
  106. package/dist-es/stepped-tracker/SteppedTracker.css.js +1 -1
  107. package/dist-es/stepped-tracker/SteppedTracker.js +11 -34
  108. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  109. package/dist-es/stepped-tracker/stepReducer.js +107 -0
  110. package/dist-es/stepped-tracker/stepReducer.js.map +1 -0
  111. package/dist-es/stepped-tracker/useStepReducer.js +14 -0
  112. package/dist-es/stepped-tracker/useStepReducer.js.map +1 -0
  113. package/dist-es/stepped-tracker/utils.js +80 -0
  114. package/dist-es/stepped-tracker/utils.js.map +1 -0
  115. package/dist-types/date-picker/DatePicker.d.ts +1 -1
  116. package/dist-types/date-picker/DatePickerActions.d.ts +2 -2
  117. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +4 -0
  118. package/dist-types/date-picker/DatePickerRangeInput.d.ts +1 -1
  119. package/dist-types/date-picker/DatePickerRangePanel.d.ts +1 -1
  120. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +1 -1
  121. package/dist-types/index.d.ts +0 -1
  122. package/dist-types/localization-provider/LocalizationProvider.d.ts +2 -2
  123. package/dist-types/stepped-tracker/Step.Connector.d.ts +1 -0
  124. package/dist-types/stepped-tracker/Step.Description.d.ts +4 -0
  125. package/dist-types/stepped-tracker/Step.ExpandTrigger.d.ts +5 -0
  126. package/dist-types/stepped-tracker/Step.Icon.d.ts +8 -0
  127. package/dist-types/stepped-tracker/Step.Label.d.ts +4 -0
  128. package/dist-types/stepped-tracker/Step.SROnly.d.ts +5 -0
  129. package/dist-types/stepped-tracker/Step.d.ts +2 -0
  130. package/dist-types/stepped-tracker/Step.types.d.ts +21 -0
  131. package/dist-types/stepped-tracker/SteppedTracker.Provider.d.ts +9 -0
  132. package/dist-types/stepped-tracker/SteppedTracker.d.ts +2 -16
  133. package/dist-types/stepped-tracker/SteppedTracker.types.d.ts +6 -0
  134. package/dist-types/stepped-tracker/index.d.ts +5 -2
  135. package/dist-types/stepped-tracker/stepReducer.d.ts +2 -0
  136. package/dist-types/stepped-tracker/stepReducer.types.d.ts +25 -0
  137. package/dist-types/stepped-tracker/useStepReducer.d.ts +3 -0
  138. package/dist-types/stepped-tracker/utils.d.ts +7 -0
  139. package/package.json +15 -13
  140. package/dist-cjs/skip-link/SkipLink.css.js +0 -6
  141. package/dist-cjs/skip-link/SkipLink.css.js.map +0 -1
  142. package/dist-cjs/skip-link/SkipLink.js +0 -36
  143. package/dist-cjs/skip-link/SkipLink.js.map +0 -1
  144. package/dist-cjs/skip-link/SkipLinks.css.js +0 -6
  145. package/dist-cjs/skip-link/SkipLinks.css.js.map +0 -1
  146. package/dist-cjs/skip-link/SkipLinks.js +0 -24
  147. package/dist-cjs/skip-link/SkipLinks.js.map +0 -1
  148. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +0 -59
  149. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +0 -1
  150. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js +0 -6
  151. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js.map +0 -1
  152. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +0 -25
  153. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +0 -1
  154. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +0 -43
  155. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +0 -1
  156. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +0 -6
  157. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +0 -1
  158. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js +0 -22
  159. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js.map +0 -1
  160. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js +0 -6
  161. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js.map +0 -1
  162. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +0 -96
  163. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +0 -1
  164. package/dist-es/skip-link/SkipLink.css.js +0 -4
  165. package/dist-es/skip-link/SkipLink.css.js.map +0 -1
  166. package/dist-es/skip-link/SkipLink.js +0 -34
  167. package/dist-es/skip-link/SkipLink.js.map +0 -1
  168. package/dist-es/skip-link/SkipLinks.css.js +0 -4
  169. package/dist-es/skip-link/SkipLinks.css.js.map +0 -1
  170. package/dist-es/skip-link/SkipLinks.js +0 -22
  171. package/dist-es/skip-link/SkipLinks.js.map +0 -1
  172. package/dist-es/skip-link/internal/useManageFocusOnTarget.js +0 -57
  173. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +0 -1
  174. package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js +0 -4
  175. package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js.map +0 -1
  176. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +0 -23
  177. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +0 -1
  178. package/dist-es/stepped-tracker/SteppedTrackerContext.js +0 -38
  179. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +0 -1
  180. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +0 -4
  181. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +0 -1
  182. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js +0 -20
  183. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js.map +0 -1
  184. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js +0 -4
  185. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js.map +0 -1
  186. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +0 -94
  187. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +0 -1
  188. package/dist-types/skip-link/SkipLink.d.ts +0 -15
  189. package/dist-types/skip-link/SkipLinks.d.ts +0 -2
  190. package/dist-types/skip-link/index.d.ts +0 -2
  191. package/dist-types/skip-link/internal/useManageFocusOnTarget.d.ts +0 -10
  192. package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +0 -9
  193. package/dist-types/stepped-tracker/StepLabel/index.d.ts +0 -1
  194. package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +0 -18
  195. package/dist-types/stepped-tracker/TrackerConnector/TrackerConnector.d.ts +0 -9
  196. package/dist-types/stepped-tracker/TrackerConnector/index.d.ts +0 -1
  197. package/dist-types/stepped-tracker/TrackerStep/TrackerStep.d.ts +0 -18
  198. package/dist-types/stepped-tracker/TrackerStep/index.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrackerConnector.js","sources":["../src/stepped-tracker/TrackerConnector/TrackerConnector.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport trackerConnectorCss from \"./TrackerConnector.css\";\n\nconst withBaseName = makePrefixer(\"saltTrackerConnector\");\n\ntype ConnectorState = \"default\" | \"active\";\n\ninterface TrackerConnectorProps {\n /**\n * The state of the connector, which acts as an indicator of whether the active step is ahead/behind\n */\n state: ConnectorState;\n}\n\nexport const TrackerConnector = ({ state }: TrackerConnectorProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tracker-connector\",\n css: trackerConnectorCss,\n window: targetWindow,\n });\n\n return <span className={clsx(withBaseName(), withBaseName(state))} />;\n};\n"],"names":["trackerConnectorCss"],"mappings":";;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA;AAWjD,MAAM,gBAAmB,GAAA,CAAC,EAAE,KAAA,EAAmC,KAAA;AACpE,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAO,uBAAA,GAAA,CAAC,UAAK,SAAW,EAAA,IAAA,CAAK,cAAgB,EAAA,YAAA,CAAa,KAAK,CAAC,CAAG,EAAA,CAAA;AACrE;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltTrackerStep {\n --trackerStep-icon-color-active: var(--saltTrackerStep-icon-color-active, var(--salt-status-info-foreground-decorative));\n --trackerStep-icon-color-completed: var(--saltTrackerStep-icon-color-completed, var(--salt-status-success-foreground-decorative));\n --trackerStep-icon-color-warning: var(--saltTrackerStep-icon-color-warning, var(--salt-status-warning-foreground-decorative));\n --trackerStep-icon-color-error: var(--saltTrackerStep-icon-color-error, var(--salt-status-error-foreground-decorative));\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-size-icon), 12px));\n}\n\n.saltTrackerStep {\n margin: 0;\n text-indent: 0;\n list-style-type: none;\n flex: 1;\n position: relative;\n display: flex;\n align-items: center;\n width: var(--saltTrackerStep-width, 100%);\n gap: var(--salt-spacing-50);\n color: var(--salt-content-primary-foreground);\n font-size: var(--salt-text-label-fontSize);\n line-height: var(--salt-text-label-lineHeight);\n}\n\n.saltSteppedTracker.saltSteppedTracker-horizontal .saltTrackerStep {\n flex-direction: column;\n padding: 0 var(--salt-spacing-25);\n}\n\n.saltSteppedTracker.saltSteppedTracker-vertical .saltTrackerStep {\n flex-direction: row;\n min-height: calc(var(--salt-size-base) * 2);\n width: 100%;\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-status-warning {\n --trackerStep-icon-color: var(--trackerStep-icon-color-warning);\n}\n\n.saltTrackerStep.saltTrackerStep-status-error {\n --trackerStep-icon-color: var(--trackerStep-icon-color-error);\n}\n\n.saltTrackerStep.saltTrackerStep-active {\n --trackerStep-icon-color: var(--trackerStep-icon-color-active);\n}\n\n.saltTrackerStep.saltTrackerStep-stage-completed {\n --trackerStep-icon-color: var(--trackerStep-icon-color-completed);\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=TrackerStep.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrackerStep.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,94 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { makePrefixer, useIcon } from '@salt-ds/core';
3
- import { useComponentCssInjection } from '@salt-ds/styles';
4
- import { useWindow } from '@salt-ds/window';
5
- import { clsx } from 'clsx';
6
- import { forwardRef, useEffect } from 'react';
7
- import { TrackerConnector } from '../TrackerConnector/TrackerConnector.js';
8
- import { useSteppedTrackerContext, useTrackerStepContext } from '../SteppedTrackerContext.js';
9
- import css_248z from './TrackerStep.css.js';
10
-
11
- const withBaseName = makePrefixer("saltTrackerStep");
12
- const useCheckWithinSteppedTracker = (isWithinSteppedTracker) => {
13
- useEffect(() => {
14
- if (process.env.NODE_ENV !== "production") {
15
- if (!isWithinSteppedTracker) {
16
- console.error(
17
- "The TrackerStep component must be placed within a SteppedTracker component"
18
- );
19
- }
20
- }
21
- }, [isWithinSteppedTracker]);
22
- };
23
- const parseIconName = ({
24
- stage,
25
- status,
26
- active
27
- }) => {
28
- if (stage === "completed") return "completed";
29
- if (active) return "active";
30
- if (status) return status;
31
- return stage;
32
- };
33
- const TrackerStep = forwardRef(
34
- function TrackerStep2(props, ref) {
35
- const {
36
- stage = "pending",
37
- status,
38
- style,
39
- className,
40
- children,
41
- ...restProps
42
- } = props;
43
- const targetWindow = useWindow();
44
- useComponentCssInjection({
45
- testId: "salt-tracker-step",
46
- css: css_248z,
47
- window: targetWindow
48
- });
49
- const { ErrorIcon, WarningIcon, CompletedIcon, ActiveIcon, PendingIcon } = useIcon();
50
- const { activeStep, totalSteps, isWithinSteppedTracker } = useSteppedTrackerContext();
51
- const stepNumber = useTrackerStepContext();
52
- useCheckWithinSteppedTracker(isWithinSteppedTracker);
53
- const isActive = activeStep === stepNumber;
54
- const iconName = parseIconName({ stage, status, active: isActive });
55
- const iconMap = {
56
- pending: PendingIcon,
57
- active: ActiveIcon,
58
- completed: CompletedIcon,
59
- warning: WarningIcon,
60
- error: ErrorIcon
61
- };
62
- const Icon = iconMap[iconName];
63
- const connectorState = activeStep > stepNumber ? "active" : "default";
64
- const hasConnector = stepNumber < totalSteps - 1;
65
- const innerStyle = {
66
- ...style,
67
- "--saltTrackerStep-width": `${100 / totalSteps}%`
68
- };
69
- return /* @__PURE__ */ jsxs(
70
- "li",
71
- {
72
- className: clsx(
73
- withBaseName(),
74
- withBaseName(`stage-${stage}`),
75
- withBaseName(`status-${status}`),
76
- { [withBaseName("active")]: isActive },
77
- className
78
- ),
79
- style: innerStyle,
80
- "aria-current": isActive ? "step" : void 0,
81
- ref,
82
- ...restProps,
83
- children: [
84
- /* @__PURE__ */ jsx(Icon, {}),
85
- hasConnector && /* @__PURE__ */ jsx(TrackerConnector, { state: connectorState }),
86
- /* @__PURE__ */ jsx("div", { className: withBaseName("body"), children })
87
- ]
88
- }
89
- );
90
- }
91
- );
92
-
93
- export { TrackerStep };
94
- //# sourceMappingURL=TrackerStep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrackerStep.js","sources":["../src/stepped-tracker/TrackerStep/TrackerStep.tsx"],"sourcesContent":["import { type ValidationStatus, makePrefixer, useIcon } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef, useEffect } from \"react\";\nimport { TrackerConnector } from \"../TrackerConnector\";\n\nimport {\n useSteppedTrackerContext,\n useTrackerStepContext,\n} from \"../SteppedTrackerContext\";\n\nimport trackerStepCss from \"./TrackerStep.css\";\n\nconst withBaseName = makePrefixer(\"saltTrackerStep\");\n\ntype StageOptions = \"pending\" | \"completed\";\ntype StatusOptions = Extract<ValidationStatus, \"warning\" | \"error\">;\n\nexport interface TrackerStepProps extends ComponentPropsWithoutRef<\"li\"> {\n /**\n * The stage of the step: \"pending\" or \"completed\" (note, \"active\" is derived from \"activeStep\" in parent SteppedTracker component)\n */\n stage?: StageOptions;\n /**\n * The status of the step: warning or error\n *\n * If the stage is completed or active, the status prop will be ignored\n */\n status?: StatusOptions;\n}\n\nconst useCheckWithinSteppedTracker = (isWithinSteppedTracker: boolean) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isWithinSteppedTracker) {\n console.error(\n \"The TrackerStep component must be placed within a SteppedTracker component\",\n );\n }\n }\n }, [isWithinSteppedTracker]);\n};\n\nconst parseIconName = ({\n stage,\n status,\n active,\n}: {\n stage: StageOptions;\n status?: StatusOptions;\n active: boolean;\n}) => {\n if (stage === \"completed\") return \"completed\";\n if (active) return \"active\";\n if (status) return status;\n return stage;\n};\n\nexport const TrackerStep = forwardRef<HTMLLIElement, TrackerStepProps>(\n function TrackerStep(props, ref) {\n const {\n stage = \"pending\",\n status,\n style,\n className,\n children,\n ...restProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tracker-step\",\n css: trackerStepCss,\n window: targetWindow,\n });\n const { ErrorIcon, WarningIcon, CompletedIcon, ActiveIcon, PendingIcon } =\n useIcon();\n const { activeStep, totalSteps, isWithinSteppedTracker } =\n useSteppedTrackerContext();\n const stepNumber = useTrackerStepContext();\n\n useCheckWithinSteppedTracker(isWithinSteppedTracker);\n\n const isActive = activeStep === stepNumber;\n const iconName = parseIconName({ stage, status, active: isActive });\n const iconMap = {\n pending: PendingIcon,\n active: ActiveIcon,\n completed: CompletedIcon,\n warning: WarningIcon,\n error: ErrorIcon,\n };\n\n const Icon = iconMap[iconName];\n const connectorState = activeStep > stepNumber ? \"active\" : \"default\";\n const hasConnector = stepNumber < totalSteps - 1;\n\n const innerStyle = {\n ...style,\n \"--saltTrackerStep-width\": `${100 / totalSteps}%`,\n };\n\n return (\n <li\n className={clsx(\n withBaseName(),\n withBaseName(`stage-${stage}`),\n withBaseName(`status-${status}`),\n { [withBaseName(\"active\")]: isActive },\n className,\n )}\n style={innerStyle}\n aria-current={isActive ? \"step\" : undefined}\n ref={ref}\n {...restProps}\n >\n <Icon />\n {hasConnector && <TrackerConnector state={connectorState} />}\n <div className={withBaseName(\"body\")}>{children}</div>\n </li>\n );\n },\n);\n"],"names":["TrackerStep","trackerStepCss"],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { type LinkProps } from "@salt-ds/core";
2
- import { type RefObject } from "react";
3
- interface SkipLinkProps extends LinkProps {
4
- /**
5
- * This is a ref that has access to the target element.
6
- *
7
- * This will be used to apply focus to that element
8
- *
9
- * Refs are referentially stable so if this changes it won't be picked up
10
- * will need to find a better way of passing in the target element to apply the attributes
11
- */
12
- targetRef?: RefObject<HTMLElement>;
13
- }
14
- export declare const SkipLink: import("react").ForwardRefExoticComponent<Omit<SkipLinkProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
15
- export {};
@@ -1,2 +0,0 @@
1
- import { type HTMLAttributes } from "react";
2
- export declare const SkipLinks: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
@@ -1,2 +0,0 @@
1
- export * from "./SkipLink";
2
- export * from "./SkipLinks";
@@ -1,10 +0,0 @@
1
- /// <reference types="cypress" />
2
- /// <reference types="node" />
3
- import { type RefObject } from "react";
4
- export declare const useManageFocusOnTarget: ({ targetRef, targetClass, }: {
5
- targetRef: RefObject<HTMLElement> | undefined;
6
- targetClass: string;
7
- }) => {
8
- onBlur: () => NodeJS.Timeout;
9
- onClick: () => void;
10
- } | Record<string, undefined>;
@@ -1,9 +0,0 @@
1
- import { type TextProps } from "@salt-ds/core";
2
- import { type ReactNode } from "react";
3
- export interface StepLabelProps extends TextProps<"label"> {
4
- /**
5
- * The content of Step Label
6
- */
7
- children?: ReactNode;
8
- }
9
- export declare const StepLabel: import("react").ForwardRefExoticComponent<Omit<StepLabelProps, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
@@ -1 +0,0 @@
1
- export * from "./StepLabel";
@@ -1,18 +0,0 @@
1
- import { type ReactNode } from "react";
2
- export interface SteppedTrackerContextType {
3
- activeStep: number;
4
- totalSteps: number;
5
- isWithinSteppedTracker: boolean;
6
- }
7
- declare type SteppedTrackerProviderProps = Omit<SteppedTrackerContextType, "isWithinSteppedTracker"> & {
8
- children: ReactNode;
9
- };
10
- export declare const SteppedTrackerProvider: ({ activeStep, totalSteps, children, }: SteppedTrackerProviderProps) => import("react/jsx-runtime").JSX.Element;
11
- export declare const useSteppedTrackerContext: () => SteppedTrackerContextType;
12
- export declare const useTrackerStepContext: () => number;
13
- interface TrackerStepProviderProps {
14
- stepNumber: number;
15
- children: ReactNode;
16
- }
17
- export declare const TrackerStepProvider: ({ children, stepNumber, }: TrackerStepProviderProps) => import("react/jsx-runtime").JSX.Element;
18
- export {};
@@ -1,9 +0,0 @@
1
- declare type ConnectorState = "default" | "active";
2
- interface TrackerConnectorProps {
3
- /**
4
- * The state of the connector, which acts as an indicator of whether the active step is ahead/behind
5
- */
6
- state: ConnectorState;
7
- }
8
- export declare const TrackerConnector: ({ state }: TrackerConnectorProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1 +0,0 @@
1
- export { TrackerConnector } from "./TrackerConnector";
@@ -1,18 +0,0 @@
1
- import { type ValidationStatus } from "@salt-ds/core";
2
- import { type ComponentPropsWithoutRef } from "react";
3
- declare type StageOptions = "pending" | "completed";
4
- declare type StatusOptions = Extract<ValidationStatus, "warning" | "error">;
5
- export interface TrackerStepProps extends ComponentPropsWithoutRef<"li"> {
6
- /**
7
- * The stage of the step: "pending" or "completed" (note, "active" is derived from "activeStep" in parent SteppedTracker component)
8
- */
9
- stage?: StageOptions;
10
- /**
11
- * The status of the step: warning or error
12
- *
13
- * If the stage is completed or active, the status prop will be ignored
14
- */
15
- status?: StatusOptions;
16
- }
17
- export declare const TrackerStep: import("react").ForwardRefExoticComponent<TrackerStepProps & import("react").RefAttributes<HTMLLIElement>>;
18
- export {};
@@ -1,2 +0,0 @@
1
- export { TrackerStep } from "./TrackerStep";
2
- export type { TrackerStepProps } from "./TrackerStep";