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

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 (175) hide show
  1. package/CHANGELOG.md +232 -0
  2. package/css/salt-lab.css +216 -143
  3. package/dist-cjs/date-picker/DatePicker.js +3 -2
  4. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  5. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +5 -2
  6. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  7. package/dist-cjs/date-picker/DatePickerRangeInput.js +1 -1
  8. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  9. package/dist-cjs/date-picker/DatePickerSingleInput.js +1 -1
  10. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  11. package/dist-cjs/index.js +4 -6
  12. package/dist-cjs/index.js.map +1 -1
  13. package/dist-cjs/skip-link/SkipLink.css.js +1 -1
  14. package/dist-cjs/skip-link/SkipLink.js +25 -8
  15. package/dist-cjs/skip-link/SkipLink.js.map +1 -1
  16. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +54 -37
  17. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  18. package/dist-cjs/stepped-tracker/Step.Connector.css.js +6 -0
  19. package/dist-cjs/stepped-tracker/Step.Connector.css.js.map +1 -0
  20. package/dist-cjs/stepped-tracker/Step.Connector.js +21 -0
  21. package/dist-cjs/stepped-tracker/Step.Connector.js.map +1 -0
  22. package/dist-cjs/stepped-tracker/Step.Description.css.js +6 -0
  23. package/dist-cjs/stepped-tracker/Step.Description.css.js.map +1 -0
  24. package/dist-cjs/stepped-tracker/Step.Description.js +35 -0
  25. package/dist-cjs/stepped-tracker/Step.Description.js.map +1 -0
  26. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js +6 -0
  27. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js.map +1 -0
  28. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js +38 -0
  29. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js.map +1 -0
  30. package/dist-cjs/stepped-tracker/Step.Icon.css.js +6 -0
  31. package/dist-cjs/stepped-tracker/Step.Icon.css.js.map +1 -0
  32. package/dist-cjs/stepped-tracker/Step.Icon.js +57 -0
  33. package/dist-cjs/stepped-tracker/Step.Icon.js.map +1 -0
  34. package/dist-cjs/stepped-tracker/Step.Label.css.js +6 -0
  35. package/dist-cjs/stepped-tracker/Step.Label.css.js.map +1 -0
  36. package/dist-cjs/stepped-tracker/Step.Label.js +37 -0
  37. package/dist-cjs/stepped-tracker/Step.Label.js.map +1 -0
  38. package/dist-cjs/stepped-tracker/Step.SROnly.css.js +6 -0
  39. package/dist-cjs/stepped-tracker/Step.SROnly.css.js.map +1 -0
  40. package/dist-cjs/stepped-tracker/Step.SROnly.js +21 -0
  41. package/dist-cjs/stepped-tracker/Step.SROnly.js.map +1 -0
  42. package/dist-cjs/stepped-tracker/Step.css.js +6 -0
  43. package/dist-cjs/stepped-tracker/Step.css.js.map +1 -0
  44. package/dist-cjs/stepped-tracker/Step.js +161 -0
  45. package/dist-cjs/stepped-tracker/Step.js.map +1 -0
  46. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js +19 -0
  47. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js.map +1 -0
  48. package/dist-cjs/stepped-tracker/SteppedTracker.css.js +1 -1
  49. package/dist-cjs/stepped-tracker/SteppedTracker.js +10 -33
  50. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  51. package/dist-cjs/stepped-tracker/stepReducer.js +109 -0
  52. package/dist-cjs/stepped-tracker/stepReducer.js.map +1 -0
  53. package/dist-cjs/stepped-tracker/useStepReducer.js +16 -0
  54. package/dist-cjs/stepped-tracker/useStepReducer.js.map +1 -0
  55. package/dist-cjs/stepped-tracker/utils.js +86 -0
  56. package/dist-cjs/stepped-tracker/utils.js.map +1 -0
  57. package/dist-es/date-picker/DatePicker.js +3 -2
  58. package/dist-es/date-picker/DatePicker.js.map +1 -1
  59. package/dist-es/date-picker/DatePickerOverlayProvider.js +5 -2
  60. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  61. package/dist-es/date-picker/DatePickerRangeInput.js +1 -1
  62. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  63. package/dist-es/date-picker/DatePickerSingleInput.js +1 -1
  64. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  65. package/dist-es/index.js +2 -3
  66. package/dist-es/index.js.map +1 -1
  67. package/dist-es/skip-link/SkipLink.css.js +1 -1
  68. package/dist-es/skip-link/SkipLink.js +27 -10
  69. package/dist-es/skip-link/SkipLink.js.map +1 -1
  70. package/dist-es/skip-link/internal/useManageFocusOnTarget.js +55 -38
  71. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  72. package/dist-es/stepped-tracker/Step.Connector.css.js +4 -0
  73. package/dist-es/stepped-tracker/Step.Connector.css.js.map +1 -0
  74. package/dist-es/stepped-tracker/Step.Connector.js +19 -0
  75. package/dist-es/stepped-tracker/Step.Connector.js.map +1 -0
  76. package/dist-es/stepped-tracker/Step.Description.css.js +4 -0
  77. package/dist-es/stepped-tracker/Step.Description.css.js.map +1 -0
  78. package/dist-es/stepped-tracker/Step.Description.js +33 -0
  79. package/dist-es/stepped-tracker/Step.Description.js.map +1 -0
  80. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js +4 -0
  81. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js.map +1 -0
  82. package/dist-es/stepped-tracker/Step.ExpandTrigger.js +36 -0
  83. package/dist-es/stepped-tracker/Step.ExpandTrigger.js.map +1 -0
  84. package/dist-es/stepped-tracker/Step.Icon.css.js +4 -0
  85. package/dist-es/stepped-tracker/Step.Icon.css.js.map +1 -0
  86. package/dist-es/stepped-tracker/Step.Icon.js +55 -0
  87. package/dist-es/stepped-tracker/Step.Icon.js.map +1 -0
  88. package/dist-es/stepped-tracker/Step.Label.css.js +4 -0
  89. package/dist-es/stepped-tracker/Step.Label.css.js.map +1 -0
  90. package/dist-es/stepped-tracker/Step.Label.js +35 -0
  91. package/dist-es/stepped-tracker/Step.Label.js.map +1 -0
  92. package/dist-es/stepped-tracker/Step.SROnly.css.js +4 -0
  93. package/dist-es/stepped-tracker/Step.SROnly.css.js.map +1 -0
  94. package/dist-es/stepped-tracker/Step.SROnly.js +19 -0
  95. package/dist-es/stepped-tracker/Step.SROnly.js.map +1 -0
  96. package/dist-es/stepped-tracker/Step.css.js +4 -0
  97. package/dist-es/stepped-tracker/Step.css.js.map +1 -0
  98. package/dist-es/stepped-tracker/Step.js +159 -0
  99. package/dist-es/stepped-tracker/Step.js.map +1 -0
  100. package/dist-es/stepped-tracker/SteppedTracker.Provider.js +15 -0
  101. package/dist-es/stepped-tracker/SteppedTracker.Provider.js.map +1 -0
  102. package/dist-es/stepped-tracker/SteppedTracker.css.js +1 -1
  103. package/dist-es/stepped-tracker/SteppedTracker.js +11 -34
  104. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  105. package/dist-es/stepped-tracker/stepReducer.js +107 -0
  106. package/dist-es/stepped-tracker/stepReducer.js.map +1 -0
  107. package/dist-es/stepped-tracker/useStepReducer.js +14 -0
  108. package/dist-es/stepped-tracker/useStepReducer.js.map +1 -0
  109. package/dist-es/stepped-tracker/utils.js +80 -0
  110. package/dist-es/stepped-tracker/utils.js.map +1 -0
  111. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +4 -0
  112. package/dist-types/skip-link/SkipLink.d.ts +6 -11
  113. package/dist-types/skip-link/index.d.ts +0 -1
  114. package/dist-types/skip-link/internal/useManageFocusOnTarget.d.ts +13 -8
  115. package/dist-types/stepped-tracker/Step.Connector.d.ts +1 -0
  116. package/dist-types/stepped-tracker/Step.Description.d.ts +4 -0
  117. package/dist-types/stepped-tracker/Step.ExpandTrigger.d.ts +5 -0
  118. package/dist-types/stepped-tracker/Step.Icon.d.ts +8 -0
  119. package/dist-types/stepped-tracker/Step.Label.d.ts +4 -0
  120. package/dist-types/stepped-tracker/Step.SROnly.d.ts +5 -0
  121. package/dist-types/stepped-tracker/Step.d.ts +2 -0
  122. package/dist-types/stepped-tracker/Step.types.d.ts +21 -0
  123. package/dist-types/stepped-tracker/SteppedTracker.Provider.d.ts +9 -0
  124. package/dist-types/stepped-tracker/SteppedTracker.d.ts +2 -16
  125. package/dist-types/stepped-tracker/SteppedTracker.types.d.ts +6 -0
  126. package/dist-types/stepped-tracker/index.d.ts +5 -2
  127. package/dist-types/stepped-tracker/stepReducer.d.ts +2 -0
  128. package/dist-types/stepped-tracker/stepReducer.types.d.ts +25 -0
  129. package/dist-types/stepped-tracker/useStepReducer.d.ts +3 -0
  130. package/dist-types/stepped-tracker/utils.d.ts +7 -0
  131. package/package.json +14 -12
  132. package/dist-cjs/skip-link/SkipLinks.css.js +0 -6
  133. package/dist-cjs/skip-link/SkipLinks.css.js.map +0 -1
  134. package/dist-cjs/skip-link/SkipLinks.js +0 -24
  135. package/dist-cjs/skip-link/SkipLinks.js.map +0 -1
  136. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js +0 -6
  137. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js.map +0 -1
  138. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +0 -25
  139. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +0 -1
  140. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +0 -43
  141. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +0 -1
  142. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +0 -6
  143. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +0 -1
  144. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js +0 -22
  145. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js.map +0 -1
  146. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js +0 -6
  147. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js.map +0 -1
  148. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +0 -96
  149. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +0 -1
  150. package/dist-es/skip-link/SkipLinks.css.js +0 -4
  151. package/dist-es/skip-link/SkipLinks.css.js.map +0 -1
  152. package/dist-es/skip-link/SkipLinks.js +0 -22
  153. package/dist-es/skip-link/SkipLinks.js.map +0 -1
  154. package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js +0 -4
  155. package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js.map +0 -1
  156. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +0 -23
  157. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +0 -1
  158. package/dist-es/stepped-tracker/SteppedTrackerContext.js +0 -38
  159. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +0 -1
  160. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +0 -4
  161. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +0 -1
  162. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js +0 -20
  163. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js.map +0 -1
  164. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js +0 -4
  165. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js.map +0 -1
  166. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +0 -94
  167. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +0 -1
  168. package/dist-types/skip-link/SkipLinks.d.ts +0 -2
  169. package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +0 -9
  170. package/dist-types/stepped-tracker/StepLabel/index.d.ts +0 -1
  171. package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +0 -18
  172. package/dist-types/stepped-tracker/TrackerConnector/TrackerConnector.d.ts +0 -9
  173. package/dist-types/stepped-tracker/TrackerConnector/index.d.ts +0 -1
  174. package/dist-types/stepped-tracker/TrackerStep/TrackerStep.d.ts +0 -18
  175. package/dist-types/stepped-tracker/TrackerStep/index.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,237 @@
