@jobber/components 8.3.0 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/ActivityIndicator.d.ts +1 -0
  2. package/ActivityIndicator.js +17 -0
  3. package/dist/ActivityIndicator/ActivityIndicator.d.ts +38 -0
  4. package/dist/ActivityIndicator/index.cjs +9 -0
  5. package/dist/ActivityIndicator/index.d.ts +2 -0
  6. package/dist/ActivityIndicator/index.mjs +3 -0
  7. package/dist/ActivityIndicator-cjs.js +27 -0
  8. package/dist/ActivityIndicator-es.js +25 -0
  9. package/dist/Autocomplete/Autocomplete.d.ts +6 -4
  10. package/dist/Autocomplete/Autocomplete.types.d.ts +3 -137
  11. package/dist/Autocomplete/components/FloatingMenu.d.ts +6 -6
  12. package/dist/Autocomplete/components/MenuList.d.ts +4 -4
  13. package/dist/Autocomplete/components/PersistentRegion.d.ts +3 -3
  14. package/dist/Autocomplete/index.cjs +25 -1658
  15. package/dist/Autocomplete/index.d.ts +3 -30
  16. package/dist/Autocomplete/index.mjs +25 -1647
  17. package/dist/Autocomplete/tests/Autocomplete.setup.d.ts +15 -15
  18. package/dist/Autocomplete/useAutocomplete.d.ts +2 -2
  19. package/dist/Autocomplete-cjs.js +1306 -0
  20. package/dist/Autocomplete-es.js +1304 -0
  21. package/dist/Menu-es.js +1 -1
  22. package/dist/MenuSubmenuTrigger-es.js +1 -1
  23. package/dist/Spinner/Spinner.d.ts +6 -0
  24. package/dist/Spinner-cjs.js +3 -0
  25. package/dist/Spinner-es.js +3 -0
  26. package/dist/docs/ActivityIndicator/ActivityIndicator.md +67 -0
  27. package/dist/docs/Autocomplete/{AutocompleteV2.md → Autocomplete.md} +13 -107
  28. package/dist/docs/Banner/Banner.md +3 -3
  29. package/dist/docs/Box/Box.md +2 -2
  30. package/dist/docs/Chips/Chips.md +1 -1
  31. package/dist/docs/DataList/DataList.md +1 -1
  32. package/dist/docs/Icon/Icon.md +1 -1
  33. package/dist/docs/InputGroup/InputGroup.md +1 -1
  34. package/dist/docs/Menu/Menu.md +1 -1
  35. package/dist/docs/Modal/Modal.md +3 -3
  36. package/dist/docs/MultiSelect/MultiSelect.md +1 -1
  37. package/dist/docs/Spinner/Spinner.md +9 -1
  38. package/dist/docs/index.md +2 -2
  39. package/dist/docs/usage-guidelines/usage-guidelines.md +8 -10
  40. package/dist/floating-ui.react-dom-es.js +1 -1
  41. package/dist/floating-ui.react-es.js +1 -1
  42. package/dist/index.cjs +5 -3
  43. package/dist/index.d.mts +1 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.esm-es.js +1 -1
  46. package/dist/index.mjs +3 -2
  47. package/dist/styles.css +308 -153
  48. package/dist/utils/meta/meta.json +1 -0
  49. package/package.json +8 -3
  50. package/dist/Autocomplete/Autocomplete.rebuilt.d.ts +0 -8
  51. package/dist/Autocomplete/Autocomplete.utils.d.ts +0 -8
  52. package/dist/Autocomplete/Menu/DefaultMenu.d.ts +0 -16
  53. package/dist/Autocomplete/Menu/Menu.d.ts +0 -3
  54. package/dist/Autocomplete/Menu/MenuWrapper.d.ts +0 -23
  55. package/dist/Autocomplete/Option.d.ts +0 -78
  56. package/dist/Autocomplete/V1.docgen.d.ts +0 -4
  57. package/dist/Autocomplete/V2.docgen.d.ts +0 -6
  58. package/dist/Autocomplete/useKeyboardNavigation.d.ts +0 -35
  59. package/dist/Autocomplete/useRepositionMenu.d.ts +0 -10
  60. package/dist/docs/Autocomplete/AutocompleteV1.md +0 -1328
