@jobber/components 8.9.1-TAYLORtai-ab033d4.2 → 8.9.1
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.
|
@@ -1,8 +1,57 @@
|
|
|
1
1
|
# Activity Indicator
|
|
2
2
|
|
|
3
|
-
`ActivityIndicator`
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
`ActivityIndicator` communicates an **indeterminate** activity the user cannot
|
|
4
|
+
directly control or measure — loading, fetching, or waiting on an external
|
|
5
|
+
system.
|
|
6
|
+
|
|
7
|
+
Use `ActivityIndicator` when the loading time or fraction of progress is
|
|
8
|
+
unknown. If you know the fraction of progress (for example, "3 of 4 files
|
|
9
|
+
uploaded"), use `ProgressBar` instead. A `ProgressIndicator` counterpart that
|
|
10
|
+
will subsume `ProgressBar` under the new Indicators naming is forthcoming.
|
|
11
|
+
|
|
12
|
+
## Design & usage guidelines
|
|
13
|
+
|
|
14
|
+
The default `ActivityIndicator` size is `base` (44px) and can be used in most
|
|
15
|
+
cases. The `small` size (28px) should be used on individual elements of an
|
|
16
|
+
interface (e.g. inside a `Button` or `Card`) or when sitting next to short
|
|
17
|
+
inline text.
|
|
18
|
+
|
|
19
|
+
Layout is the consumer's responsibility — `ActivityIndicator` does not expose an
|
|
20
|
+
`inline` prop. Place it inside your own flex / inline-block container, or pass a
|
|
21
|
+
`style`, to control surrounding layout.
|
|
22
|
+
|
|
23
|
+
## Accessibility
|
|
24
|
+
|
|
25
|
+
`ActivityIndicator` announces itself to assistive technology on every platform:
|
|
26
|
+
|
|
27
|
+
* `accessibilityRole="progressbar"` and `accessibilityState={{ busy: true }}`
|
|
28
|
+
mark the component as an ongoing indeterminate activity.
|
|
29
|
+
* `accessibilityLabel` defaults to a localized `"Loading"` string via
|
|
30
|
+
`useAtlantisI18n("loading")`. Pass a custom `accessibilityLabel` to describe
|
|
31
|
+
the specific activity (e.g. `accessibilityLabel="Uploading file"`).
|
|
32
|
+
* On mount and whenever the label changes, the component calls
|
|
33
|
+
`AccessibilityInfo.announceForAccessibility` so VoiceOver and TalkBack
|
|
34
|
+
announce the label once.
|
|
35
|
+
|
|
36
|
+
The indicator is not focusable and is not in the accessibility navigation order
|
|
37
|
+
beyond the mount-time announcement.
|
|
38
|
+
|
|
39
|
+
### Reduced motion
|
|
40
|
+
|
|
41
|
+
When the operating system reports the Reduce Motion accessibility setting, the
|
|
42
|
+
indicator hides the rocking and rotating layers, repaints a single static ring
|
|
43
|
+
in the icon foreground colour, and gently pulses its opacity so the indicator
|
|
44
|
+
still reads as "busy" without rotational motion. Detection is reactive — the
|
|
45
|
+
component responds to OS toggles without requiring a remount.
|
|
46
|
+
|
|
47
|
+
## Cross-platform parity
|
|
48
|
+
|
|
49
|
+
`ActivityIndicator` renders the same Material Design 3 three-layer indeterminate
|
|
50
|
+
ring on iOS, Android, and web (`@jobber/components`). The visual identity,
|
|
51
|
+
sizes, motion durations, and reduced-motion fallback are unified across
|
|
52
|
+
platforms. Public prop names diverge to follow each platform's native
|
|
53
|
+
conventions (`accessibilityLabel` here vs `ariaLabel` on web; `style` here vs
|
|
54
|
+
`className` + `style` on web).
|
|
6
55
|
|
|
7
56
|
Use `ActivityIndicator` when the loading time or fraction of progress is
|
|
8
57
|
unknown. If you know the fraction of progress (for example, "3 of 4 files
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "8.9.1
|
|
3
|
+
"version": "8.9.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"devDependencies": {
|
|
503
503
|
"@apollo/client": "^3.7.10",
|
|
504
504
|
"@csstools/postcss-global-data": "^1.0.3",
|
|
505
|
-
"@jobber/design": "0.
|
|
505
|
+
"@jobber/design": "0.102.0",
|
|
506
506
|
"@jobber/hooks": "2.21.0",
|
|
507
507
|
"@rollup/plugin-alias": "^5.1.0",
|
|
508
508
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
@@ -556,5 +556,5 @@
|
|
|
556
556
|
"> 1%",
|
|
557
557
|
"IE 10"
|
|
558
558
|
],
|
|
559
|
-
"gitHead": "
|
|
559
|
+
"gitHead": "2dd2b2d127e9e7e00f8db56c9a5c8ab05344e128"
|
|
560
560
|
}
|