1
1
  # @salt-ds/lab
2
2
 
3
+ ## 1.0.0-alpha.58
4
+
5
+ ### Minor Changes
6
+
7
+ - 0302830: Updates to Lab `SkipLink`
8
+
9
+ - Remove `targetRef` prop, added `target` prop to accept a string representing the ID of the target element.
10
+ - Updated styling to adhere with the rest of the library styles for consistency.
11
+ - Fixed an issue where the `SkipLink` would render when the ref to the target element was broken. Now, the skip link will not render at all if the target element is not found.
12
+
13
+ ### Patch Changes
14
+
15
+ - 0a5b68b: Marked CSS files as having side effects. This fixes Webpack tree-shaking CSS files when `sideEffects: true` is not set on style-loader rules.
16
+ - a9edf03: Fixed DatePicker showing overlay when `readOnly`. Closes #4470.
17
+ - 86d2a28: Refactored SteppedTracker, added Step and useStepReducer
18
+
19
+ The `SteppedTracker` is a component that helps you manage a series of steps in a process. It provides a way to navigate between steps, and to track the progress of the process.
20
+
21
+ The `<SteppedTracker />` is meant to be used in conjunction with the `<Step />` component and potentially the `useStepReducer()` hook.
22
+
23
+ In it's simplest form the `SteppedTracker` can be used like so:
24
+
25
+ ```tsx
26
+ import { SteppedTracker, Step } from "@salt-ds/lab";
27
+
28
+ function Example() {
29
+ return (
30
+ <SteppedTracker>
31
+ <Step label="Step 1" stage="completed" />
32
+ <Step label="Step 2" stage="active" />
33
+ <Step label="Step 3" stage="pending" />
34
+ </SteppedTracker>
35
+ );
36
+ }
37
+ ```
38
+
39
+ The SteppedTracker component supports nested steps, which can be used to represent sub-steps within a step. This can be done by nesting `<Step />` components within another `<Step />` component. We advise you not to go above 2 levels deep, as it becomes hard to follow for the user.
40
+
41
+ ```tsx
42
+ import { StackLayout } from "@salt-ds/core";
43
+ import { Step, SteppedTracker } from "@salt-ds/lab";
44
+
45
+ export function NestedSteps() {
46
+ return (
47
+ <StackLayout style={{ minWidth: "240px" }}>
48
+ <SteppedTracker orientation="vertical">
49
+ <Step label="Step 1" stage="completed">
50
+ <Step label="Step 1.1" stage="completed" />
51
+ </Step>
52
+ <Step label="Step 2" stage="inprogress">
53
+ <Step label="Step 2.1" stage="active" />
54
+ <Step label="Step 2.2" stage="pending">
55
+ <Step label="Step 2.2.1" stage="pending" />
56
+ <Step label="Step 2.2.2" stage="pending" />
57
+ <Step label="Step 2.2.3" stage="pending" />
58
+ </Step>
59
+ </Step>
60
+ <Step label="Step 3">
61
+ <Step label="Step 3.1" stage="pending" />
62
+ <Step label="Step 3.2" stage="pending" />
63
+ <Step label="Step 3.3" stage="pending">
64
+ <Step label="Step 3.3.1" stage="pending" />
65
+ <Step label="Step 3.3.2" stage="pending" />
66
+ <Step label="Step 3.3.3" stage="pending" />
67
+ </Step>
68
+ </Step>
69
+ </SteppedTracker>
70
+ </StackLayout>
71
+ );
72
+ }
73
+ ```
74
+
75
+ The `SteppedTracker` component is a purely presentational component, meaning that you need to manage the state of the steps yourself. That however becomes tricky when dealing with nested steps. This is where the `useStepReducer()` hook comes in. It is a custom hook that helps you manage the state of a `SteppedTracker` component with nested steps with ease. It has a built-in algorithm that determines the stage of all steps above and below the active step. All you need to do is add `stage: 'active'` to the desired step (see `step-3-3` in the hook example below), the hook will figure out the rest. This is what we call `autoStage`.
76
+
77
+ Migrating from the previous SteppedTracker API
78
+
79
+ Before:
80
+
81
+ ```tsx
82
+ function Before() {
83
+ return (
84
+ <SteppedTracker activeStep={0}>
85
+ <TrackerStep>
86
+ <StepLabel>Step One</StepLabel>
87
+ </TrackerStep>
88
+ <TrackerStep>
89
+ <StepLabel>Step Two</StepLabel>
90
+ </TrackerStep>
91
+ <TrackerStep>
92
+ <StepLabel>Step Three</StepLabel>
93
+ </TrackerStep>
94
+ <TrackerStep>
95
+ <StepLabel>Step Four</StepLabel>
96
+ </TrackerStep>
97
+ </SteppedTracker>
98
+ );
99
+ }
100
+ ```
101
+
102
+ After:
103
+
104
+ ```tsx
105
+ function After() {
106
+ return (
107
+ <SteppedTracker>
108
+ <Step label="Step One" stage="active" />
109
+ <Step label="Step Two" />
110
+ <Step label="Step Three" />
111
+ <Step label="Step Four" />
112
+ </SteppedTracker>
113
+ );
114
+ }
115
+ ```
116
+
117
+ Before:
118
+
119
+ ```tsx
120
+ function Before() {
121
+ return (
122
+ <SteppedTracker orientation="vertical" activeStep={8}>
123
+ <TrackerStep stage="completed">
124
+ <StepLabel>Step 1</StepLabel>
125
+ </TrackerStep>
126
+ <TrackerStep depth={1} stage="completed">
127
+ <StepLabel>Step 1.1</StepLabel>
128
+ </TrackerStep>
129
+ <TrackerStep depth={1} stage="completed">
130
+ <StepLabel>Step 1.2</StepLabel>
131
+ </TrackerStep>
132
+ <TrackerStep depth={1} stage="completed">
133
+ <StepLabel>Step 1.3</StepLabel>
134
+ </TrackerStep>
135
+ <TrackerStep stage="completed">
136
+ <StepLabel>Step 2</StepLabel>
137
+ </TrackerStep>
138
+ <TrackerStep stage="inprogress">
139
+ <StepLabel>Step 3</StepLabel>
140
+ </TrackerStep>
141
+ <TrackerStep depth={1} stage="completed">
142
+ <StepLabel>Step 3.1</StepLabel>
143
+ </TrackerStep>
144
+ <TrackerStep depth={1} stage="completed">
145
+ <StepLabel>Step 3.2</StepLabel>
146
+ </TrackerStep>
147
+ <TrackerStep depth={1} stage="inprogress">
148
+ <StepLabel>Step 3.3</StepLabel>
149
+ </TrackerStep>
150
+ <TrackerStep depth={1}>
151
+ <StepLabel>Step 3.4</StepLabel>
152
+ </TrackerStep>
153
+ <TrackerStep>
154
+ <StepLabel>Step 4</StepLabel>
155
+ </TrackerStep>
156
+ </SteppedTracker>
157
+ );
158
+ }
159
+ ```
160
+
161
+ After
162
+
163
+ ```tsx
164
+ function After() {
165
+ return (
166
+ <SteppedTracker orientation="vertical">
167
+ <Step label="Step 1" stage="completed">
168
+ <Step label="Step 1.1" stage="completed" />
169
+ <Step label="Step 1.2" stage="completed" />
170
+ <Step label="Step 1.3" stage="completed" />
171
+ </Step>
172
+ <Step label="Step 2" stage="completed" />
173
+ <Step label="Step 3" stage="inprogress">
174
+ <Step label="Step 3.1" stage="completed" />
175
+ <Step label="Step 3.2" stage="completed" />
176
+ <Step label="Step 3.3" stage="active" />
177
+ <Step label="Step 3.3" />
178
+ </Step>
179
+ <Step label="Step 4" />
180
+ </SteppedTracker>
181
+ );
182
+ }
183
+ ```
184
+
185
+ or you can utilize the hook for nested scenarios, such as the one above
186
+
187
+ ```tsx
188
+ import { Step, SteppedTracker, useStepReducer } from "@salt-ds/lab";
189
+
190
+ export function AfterWithHook() {
191
+ const [state, dispatch] = useStepReducer([
192
+ {
193
+ key: "step-1",
194
+ label: "Step 1",
195
+ substeps: [
196
+ { key: "step-1-1", label: "Step 1.1" },
197
+ { key: "step-1-2", label: "Step 1.2" },
198
+ { key: "step-1-3", label: "Step 1.3" },
199
+ ],
200
+ },
201
+ { key: "step-2", label: "Step 2" },
202
+ {
203
+ key: "step-3",
204
+ label: "Step 3",
205
+ substeps: [
206
+ { key: "step-3-1", label: "Step 3.1" },
207
+ { key: "step-3-2", label: "Step 3.2" },
208
+ { key: "step-3-3", label: "Step 3.3", stage: "active" },
209
+ { key: "step-3-4", label: "Step 3.4" },
210
+ ],
211
+ },
212
+ { key: "step-4", label: "Step 4" },
213
+ ]);
214
+
215
+ return (
216
+ <StackLayout style={{ width: 240 }}>
217
+ <SteppedTracker orientation="vertical">
218
+ {state.steps.map((step) => (
219
+ <Step key={step.key || step.id} {...step} />
220
+ ))}
221
+ </SteppedTracker>
222
+ </StackLayout>
223
+ );
224
+ }
225
+ ```
226
+
227
+ - Updated dependencies [86d2a28]
228
+ - Updated dependencies [dedbade]
229
+ - Updated dependencies [0a5b68b]
230
+ - Updated dependencies [cd98ba5]
231
+ - Updated dependencies [bfea9b3]
232
+ - @salt-ds/core@1.38.0
233
+ - @salt-ds/icons@1.13.1
234
+
3
235
  ## 1.0.0-alpha.57