@@ -709,4 +709,4 @@ var isTabbable = function isTabbable(node, options) {
709
709
  return isNodeMatchingSelectorTabbable(options, node);
710
710
  };
711
711
 
712
- export { focusable as a, getSideAxis as b, getOppositePlacement as c, getExpandedPlacements as d, evaluate as e, floor as f, getSide as g, getOppositeAxisPlacements as h, isTabbable as i, getAlignmentSides as j, getAlignment as k, max as l, min as m, getAlignmentAxis as n, getPaddingObject as o, clamp as p, getAxisLength as q, rectToClientRect as r, sides as s, tabbable as t, getOppositeAxis as u, placements as v, getOppositeAlignmentPlacement as w, createCoords as x, round as y };
712
+ export { focusable as a, getAlignmentAxis as b, getSide as c, getAlignment as d, evaluate as e, floor as f, getSideAxis as g, getPaddingObject as h, isTabbable as i, getOppositePlacement as j, getExpandedPlacements as k, getOppositeAxisPlacements as l, getAlignmentSides as m, clamp as n, min as o, max as p, getAxisLength as q, rectToClientRect as r, sides as s, tabbable as t, getOppositeAxis as u, placements as v, getOppositeAlignmentPlacement as w, createCoords as x, round as y };
package/dist/index.mjs CHANGED
@@ -1,9 +1,10 @@
1
+ export { A as ActivityIndicator } from './ActivityIndicator-es.js';
1
2
  export { A as AnimatedPresence } from './AnimatedPresence-es.js';
2
3
  export { A as AnimatedSwitcher } from './AnimatedSwitcher-es.js';
3
4
  export { A as AtlantisContext, a as atlantisContextDefaultValues, u as useAtlantisContext } from './AtlantisContext-es.js';
4
5
  export { A as AtlantisThemeContextProvider, T as THEME_CHANGE_EVENT, a as atlantisThemeContextDefaultValues, u as useAtlantisTheme } from './AtlantisThemeContext-es.js';
5
6
  export { u as updateTheme } from './updateTheme-es.js';
6
- export { Autocomplete } from './Autocomplete/index.mjs';
7
+ export { A as Autocomplete } from './Autocomplete-es.js';
7
8
  export { A as Avatar } from './Avatar-es.js';
8
9
  export { B as Banner } from './Banner-es.js';
9
10
  export { B as Box } from './Box-es.js';
@@ -91,6 +92,7 @@ export { T as Tiles } from './Tiles-es.js';
91
92
  export { T as Toast, s as showToast } from './showToast-es.js';
92
93
  export { T as Tooltip } from './Tooltip-es.js';
93
94
  export { T as Typography } from './Typography-es.js';
95
+ import 'classnames';
94
96
  import 'framer-motion';
95
97
  import '@jobber/design';
96
98
  import './_commonjsHelpers-es.js';
@@ -108,7 +110,6 @@ import './index.esm-es.js';
108
110
  import 'react/jsx-runtime';
109
111
  import 'react-dom';
110
112
  import './floating-ui.react-dom-es.js';
111
- import 'classnames';
112
113
  import './maxHeight-es.js';
113
114
  import './tslib.es6-es.js';
114
115
  import 'react-hook-form';
package/dist/styles.css CHANGED
@@ -1,3 +1,282 @@
1
+ /*
2
+ * ActivityIndicator
3
+ *
4
+ * Indeterminate three-layer ring, following Material Web's canonical
5
+ * SVG-based pattern:
6
+ * 1. The <svg> rotates continuously at a constant linear speed (Layer 1).
7
+ * 2. The active <circle> rotates through 8 discrete phases per cycle
8
+ * (Layer 2).
9
+ * 3. The active <circle>'s stroke-dasharray expands and contracts so the
10
+ * visible arc length grows and shrinks (Layer 3); stroke-dashoffset
11
+ * slides the arc around the ring across the cycle.
12
+ */
13
+
14
+ .YST686vLR3c- {
15
+ position: relative;
16
+ width: 32px;
17
+ width: var(--space-larger);
18
+ height: 32px;
19
+ height: var(--space-larger);
20
+ }
21
+
22
+ /*
23
+ * Visually hide an element from sighted users while keeping it in the
24
+ * accessibility tree and the live-region text content. Used for the
25
+ * mount-time "Loading" announcement on role=\"status\". Mirrors the
26
+ * .screenReaderOnly pattern already used elsewhere in @jobber/components.
27
+ */
28
+
29
+ .MmNHh-oCyxc- {
30
+ position: absolute;
31
+ width: 1px;
32
+ height: 1px;
33
+ margin: -1px;
34
+ overflow: hidden;
35
+ clip: rect(0, 0, 0, 0);
36
+ white-space: nowrap;
37
+ }
38
+
39
+ ._888S5Y2IeZ8- {
40
+ width: 16px;
41
+ width: var(--space-base);
42
+ height: 16px;
43
+ height: var(--space-base);
44
+ }
45
+
46
+ /*
47
+ * Layer 1 — continuous linear rotation on the SVG.
48
+ *
49
+ * The three indicator durations (1568ms outer rotation, 5332ms inner
50
+ * 8-phase cycle, 1333ms arc expand/contract) are taken from Material
51
+ * Web's published progress-motion spec. They are tuned against each
52
+ * other to produce the canonical Material rhythm and are intentionally
53
+ * inlined as literals because no other component currently consumes
54
+ * them; promote them to design tokens once a second consumer (e.g. a
55
+ * future `ProgressIndicator`) needs the same values.
56
+ */
57
+
58
+ .Av9z-aLocss- {
59
+ display: block;
60
+ width: 100%;
61
+ height: 100%;
62
+ -webkit-animation: WvHFS--Nm80- 1568ms linear infinite;
63
+ animation: WvHFS--Nm80- 1568ms linear infinite;
64
+ will-change: transform;
65
+ }
66
+
67
+ /* Static background ring drawn beneath the moving arc. */
68
+
69
+ .VDTWabJptKI- {
70
+ fill: none;
71
+ stroke: hsl(0, 0%, 93%);
72
+ stroke: var(--color-disabled--secondary);
73
+ stroke-width: 4;
74
+ }
75
+
76
+ ._888S5Y2IeZ8- .VDTWabJptKI- {
77
+ stroke-width: 6;
78
+ }
79
+
80
+ /*
81
+ * Layer 2 + 3 — the active arc.
82
+ *
83
+ * The circle has circumference 2π·20 ≈ 125.66 (SVG units). The dasharray
84
+ * (visible, gap) interpolates so the visible portion grows from ~1 unit to
85
+ * ~95 units, while the dashoffset slides the arc around the ring. The
86
+ * combined cycle is the canonical Material rhythm.
87
+ *
88
+ * stroke-linecap: round produces the soft pill-shaped tips on the arc.
89
+ */
90
+
91
+ ._9XO0290QNCY- {
92
+ fill: none;
93
+ stroke: hsl(198, 35%, 21%);
94
+ stroke: var(--color-interactive--subtle);
95
+ stroke-width: 4;
96
+ stroke-linecap: round;
97
+ -webkit-transform-origin: center;
98
+ transform-origin: center;
99
+ -webkit-animation:
100
+ SHHICknKvqA- 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,
101
+ _0m0Nzc5awnA- 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
102
+ animation:
103
+ SHHICknKvqA- 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,
104
+ _0m0Nzc5awnA- 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
105
+ }
106
+
107
+ ._888S5Y2IeZ8- ._9XO0290QNCY- {
108
+ stroke-width: 6;
109
+ }
110
+
111
+ @-webkit-keyframes WvHFS--Nm80- {
112
+ to {
113
+ -webkit-transform: rotate(360deg);
114
+ transform: rotate(360deg);
115
+ }
116
+ }
117
+
118
+ @keyframes WvHFS--Nm80- {
119
+ to {
120
+ -webkit-transform: rotate(360deg);
121
+ transform: rotate(360deg);
122
+ }
123
+ }
124
+
125
+ /* Layer 2 — 8-phase 1080° rotation on the active arc. */
126
+
127
+ @-webkit-keyframes SHHICknKvqA- {
128
+ 12.5% {
129
+ -webkit-transform: rotate(135deg);
130
+ transform: rotate(135deg);
131
+ }
132
+ 25% {
133
+ -webkit-transform: rotate(270deg);
134
+ transform: rotate(270deg);
135
+ }
136
+ 37.5% {
137
+ -webkit-transform: rotate(405deg);
138
+ transform: rotate(405deg);
139
+ }
140
+ 50% {
141
+ -webkit-transform: rotate(540deg);
142
+ transform: rotate(540deg);
143
+ }
144
+ 62.5% {
145
+ -webkit-transform: rotate(675deg);
146
+ transform: rotate(675deg);
147
+ }
148
+ 75% {
149
+ -webkit-transform: rotate(810deg);
150
+ transform: rotate(810deg);
151
+ }
152
+ 87.5% {
153
+ -webkit-transform: rotate(945deg);
154
+ transform: rotate(945deg);
155
+ }
156
+ 100% {
157
+ -webkit-transform: rotate(1080deg);
158
+ transform: rotate(1080deg);
159
+ }
160
+ }
161
+
162
+ @keyframes SHHICknKvqA- {
163
+ 12.5% {
164
+ -webkit-transform: rotate(135deg);
165
+ transform: rotate(135deg);
166
+ }
167
+ 25% {
168
+ -webkit-transform: rotate(270deg);
169
+ transform: rotate(270deg);
170
+ }
171
+ 37.5% {
172
+ -webkit-transform: rotate(405deg);
173
+ transform: rotate(405deg);
174
+ }
175
+ 50% {
176
+ -webkit-transform: rotate(540deg);
177
+ transform: rotate(540deg);
178
+ }
179
+ 62.5% {
180
+ -webkit-transform: rotate(675deg);
181
+ transform: rotate(675deg);
182
+ }
183
+ 75% {
184
+ -webkit-transform: rotate(810deg);
185
+ transform: rotate(810deg);
186
+ }
187
+ 87.5% {
188
+ -webkit-transform: rotate(945deg);
189
+ transform: rotate(945deg);
190
+ }
191
+ 100% {
192
+ -webkit-transform: rotate(1080deg);
193
+ transform: rotate(1080deg);
194
+ }
195
+ }
196
+
197
+ /*
198
+ * Layer 3 — expand/contract the visible arc length via stroke-dasharray
199
+ * while shifting it around the ring via stroke-dashoffset. The "200" gap
200
+ * value exceeds the circle's circumference, ensuring only one stroke
201
+ * segment is visible at a time.
202
+ */
203
+
204
+ @-webkit-keyframes _0m0Nzc5awnA- {
205
+ 0% {
206
+ stroke-dasharray: 1, 200;
207
+ stroke-dashoffset: 0;
208
+ }
209
+ 50% {
210
+ stroke-dasharray: 90, 200;
211
+ stroke-dashoffset: -35;
212
+ }
213
+ 100% {
214
+ stroke-dasharray: 90, 200;
215
+ stroke-dashoffset: -125;
216
+ }
217
+ }
218
+
219
+ @keyframes _0m0Nzc5awnA- {
220
+ 0% {
221
+ stroke-dasharray: 1, 200;
222
+ stroke-dashoffset: 0;
223
+ }
224
+ 50% {
225
+ stroke-dasharray: 90, 200;
226
+ stroke-dashoffset: -35;
227
+ }
228
+ 100% {
229
+ stroke-dasharray: 90, 200;
230
+ stroke-dashoffset: -125;
231
+ }
232
+ }
233
+
234
+ @-webkit-keyframes _4dXQsbprq3s- {
235
+ from {
236
+ opacity: 1;
237
+ }
238
+ to {
239
+ opacity: 0.35;
240
+ }
241
+ }
242
+
243
+ @keyframes _4dXQsbprq3s- {
244
+ from {
245
+ opacity: 1;
246
+ }
247
+ to {
248
+ opacity: 0.35;
249
+ }
250
+ }
251
+
252
+ /*
253
+ * Reduced motion fallback. Hide the active arc entirely; repaint the static
254
+ * track in the icon foreground colour and pulse its opacity so the
255
+ * indicator still reads as "busy" without rotational motion.
256
+ *
257
+ * A naive `animation: none` would freeze a partial arc mid-cycle and lose
258
+ * the busy affordance.
259
+ */
260
+
261
+ @media (prefers-reduced-motion: reduce) {
262
+ .Av9z-aLocss-,
263
+ ._9XO0290QNCY- {
264
+ -webkit-animation: none;
265
+ animation: none;
266
+ }
267
+
268
+ ._9XO0290QNCY- {
269
+ display: none;
270
+ }
271
+
272
+ .VDTWabJptKI- {
273
+ stroke: hsl(198, 35%, 21%);
274
+ stroke: var(--color-interactive--subtle);
275
+ -webkit-animation: _4dXQsbprq3s- 2s ease-in-out infinite alternate;
276
+ animation: _4dXQsbprq3s- 2s ease-in-out infinite alternate;
277
+ }
278
+ }
279
+
1
280
  .P6HrDSaI0Ac- {
2
281
  display: contents;
3
282
  }