4
236
 
5
237
  ### Patch Changes
package/css/salt-lab.css CHANGED
@@ -2518,55 +2518,49 @@
2518
2518
  }
2519
2519
 
2520
2520
  /* src/skip-link/SkipLink.css */
2521
- .saltSkipLink {
2522
- --skipLink-padding: var(--saltSkipLink-padding, var(--salt-size-unit));
2523
- --skipLink-margin: var(--saltSkipLink-margin, var(--salt-size-unit));
2524
- --skipLink-background: var(--saltSkipLink-background, var(--salt-actionable-primary-background));
2525
- --skipLink-color: var(--saltSkipLink-color, var(--salt-content-primary-foreground));
2526
- }
2527
- .saltSkipLink {
2528
- --saltLink-color-focus: var(--skipLink-color);
2529
- }
2530
- .saltSkipLink-target {
2531
- --skipLink-target-focus: var(--salt-focused-outline);
2532
- }
2533
2521
  .saltSkipLink {
2534
2522
  top: 0;
2535
2523
  left: 0;
2524
+ opacity: 0;
2536
2525
  width: 1px;
2537
2526
  height: 1px;
2538
- display: block;
2539
- opacity: 0;
2527
+ margin: 0;
2528
+ padding: 0;
2540
2529
  overflow: hidden;
2541
2530
  position: absolute;
2531
+ color: var(--salt-content-primary-foreground);
2532
+ letter-spacing: var(--salt-text-letterSpacing);
2533
+ text-decoration: var(--salt-navigable-textDecoration);
2534
+ font-family: var(--salt-text-fontFamily);
2535
+ white-space: nowrap;
2536
+ background: var(--saltSkipLink-background, var(--salt-container-primary-background));
2537
+ z-index: calc(var(--salt-zIndex-appHeader) + 1);
2542
2538
  }