@@ -6,7 +285,7 @@
6
285
  display: contents;
7
286
  }
8
287
 
9
- ._37kZB-nYE08- {
288
+ .w5g7qggGrr4- {
10
289
  display: -ms-flexbox;
11
290
  display: flex;
12
291
  -ms-flex-direction: column;
@@ -29,7 +308,7 @@
29
308
  scroll-behavior: smooth;
30
309
  }
31
310
 
32
- .ULib3TUQja0- {
311
+ .ELlB2Kio7q8- {
33
312
  display: -ms-flexbox;
34
313
  display: flex;
35
314
  -ms-flex-direction: column;
@@ -40,7 +319,7 @@
40
319
  padding: var(--space-small) var(--space-base);
41
320
  }
42
321
 
43
- .h5-1Pp0eRyo- {
322
+ .y9zhi8Wr8QA- {
44
323
  width: 100%;
45
324
  box-sizing: border-box;
46
325
  padding: 8px;
@@ -51,7 +330,7 @@
51
330
  cursor: pointer;
52
331
  }
53
332
 
54
- .iBkyj85vd-E- {
333
+ .adJv-3bhYOQ- {
55
334
  display: -ms-flexbox;
56
335
  display: flex;
57
336
  text-align: left;
@@ -67,7 +346,7 @@
67
346
  align-items: center;
68
347
  }
69
348
 
70
- .h5-1Pp0eRyo- .I6wAbSJJHNQ- {
349
+ .y9zhi8Wr8QA- .K2phy6IC3TY- {
71
350
  -ms-flex: 0 1 auto;
72
351
  flex: 0 1 auto;
73
352
  -ms-flex-item-align: auto;
@@ -76,13 +355,13 @@
76
355
  width: var(--space-large);
77
356
  }
78
357
 
79
- ._4yhnonWAWRY-,
80
- .oGLMF6n8C74- {
358
+ .p2CY3TGCdRc-,
359
+ .-tyLeCnCEUI- {
81
360
  background: hsl(43, 18%, 92%);
82
361
  background: var(--color-surface--hover);
83
362
  }
84
363
 
85
- .LBrwH6TEUYA- {
364
+ .dXIHuZjqX84- {
86
365
  box-sizing: border-box;
87
366
  padding: 8px;
88
367
  padding: var(--space-small);
@@ -90,13 +369,13 @@
90
369
  cursor: pointer;
91
370
  }
92
371
 
93
- .h5-1Pp0eRyo-:hover,
94
- .LBrwH6TEUYA-:hover {
372
+ .y9zhi8Wr8QA-:hover,
373
+ .dXIHuZjqX84-:hover {
95
374
  background: hsl(43, 18%, 92%);
96
375
  background: var(--color-surface--hover);
97
376
  }
98
377
 
99
- .DDOv4DR8bJQ- {
378
+ .gQ86NtBHt-Y- {
100
379
  padding: 8px 0 4px 8px;
101
380
  padding: var(--space-small) 0 var(--space-smaller) var(--space-small);
102
381
  border-bottom: 1px solid hsl(200, 13%, 87%);
@@ -104,13 +383,13 @@
104
383
  cursor: default;
105
384
  }
106
385
 
107
- .Twgjn26oldE- {
386
+ .uElGEScjH68- {
108
387
  padding: 8px 16px;
109
388
  padding: var(--space-small) var(--space-base);
110
389
  cursor: default;
111
390
  }
112
391
 
113
- .mc1-CEwZtHE- {
392
+ .nXvoRgKgoz8- {
114
393
  position: sticky;
115
394
  top: 0;
116
395
  z-index: 1;
@@ -119,21 +398,21 @@
119
398
  background: var(--color-surface);
120
399
  }
121
400
 
122
- .kOR88SFNOn0- {
401
+ .Ey1zL5E-c74- {
123
402
  overflow: auto;
124
403
  }
125
404
 
126
- ._0O-kEf3h9ZI- {
405
+ .ei36u5racbA- {
127
406
  border-bottom: 1px solid hsl(200, 13%, 87%);
128
407
  border-bottom: var(--border-base) solid var(--color-border);
129
408
  }
130
409
 
131
- .rQ9ZS7Rb7Z4- {
410
+ .IDIz9ZHykRw- {
132
411
  border-top: 1px solid hsl(200, 13%, 87%);
133
412
  border-top: var(--border-base) solid var(--color-border);
134
413
  }
135
414
 
136
- .vxk57ZhP8GU- {
415
+ .Wx--khA61eA- {
137
416
  padding: 8px 0 4px 8px;
138
417
  padding: var(--space-small) 0 var(--space-smaller) var(--space-small);
139
418
  cursor: default;
@@ -141,12 +420,12 @@
141
420
 
142
421
  /* Multiple mode: FormFieldWrapper-based container */
143
422
 
144
- .AWoK6-P8fFE- [data-testid="Form-Field-Wrapper"] > div:first-child {
423
+ .COW3V1gDtwI- [data-testid="Form-Field-Wrapper"] > div:first-child {
145
424
  height: auto;
146
425
  min-height: var(--field--height);
147
426
  }
148
427
 
149
- .zJm0oR5x4qY- {
428
+ ._1iRpnGn3PaA- {
150
429
  display: -ms-flexbox;
151
430
  display: flex;
152
431
  -ms-flex-wrap: wrap;
@@ -162,7 +441,7 @@
162
441
  cursor: text;
163
442
  }
164
443
 
165
- .Oa26ZaVEi3g- {
444
+ .bHaScorkEaQ- {
166
445
  min-width: 80px;
167
446
  padding: 0;
168
447
  border: none;
@@ -176,16 +455,16 @@
176
455
  flex: 1 1 auto;
177
456
  }
178
457
 
179
- .Oa26ZaVEi3g-:focus {
458
+ .bHaScorkEaQ-:focus {
180
459
  outline: none;
181
460
  }
182
461
 
183
- .Oa26ZaVEi3g-:disabled {
462
+ .bHaScorkEaQ-:disabled {
184
463
  color: hsl(0, 0%, 58%);
185
464
  color: var(--color-disabled);
186
465
  }
187
466
 
188
- .IarOrfyYExE- {
467
+ .sFMc1SJPOSM- {
189
468
  display: -ms-inline-flexbox;
190
469
  display: inline-flex;
191
470
  padding: 2px 8px;
@@ -207,12 +486,12 @@
207
486
  gap: var(--space-small);
208
487
  }
209
488
 
210
- .pmtAk9HEhF4- {
489
+ ._9Ljs17OW-QM- {
211
490
  background-color: hsl(43, 5%, 72%);
212
491
  background-color: var(--color-interactive--background--hover);
213
492
  }
214
493
 
215
- .nmXqlAV-DJo- {
494
+ .QYUKkbmNjLE- {
216
495
  border: 1px solid hsl(200, 13%, 87%);
217
496
  border: var(--border-base) solid var(--color-border);
218
497
  color: hsl(0, 0%, 58%);
@@ -222,7 +501,7 @@
222
501
  cursor: default;
223
502
  }
224
503
 
225
- .SmrmwoOlZDo- {
504
+ .Wv6D8g2MKPo- {
226
505
  display: -ms-inline-flexbox;
227
506
  display: inline-flex;
228
507
  position: relative;
@@ -239,7 +518,7 @@
239
518
  cursor: pointer;
240
519
  }
241
520
 
242
- .SmrmwoOlZDo-::before {
521
+ .Wv6D8g2MKPo-::before {
243
522
  content: "";
244
523
  position: absolute;
245
524
  top: calc(-1 * 24px);
@@ -253,12 +532,12 @@
253
532
  z-index: -1;
254
533
  }
255
534
 
256
- .SmrmwoOlZDo-:hover::before {
535
+ .Wv6D8g2MKPo-:hover::before {
257
536
  background-color: hsl(43, 5%, 72%);
258
537
  background-color: var(--color-interactive--background--hover);
259
538
  }
260
539
 
261
- .pqwAJ8VczCU- {
540
+ .UAegmMck3-U- {
262
541
  display: -ms-inline-flexbox;
263
542
  display: inline-flex;
264
543
  -ms-flex-align: center;
@@ -2015,130 +2294,6 @@ a._7BLGtYNuJOU-.zgRx3ehZ2z8-:hover {
2015
2294
  vertical-align: middle;
2016
2295
  }
2017
2296
 
2018
- ._7mObJiwfPh4- {
2019
- position: relative;
2020
- width: 100%;
2021
- }
2022
-
2023
- .dL5JShAJlKM- {
2024
- visibility: hidden;
2025
- z-index: calc(6 + 1001);
2026
- z-index: calc(var(--elevation-menu) + var(--elevation-modal));
2027
- width: 0;
2028
- height: 0;
2029
- box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.1), 0px 4px 12px 0px rgba(0, 0, 0, 0.05);
2030
- box-shadow: var(--shadow-base);
2031
- box-sizing: border-box;
2032
- margin: 0;
2033
- padding: 0;
2034
- border: 1px solid var(--color-color-border);
2035
- border: var(--border-base) solid var(--color-color-border);
2036
- border-radius: 8px;
2037
- border-radius: var(--radius-base);
2038
- overflow: auto;
2039
- background-color: rgba(255, 255, 255, 1);
2040
- background-color: var(--color-surface);
2041
- scroll-behavior: smooth;
2042
- opacity: 0;
2043
- }
2044
-
2045
- .dL5JShAJlKM- .PWZL-94hH7k- {
2046
- padding: 8px 0 4px 8px;
2047
- padding: var(--space-small) 0 var(--space-smaller) var(--space-small);
2048
- border-bottom: 1px solid hsl(200, 13%, 87%);
2049
- border-bottom: var(--border-base) solid var(--color-border);
2050
- }
2051
-
2052
- .dL5JShAJlKM-._2RzcnTdaPyc- {
2053
- visibility: visible;
2054
- width: 100%;
2055
- height: auto;
2056
- opacity: 1;
2057
- }
2058
-
2059
- .dL5JShAJlKM-._2RzcnTdaPyc-:empty {
2060
- visibility: hidden;
2061
- opacity: 0;
2062
- }
2063
-
2064
- .y9zhi8Wr8QA- {
2065
- display: -ms-flexbox;
2066
- display: flex;
2067
- width: 100%;
2068
- -ms-flex-direction: row;
2069
- flex-direction: row;
2070
- -ms-flex-wrap: nowrap;
2071
- flex-wrap: nowrap;
2072
- -ms-flex-pack: start;
2073
- justify-content: flex-start;
2074
- -ms-flex-line-pack: stretch;
2075
- align-content: stretch;
2076
- -ms-flex-align: center;
2077
- align-items: center;
2078
- padding: 8px;
2079
- padding: var(--space-small);
2080
- border: none;
2081
- text-align: left;
2082
- list-style: none;
2083
- background-color: transparent;
2084
- cursor: pointer;
2085
- }
2086
-
2087
- .y9zhi8Wr8QA-:hover,
2088
- .y9zhi8Wr8QA-:focus,
2089
- .y9zhi8Wr8QA-._3Xg49dtL1Q8- {
2090
- background-color: hsl(43, 18%, 92%);
2091
- background-color: var(--color-surface--hover);
2092
- outline-color: hsl(198, 12%, 57%);
2093
- outline-color: var(--color-focus);
2094
- }
2095
-
2096
- .y9zhi8Wr8QA-.LIeh390F3W8-:not(:last-child) {
2097
- border-bottom: 1px solid hsl(200, 13%, 87%);
2098
- border-bottom: var(--border-base) solid var(--color-border);
2099
- }
2100
-
2101
- .dL5JShAJlKM-:hover .y9zhi8Wr8QA-._3Xg49dtL1Q8-:not(:hover) {
2102
- background-color: transparent;
2103
- outline-color: transparent;
2104
- }
2105
-
2106
- .dL5JShAJlKM- .PWZL-94hH7k-:not(:first-child) {
2107
- padding-top: 16px;
2108
- padding-top: var(--space-base);
2109
- }
2110
-
2111
- .y9zhi8Wr8QA- .K2phy6IC3TY- {
2112
- -ms-flex: 0 1 auto;
2113
- flex: 0 1 auto;
2114
- -ms-flex-item-align: auto;
2115
- align-self: auto;
2116
- width: 24px;
2117
- width: var(--space-large);
2118
- }
2119
-
2120
- .y9zhi8Wr8QA- .a6-LbUm5WnY- {
2121
- display: -ms-inline-flexbox;
2122
- display: inline-flex;
2123
- -ms-flex: 1 100%;
2124
- flex: 1 100%;
2125
- -ms-flex-wrap: wrap;
2126
- flex-wrap: wrap;
2127
- }
2128
-
2129
- .y9zhi8Wr8QA- .tQNbuxcE9nU- {
2130
- -ms-flex: 2;
2131
- flex: 2;
2132
- }
2133
-
2134
- .y9zhi8Wr8QA- .qacStG9-XbE- {
2135
- -ms-flex: 1;
2136
- flex: 1;
2137
- -ms-flex-item-align: end;
2138
- align-self: flex-end;
2139
- text-align: right;
2140
- }
2141
-
2142
2297
  :root {
2143
2298
  --public--avatar-size: 32px;
2144
2299
  }
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "exportedComponents": [
3
+ "ActivityIndicator",
3
4
  "AffixIcon",
4
5
  "AffixLabel",
5
6
  "AnimatedPresence",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "8.3.0",
3
+ "version": "8.5.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -25,6 +25,11 @@
25
25
  "import": "./dist/unstyledPrimitives/index.mjs",
26
26
  "require": "./dist/unstyledPrimitives/index.cjs"
27
27
  },
28
+ "./ActivityIndicator": {
29
+ "types": "./dist/ActivityIndicator/index.d.ts",
30
+ "import": "./dist/ActivityIndicator/index.mjs",
31
+ "require": "./dist/ActivityIndicator/index.cjs"
32
+ },
28
33
  "./AnimatedPresence": {
29
34
  "types": "./dist/AnimatedPresence/index.d.ts",
30
35
  "import": "./dist/AnimatedPresence/index.mjs",
@@ -508,7 +513,7 @@
508
513
  "devDependencies": {
509
514
  "@apollo/client": "^3.7.10",
510
515
  "@csstools/postcss-global-data": "^1.0.3",
511
- "@jobber/design": "0.101.0",
516
+ "@jobber/design": "0.101.1",
512
517
  "@jobber/hooks": "2.20.1",
513
518
  "@rollup/plugin-alias": "^5.1.0",
514
519
  "@rollup/plugin-commonjs": "^25.0.7",
@@ -563,5 +568,5 @@
563
568
  "> 1%",
564
569
  "IE 10"
565
570
  ],
566
- "gitHead": "2829a8684a94528cf087b63fa471c531c95d01c8"
571
+ "gitHead": "472d98075bdd3372f54004b48df2569c2354b7d3"
567
572
  }
@@ -1,8 +0,0 @@
1
- import type { Ref } from "react";
2
- import React from "react";
3
- import type { AutocompleteRebuiltProps, OptionLike } from "./Autocomplete.types";
4
- export declare const AutocompleteRebuilt: <Value extends OptionLike = OptionLike, Multiple extends boolean = false>(props: AutocompleteRebuiltProps<Value, Multiple> & {
5
- ref?: Ref<HTMLInputElement | HTMLTextAreaElement>;
6
- }) => ReturnType<typeof AutocompleteRebuiltInternal>;
7
- declare function AutocompleteRebuiltInternal<Value extends OptionLike, Multiple extends boolean = false>(props: AutocompleteRebuiltProps<Value, Multiple>, forwardedRef: Ref<HTMLInputElement | HTMLTextAreaElement>): React.JSX.Element;
8
- export {};