2543
2539
  .saltSkipLink:focus {
2544
2540
  opacity: 1;
2545
2541
  width: auto;
2546
- height: auto;
2547
- white-space: nowrap;
2548
- margin: var(--skipLink-margin);
2549
- padding: calc(var(--skipLink-padding) - 1px) var(--skipLink-padding) var(--skipLink-padding);
2550
- background: var(--skipLink-background);
2551
- color: var(--skipLink-color);
2552
- box-shadow: var(--salt-overlayable-shadow-popout);
2542
+ height: max(var(--salt-size-base), auto);
2543
+ padding: var(--salt-spacing-100) var(--salt-spacing-300);
2544
+ outline: var(--salt-focused-outline);
2545
+ outline-offset: calc(-1 * var(--salt-focused-outlineWidth));
2546
+ box-shadow: var(--salt-overlayable-shadow);
2553
2547
  }
2554
- .saltSkipLink {
2555
- font-size: var(--salt-text-fontSize);
2556
- font-family: var(--saltSkipLink-fontFamily, var(--salt-text-fontFamily));
2557
- line-height: var(--saltSkipLink-lineHeight, var(--salt-text-lineHeight));
2548
+ @keyframes fade-out-back-outline {
2549
+ 0% {
2550
+ outline-color: var(--salt-focused-outlineColor);
2551
+ }
2552
+ 100% {
2553
+ outline-color: transparent;
2554
+ }
2558
2555
  }
2559
2556
  .saltSkipLink-target {
2560
- outline: var(--skipLink-target-focus);
2557
+ animation: fade-out-back-outline var(--salt-duration-notable) var(--salt-animation-timing-function) both;
2558
+ outline: var(--salt-focused-outline);
2561
2559
  }
2562
-
2563
- /* src/skip-link/SkipLinks.css */
2564
- .saltSkipLinks {
2565
- position: relative;
2566
- float: left;
2567
- list-style: none;
2568
- margin: 0;
2569
- padding: 0;
2560
+ @media (prefers-reduced-motion: reduce) {
2561
+ .saltSkipLink-target {
2562
+ animation: none;
2563
+ }
2570
2564
  }
2571
2565
 
2572
2566
  /* src/slider/Slider.css */
@@ -2720,21 +2714,202 @@
2720
2714
  letter-spacing: var(--salt-text-letterSpacing);
2721
2715
  }
2722
2716
 
2717
+ /* src/stepped-tracker/Step.Connector.css */
2718
+ .saltStepConnector {
2719
+ grid-area: connector;
2720
+ transition-duration: inherit;
2721
+ transition-timing-function: inherit;
2722
+ transition-property: opacity, min-height;
2723
+ }
2724
+ .saltSteppedTracker-horizontal .saltStepConnector {
2725
+ position: absolute;
2726
+ transform: translateY(-100%);
2727
+ top: calc(var(--step-icon-size) / 2);
2728
+ left: calc(50% + calc(var(--step-icon-size) / 2 + var(--salt-spacing-100)));
2729
+ right: calc(-50% + calc(var(--step-icon-size) / 2 + var(--salt-spacing-100)));
2730
+ border-top-width: var(--salt-size-border-strong);
2731
+ border-top-style: var(--salt-track-borderStyle-incomplete);
2732
+ border-top-color: var(--salt-track-borderColor);
2733
+ }
2734
+ .saltSteppedTracker-horizontal .saltStep-stage-completed > .saltStepConnector,
2735
+ .saltSteppedTracker-horizontal .saltStep-stage-inprogress > .saltStepConnector {
2736
+ border-top-style: var(--salt-track-borderStyle-complete);
2737
+ }
2738
+ .saltSteppedTracker-vertical .saltStepConnector {
2739
+ min-height: var(--salt-size-base);
2740
+ align-self: stretch;
2741
+ justify-self: center;
2742
+ border-left-width: var(--salt-size-border-strong);
2743
+ border-left-style: var(--salt-track-borderStyle-incomplete);
2744
+ border-left-color: var(--salt-track-borderColor);
2745
+ }
2746
+ .saltSteppedTracker-vertical .saltStep-stage-completed > .saltStepConnector,
2747
+ .saltSteppedTracker-vertical .saltStep-stage-inprogress > .saltStepConnector {
2748
+ border-left-style: var(--salt-track-borderStyle-complete);
2749
+ }
2750
+ .saltStep-depth-0.saltStep:not(.saltStep-expanded):last-child > .saltStepConnector {
2751
+ opacity: 0;
2752
+ min-height: 0;
2753
+ }
2754
+ .saltStep-depth-0.saltStep-expanded:last-child .saltStep:not(.saltStep-expanded):last-child .saltStepConnector {
2755
+ opacity: 0;
2756
+ min-height: 0;
2757
+ }
2758
+
2759
+ /* src/stepped-tracker/Step.Description.css */
2760
+ .saltStepDescription {
2761
+ grid-area: description;
2762
+ }
2763
+ .saltSteppedTracker-vertical .saltStepDescription {
2764
+ padding-bottom: var(--salt-spacing-300);
2765
+ padding-left: calc((var(--step-depth)) * var(--salt-spacing-100));
2766
+ }
2767
+ .saltStep-status-warning > .saltStepDescription {
2768
+ color: var(--salt-status-warning-foreground-informative);
2769
+ }
2770
+ .saltStep-status-error > .saltStepDescription {
2771
+ color: var(--salt-status-error-foreground-informative);
2772
+ }
2773
+
2774
+ /* src/stepped-tracker/Step.ExpandTrigger.css */
2775
+ .saltStepExpandTrigger {
2776
+ grid-area: expand;
2777
+ }
2778
+ .saltButton.saltStepExpandTrigger:focus-visible {
2779
+ outline-offset: calc(-1 * var(--salt-focused-outlineWidth));
2780
+ }
2781
+
2782
+ /* src/stepped-tracker/Step.Icon.css */
2783
+ .saltStepIcon {
2784
+ grid-area: icon;
2785
+ display: flex;
2786
+ justify-content: center;
2787
+ align-items: center;
2788
+ justify-self: center;
2789
+ }
2790
+ .saltSteppedTracker-vertical .saltStepIcon {
2791
+ height: var(--salt-size-base);
2792
+ }
2793
+ .saltStep-stage-pending > .saltStepIcon {
2794
+ --saltIcon-color: var(--salt-status-static-foreground);
2795
+ }
2796
+ .saltStep-stage-locked > .saltStepIcon {
2797
+ --saltIcon-color: var(--salt-status-static-foreground);
2798
+ }
2799
+ .saltStep-stage-inprogress > .saltStepIcon {
2800
+ --saltIcon-color: var(--salt-status-info-foreground-decorative);
2801
+ }
2802
+ .saltStep-stage-active > .saltStepIcon {
2803
+ --saltIcon-color: var(--salt-status-info-foreground-decorative);
2804
+ }
2805
+ .saltStep-stage-completed > .saltStepIcon {
2806
+ --saltIcon-color: var(--salt-status-success-foreground-decorative);
2807
+ }
2808
+ .saltStep-status-warning > .saltStepIcon {
2809
+ --saltIcon-color: var(--salt-status-warning-foreground-decorative);
2810
+ }
2811
+ .saltStep-status-error > .saltStepIcon {
2812
+ --saltIcon-color: var(--salt-status-error-foreground-decorative);
2813
+ }
2814
+
2815
+ /* src/stepped-tracker/Step.Label.css */
2816
+ .saltStepLabel {
2817
+ grid-area: label;
2818
+ }
2819
+ .saltSteppedTracker-horizontal .saltStepLabel {
2820
+ margin-top: var(--salt-spacing-50);
2821
+ }
2822
+ .saltSteppedTracker-vertical .saltStepLabel {
2823
+ padding-top: calc((var(--salt-size-base) - var(--salt-text-label-lineHeight)) / 2);
2824
+ padding-bottom: calc((var(--salt-size-base) - var(--salt-text-label-lineHeight)) / 2);
2825
+ padding-left: calc((var(--step-depth)) * var(--salt-spacing-100));
2826
+ }
2827
+ .saltStep-depth-0 > .saltText.saltStepLabel {
2828
+ font-weight: var(--salt-text-fontWeight-strong);
2829
+ }
2830
+
2831
+ /* src/stepped-tracker/Step.SROnly.css */
2832
+ .saltStepSROnly {
2833
+ position: fixed;
2834
+ top: 0;
2835
+ left: 0;
2836
+ transform: translate(-100%, -100%);
2837
+ }
2838
+
2839
+ /* src/stepped-tracker/Step.css */
2840
+ .saltStep {
2841
+ --step-icon-base-size: var(--salt-size-icon, 12px);
2842
+ --step-icon-size-multiplier: var(--saltIcon-size-multiplier, 1.5);
2843
+ --step-icon-size: calc(var(--step-icon-base-size) * var(--step-icon-size-multiplier));
2844
+ --step-depth: var(--saltStep-depth, 0);
2845
+ }
2846
+ .saltSteppedTracker-horizontal .saltStep {
2847
+ position: relative;
2848
+ display: grid;
2849
+ grid-template-columns: 1fr;
2850
+ grid-template-rows: repeat(3, min-content);
2851
+ grid-template-areas: "icon" "label" "description";
2852
+ justify-items: center;
2853
+ align-items: center;
2854
+ text-align: center;
2855
+ flex: 1;
2856
+ padding: 0 var(--salt-spacing-25);
2857
+ }
2858
+ .saltSteppedTracker-vertical .saltStep {
2859
+ display: grid;
2860
+ grid-template-columns: var(--step-icon-size) 1fr min-content;
2861
+ grid-template-areas: "icon label expand" "connector description ." "stepped-tracker stepped-tracker stepped-tracker";
2862
+ justify-items: start;
2863
+ align-items: start;
2864
+ gap: 0 var(--salt-spacing-100);
2865
+ width: 100%;
2866
+ transition-duration: inherit;
2867
+ transition-timing-function: inherit;
2868
+ transition-property: grid-template-rows;
2869
+ }
2870
+ .saltSteppedTracker-vertical .saltStep-terminal {
2871
+ grid-template-areas: "icon label label" "connector description description" "stepped-tracker stepped-tracker stepped-tracker";
2872
+ }
2873
+ .saltSteppedTracker-vertical > .saltStep.saltStep-expanded {
2874
+ grid-template-rows: var(--salt-size-base) min-content 1fr;
2875
+ }
2876
+ .saltSteppedTracker-vertical > .saltStep.saltStep-collapsed {
2877
+ grid-template-rows: var(--salt-size-base) min-content 0fr;
2878
+ }
2879
+
2723
2880
  /* src/stepped-tracker/SteppedTracker.css */
2724
2881
  .saltSteppedTracker {
2882
+ grid-area: stepped-tracker;
2883
+ width: 100%;
2884
+ height: 100%;
2725
2885
  margin: 0;
2726
2886
  padding: 0;
2727
- text-indent: 0;
2728
2887
  list-style-type: none;
2729
- display: flex;
2730
- width: 100%;
2731
- position: relative;
2888
+ transition-duration: var(--salt-duration-perceptible);
2889
+ transition-timing-function: ease-in-out;
2890
+ transition-property: opacity, visibility;
2891
+ }
2892
+ @media (prefers-reduced-motion) {
2893
+ .saltSteppedTracker {
2894
+ transition-duration: var(--salt-duration-instant);
2895
+ }
2732
2896
  }
2733
- .saltSteppedTracker.saltSteppedTracker-horizontal {
2897
+ .saltSteppedTracker-horizontal {
2898
+ display: flex;
2734
2899
  flex-direction: row;
2735
2900
  }
2736
- .saltSteppedTracker.saltSteppedTracker-vertical {
2901
+ .saltSteppedTracker-vertical {
2902
+ display: flex;
2737
2903
  flex-direction: column;
2904
+ overflow: hidden;
2905
+ }
2906
+ .saltSteppedTracker-vertical > .saltStep.saltStep-expanded > .saltSteppedTracker {
2907
+ opacity: 1;
2908
+ visibility: visible;
2909
+ }
2910
+ .saltSteppedTracker-vertical > .saltStep.saltStep-collapsed > .saltSteppedTracker {
2911
+ opacity: 0;
2912
+ visibility: hidden;
2738
2913
  }
2739
2914
 
2740
2915
  /* src/stepper-input/StepperInput.css */
@@ -4372,108 +4547,6 @@
4372
4547
  font-weight: 700;
4373
4548
  }
4374
4549
 
4375
- /* src/stepped-tracker/StepLabel/StepLabel.css */
4376
- .saltStepLabel {
4377
- width: 100%;
4378
- }
4379
- .saltSteppedTracker.saltSteppedTracker-horizontal .saltStepLabel {
4380
- text-align: center;
4381
- }
4382
- .saltSteppedTracker.saltSteppedTracker-vertical .saltStepLabel {
4383
- text-align: left;
4384
- }
4385
-
4386
- /* src/stepped-tracker/TrackerConnector/TrackerConnector.css */
4387
- .saltTrackerConnector {
4388
- --trackerConnector-style-default: var(--saltTrackerConnector-style-default, var(--salt-track-borderStyle-incomplete));
4389
- --trackerConnector-style-active: var(--saltTrackerConnector-style-active, var(--salt-track-borderStyle-active));
4390
- --trackerConnector-color: var(--saltTrackerConnector-color, var(--salt-track-borderColor));
4391
- --trackerConnector-thickness: var(--saltTrackerConnector-thickness, var(--salt-size-border-strong));
4392
- --trackerConnector-margin: var(--saltTrackerConnector-margin, var(--salt-spacing-100));
4393
- --trackerConnector-style-border: var(--trackerConnector-style-default);
4394
- }
4395
- .saltTrackerConnector {
4396
- position: absolute;
4397
- }
4398
- .saltSteppedTracker.saltSteppedTracker-horizontal .saltTrackerConnector {
4399
- border-top-width: var(--trackerConnector-thickness);
4400
- border-top-style: var(--trackerConnector-style-border);
4401
- border-top-color: var(--trackerConnector-color);
4402
- width: calc(100% - (var(--saltIcon-size)) - (var(--trackerConnector-margin) * 2));
4403
- left: calc(50% + (var(--saltIcon-size) / 2) + var(--trackerConnector-margin));
4404
- top: calc(var(--saltIcon-size) / 2 - (var(--trackerConnector-thickness) / 2));
4405
- height: 0;
4406
- }
4407
- .saltSteppedTracker.saltSteppedTracker-vertical .saltTrackerConnector {
4408
- top: calc(50% + (var(--saltIcon-size) / 2) + var(--trackerConnector-margin));
4409
- left: calc((var(--saltIcon-size) / 2) - (var(--trackerConnector-thickness) / 2));
4410
- height: calc(100% - (var(--saltIcon-size)) - (var(--trackerConnector-margin) * 2));
4411
- border-left-width: var(--trackerConnector-thickness);
4412
- border-left-style: var(--trackerConnector-style-border);
4413
- border-left-color: var(--trackerConnector-color);
4414
- }
4415
- .saltTrackerConnector.saltTrackerConnector-active {
4416
- --trackerConnector-style-border: var(--trackerConnector-style-active);
4417
- }
4418
-
4419
- /* src/stepped-tracker/TrackerStep/TrackerStep.css */
4420
- .saltTrackerStep {
4421
- --trackerStep-icon-color-active: var(--saltTrackerStep-icon-color-active, var(--salt-status-info-foreground-decorative));
4422
- --trackerStep-icon-color-completed: var(--saltTrackerStep-icon-color-completed, var(--salt-status-success-foreground-decorative));
4423
- --trackerStep-icon-color-warning: var(--saltTrackerStep-icon-color-warning, var(--salt-status-warning-foreground-decorative));
4424
- --trackerStep-icon-color-error: var(--saltTrackerStep-icon-color-error, var(--salt-status-error-foreground-decorative));
4425
- --trackerStep-icon-color: var(--saltTrackerStep-icon-color, var(--salt-status-static-foreground));
4426
- --saltIcon-color: var(--trackerStep-icon-color);
4427
- --saltIcon-size: var(--saltTrackerStep-icon-size, max(var(--salt-size-icon), 12px));
4428
- }
4429
- .saltTrackerStep {
4430
- margin: 0;
4431
- text-indent: 0;
4432
- list-style-type: none;
4433
- flex: 1;
4434
- position: relative;
4435
- display: flex;
4436
- align-items: center;
4437
- width: var(--saltTrackerStep-width, 100%);
4438
- gap: var(--salt-spacing-50);
4439
- color: var(--salt-content-primary-foreground);
4440
- font-size: var(--salt-text-label-fontSize);
4441
- line-height: var(--salt-text-label-lineHeight);
4442
- }
4443
- .saltSteppedTracker.saltSteppedTracker-horizontal .saltTrackerStep {
4444
- flex-direction: column;
4445
- padding: 0 var(--salt-spacing-25);
4446
- }
4447
- .saltSteppedTracker.saltSteppedTracker-vertical .saltTrackerStep {
4448
- flex-direction: row;
4449
- min-height: calc(var(--salt-size-base) * 2);
4450
- width: 100%;
4451
- }
4452
- .saltTrackerStep:focus-visible {
4453
- outline-style: var(--salt-focused-outlineStyle);
4454
- outline-width: var(--salt-focused-outlineWidth);
4455
- outline-color: var(--salt-focused-outlineColor);
4456
- outline-offset: var(--salt-focused-outlineOffset);
4457
- }
4458
- .saltTrackerStep .saltTrackerStep-body {
4459
- width: 100%;
4460
- display: flex;
4461
- align-items: center;
4462
- flex-direction: column;
4463
- }
4464
- .saltTrackerStep.saltTrackerStep-status-warning {
4465
- --trackerStep-icon-color: var(--trackerStep-icon-color-warning);
4466
- }
4467
- .saltTrackerStep.saltTrackerStep-status-error {
4468
- --trackerStep-icon-color: var(--trackerStep-icon-color-error);
4469
- }
4470
- .saltTrackerStep.saltTrackerStep-active {
4471
- --trackerStep-icon-color: var(--trackerStep-icon-color-active);
4472
- }
4473
- .saltTrackerStep.saltTrackerStep-stage-completed {
4474
- --trackerStep-icon-color: var(--trackerStep-icon-color-completed);
4475
- }
4476
-
4477
4550
  /* src/tabs/drag-drop/Draggable.css */
4478
4551
  .saltDraggable {
4479
4552
  background: transparent;
@@ -4569,4 +4642,4 @@
4569
4642
  margin: calc(var(--salt-size-unit) / 2) 0;
4570
4643
  }
4571
4644
 
4572
- /* src/ed092e1f-b9df-46b0-8077-975db17781fb.css */
4645
+ /* src/c5418088-c5e4-4ec2-81ea-2a7cd7cdba69.css */
@@ -50,14 +50,15 @@ const DatePickerMain = react.forwardRef(
50
50
  }
51
51
  );
52
52
  const DatePicker = react.forwardRef(function DatePicker2(props, ref) {
53
- const { open, defaultOpen, onOpen, ...rest } = props;
53
+ const { open, defaultOpen, onOpen, readOnly, ...rest } = props;
54
54
  return /* @__PURE__ */ jsxRuntime.jsx(
55
55
  DatePickerOverlayProvider.DatePickerOverlayProvider,
56
56
  {
57
57
  open,
58
58
  defaultOpen,
59
59
  onOpen,
60
- children: /* @__PURE__ */ jsxRuntime.jsx(DatePickerMain, { ...rest, ref })
60
+ readOnly,
61
+ children: /* @__PURE__ */ jsxRuntime.jsx(DatePickerMain, { ...rest, readOnly, ref })
61
62
  }
62
63
  );
63
64
  });