@servicetitan/design-system 12.8.1 → 12.9.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 (102) hide show
  1. package/dist/components/DatePicker/DatePicker.js +11 -5
  2. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  3. package/dist/components/DateRangePicker/DateRangePicker.d.ts +3 -3
  4. package/dist/components/Dialog/Dialog.d.ts +3 -3
  5. package/dist/components/Drawer/Drawer.d.ts +3 -3
  6. package/dist/components/Drawer/Drawer.js +11 -23
  7. package/dist/components/Drawer/Drawer.js.map +1 -1
  8. package/dist/components/Input/Input.js +3 -6
  9. package/dist/components/Input/Input.js.map +1 -1
  10. package/dist/components/Modal/Modal.d.ts +3 -3
  11. package/dist/components/Modal/Modal.js.map +1 -1
  12. package/dist/components/Modal/components.d.ts +3 -3
  13. package/dist/components/Modal/components.js +6 -18
  14. package/dist/components/Modal/components.js.map +1 -1
  15. package/dist/components/Popover/Popover.d.ts +3 -3
  16. package/dist/components/ProgressTracker/ProgressTracker.css +13 -1
  17. package/dist/components/ProgressTracker/ProgressTracker.css.map +1 -1
  18. package/dist/components/ProgressTracker/ProgressTracker.d.ts +6 -0
  19. package/dist/components/ProgressTracker/ProgressTracker.js +10 -2
  20. package/dist/components/ProgressTracker/ProgressTracker.js.map +1 -1
  21. package/dist/components/ProgressTracker/ProgressTrackerDivider.d.ts +1 -0
  22. package/dist/components/ProgressTracker/ProgressTrackerDivider.js +3 -1
  23. package/dist/components/ProgressTracker/ProgressTrackerDivider.js.map +1 -1
  24. package/dist/components/ProgressTracker/ProgressTrackerStep.css +73 -18
  25. package/dist/components/ProgressTracker/ProgressTrackerStep.css.map +1 -1
  26. package/dist/components/ProgressTracker/ProgressTrackerStep.d.ts +3 -0
  27. package/dist/components/ProgressTracker/ProgressTrackerStep.js +29 -7
  28. package/dist/components/ProgressTracker/ProgressTrackerStep.js.map +1 -1
  29. package/dist/components/ProgressTracker/index.css +86 -19
  30. package/dist/components/ProgressTracker/index.css.map +1 -1
  31. package/dist/components/Scroll/Scroll.css +6 -0
  32. package/dist/components/Scroll/Scroll.css.map +1 -1
  33. package/dist/components/Scroll/Scroll.js +7 -1
  34. package/dist/components/Scroll/Scroll.js.map +1 -1
  35. package/dist/components/Scroll/index.css +6 -0
  36. package/dist/components/Scroll/index.css.map +1 -1
  37. package/dist/components/Tab/Tab.js +1 -1
  38. package/dist/components/Tab/Tab.js.map +1 -1
  39. package/dist/components/Takeover/Takeover.d.ts +3 -3
  40. package/dist/components/Takeover/Takeover.js +9 -21
  41. package/dist/components/Takeover/Takeover.js.map +1 -1
  42. package/dist/components/TimePicker/TimePicker.js +10 -7
  43. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  44. package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +1 -0
  45. package/dist/components/TimePicker/components/TimePickerOptionList.js +8 -2
  46. package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
  47. package/dist/components/TimePicker/utils/getClosestOption.js +1 -1
  48. package/dist/components/TimePicker/utils/getClosestOption.js.map +1 -1
  49. package/dist/components/TimePicker/utils/utils.js +0 -1
  50. package/dist/components/TimePicker/utils/utils.js.map +1 -1
  51. package/dist/components/index.css +92 -19
  52. package/dist/components/index.css.map +1 -1
  53. package/dist/global/index.css +1 -1
  54. package/dist/global/version.css +1 -1
  55. package/dist/hooks/index.d.ts +1 -0
  56. package/dist/hooks/index.js +1 -0
  57. package/dist/hooks/index.js.map +1 -1
  58. package/dist/hooks/useFocusTrap/index.d.ts +1 -0
  59. package/dist/hooks/useFocusTrap/index.js +2 -0
  60. package/dist/hooks/useFocusTrap/index.js.map +1 -0
  61. package/dist/hooks/useFocusTrap/internal/index.d.ts +5 -0
  62. package/dist/hooks/useFocusTrap/internal/index.js +6 -0
  63. package/dist/hooks/useFocusTrap/internal/index.js.map +1 -0
  64. package/dist/hooks/useFocusTrap/internal/useAutoFocus.d.ts +6 -0
  65. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js +23 -0
  66. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js.map +1 -0
  67. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.d.ts +11 -0
  68. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js +28 -0
  69. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js.map +1 -0
  70. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.d.ts +9 -0
  71. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js +28 -0
  72. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js.map +1 -0
  73. package/dist/hooks/useFocusTrap/internal/useFocusLock.d.ts +6 -0
  74. package/dist/hooks/useFocusTrap/internal/useFocusLock.js +39 -0
  75. package/dist/hooks/useFocusTrap/internal/useFocusLock.js.map +1 -0
  76. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.d.ts +3 -0
  77. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js +12 -0
  78. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js.map +1 -0
  79. package/dist/hooks/useFocusTrap/internal/utils.d.ts +23 -0
  80. package/dist/hooks/useFocusTrap/internal/utils.js +161 -0
  81. package/dist/hooks/useFocusTrap/internal/utils.js.map +1 -0
  82. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +37 -0
  83. package/dist/hooks/useFocusTrap/useFocusTrap.js +34 -0
  84. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -0
  85. package/dist/internal/Popper/Popper.d.ts +3 -3
  86. package/dist/internal/Popper/Popper.js +9 -17
  87. package/dist/internal/Popper/Popper.js.map +1 -1
  88. package/dist/system-light.css +1 -1
  89. package/dist/system-light.min.css +1 -1
  90. package/dist/system.css +93 -20
  91. package/dist/system.css.map +1 -1
  92. package/dist/system.min.css +2 -2
  93. package/dist/utilities/index.d.ts +0 -1
  94. package/dist/utilities/index.js +0 -1
  95. package/dist/utilities/index.js.map +1 -1
  96. package/package.json +7 -7
  97. package/dist/utilities/FocusTrap/FocusTrap.d.ts +0 -8
  98. package/dist/utilities/FocusTrap/FocusTrap.js +0 -52
  99. package/dist/utilities/FocusTrap/FocusTrap.js.map +0 -1
  100. package/dist/utilities/FocusTrap/index.d.ts +0 -1
  101. package/dist/utilities/FocusTrap/index.js +0 -2
  102. package/dist/utilities/FocusTrap/index.js.map +0 -1
@@ -1,10 +1,9 @@
1
1
  .ProgressTrackerStep {
2
- color: var(--colorsTextSubdued, #606162);
3
2
  display: flex;
4
- align-items: center;
3
+ flex-shrink: 1;
4
+ flex-grow: 0;
5
5
  position: relative;
6
- margin: 0 24px;
7
- padding: 0 8px;
6
+ margin: 0 16px;
8
7
  text-decoration: none;
9
8
  }
10
9
  .ProgressTrackerStep:first-child {
@@ -21,12 +20,20 @@
21
20
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #a9d1ff);
22
21
  }
23
22
 
23
+ .ProgressTrackerStep--small {
24
+ margin: 0 8px;
25
+ }
26
+
27
+ .ProgressTrackerStep--hideLabels {
28
+ margin: 0 8px;
29
+ }
30
+
24
31
  /* Children */
25
32
  .ProgressTrackerStep__icon {
26
- width: 1.8em;
27
- height: 1.8em;
33
+ font-weight: 700;
34
+ width: 24px;
35
+ height: 24px;
28
36
  border-radius: 50%;
29
- background: var(--colorsSurfaceGreyStronger, #bcbcbd);
30
37
  color: var(---colorsTextInverted, #ffffff);
31
38
  display: flex;
32
39
  flex-shrink: 0;
@@ -34,42 +41,90 @@
34
41
  align-items: center;
35
42
  }
36
43
 
37
- .ProgressTrackerStep__label {
44
+ .ProgressTrackerStep__simple {
45
+ width: 17px;
46
+ height: 17px;
47
+ border-radius: 50%;
48
+ color: var(---colorsTextInverted, #ffffff);
49
+ display: flex;
38
50
  flex-shrink: 0;
39
- white-space: nowrap;
51
+ justify-content: center;
52
+ align-items: center;
53
+ }
54
+ .ProgressTrackerStep--incomplete .ProgressTrackerStep__simple {
55
+ box-shadow: 0 0 0 2px inset var(--colorsStatusDefault, #8c9ca5);
56
+ }
57
+ .ProgressTrackerStep--active .ProgressTrackerStep__simple {
58
+ box-shadow: 0 0 0 2px inset var(--colorsTextPrimary, #1360d9);
59
+ }
60
+ .ProgressTrackerStep--complete .ProgressTrackerStep__simple, .ProgressTrackerStep--editing .ProgressTrackerStep__simple {
61
+ background-color: var(--colorsTextPrimary, #1360d9);
62
+ }
63
+
64
+ .ProgressTrackerStep__label {
40
65
  margin-left: 8px;
41
66
  }
42
67
 
43
- /* States */
44
- .ProgressTrackerStep--clickable:hover {
68
+ .ProgressTrackerStep--medium .ProgressTrackerStep__label {
69
+ margin-top: 3px;
70
+ }
71
+
72
+ .ProgressTrackerStep--clickable {
45
73
  cursor: pointer;
46
- opacity: 0.8;
74
+ }
75
+ .ProgressTrackerStep--clickable .ProgressTrackerStep__label {
76
+ color: var(--colorsTextPrimary, #1360d9);
77
+ }
78
+ .ProgressTrackerStep--clickable .ProgressTrackerStep__label:hover, .ProgressTrackerStep--clickable .ProgressTrackerStep__label:focus {
79
+ text-decoration: underline;
80
+ outline: none;
47
81
  }
48
82
 
49
- .ProgressTrackerStep--complete {
50
- color: var(--colorsTextDefault, #141414);
83
+ .ProgressTrackerStep--incomplete {
84
+ color: var(--colorsTextSubdued, #606162);
51
85
  }
86
+ .ProgressTrackerStep--incomplete .ProgressTrackerStep__icon {
87
+ box-shadow: 0 0 0 2px inset var(--colorsStatusDefault, #8c9ca5);
88
+ color: var(--colorsTextSubdued, #606162);
89
+ }
90
+
52
91
  .ProgressTrackerStep--complete .ProgressTrackerStep__icon {
53
- background-color: var(--colorsStatusSuccess, #18a761);
92
+ color: var(--colorsTextPrimary, #1360d9);
54
93
  }
55
94
  .ProgressTrackerStep--complete .a-Icon {
56
- font-size: 20px;
95
+ font-size: 28px;
57
96
  }
58
97
 
59
98
  .ProgressTrackerStep--editing,
60
99
  .ProgressTrackerStep--active {
61
100
  color: var(--colorsTextDefault, #141414);
62
101
  }
102
+ .ProgressTrackerStep--editing .ProgressTrackerStep__label,
103
+ .ProgressTrackerStep--active .ProgressTrackerStep__label {
104
+ font-weight: 700;
105
+ }
63
106
  .ProgressTrackerStep--editing .ProgressTrackerStep__icon,
64
107
  .ProgressTrackerStep--active .ProgressTrackerStep__icon {
65
- background-color: var(--colorsStatusInfo, #2270ee);
108
+ box-shadow: 0 0 0 2px inset var(--colorsTextPrimary, #1360d9);
109
+ color: var(--colorsTextPrimary, #1360d9);
66
110
  }
67
111
 
68
112
  .ProgressTrackerStep--disabled {
69
- pointer-events: none !important;
113
+ pointer-events: none;
70
114
  }
71
115
  .ProgressTrackerStep--disabled, .ProgressTrackerStep--disabled:hover {
72
116
  opacity: 0.6;
73
117
  }
118
+ .ProgressTracker--disabled .ProgressTrackerStep--disabled {
119
+ opacity: 1;
120
+ }
121
+
122
+ .ProgressTrackerStep__Tooltip {
123
+ display: none;
124
+ }
125
+
126
+ .ProgressTrackerStep__Tooltip--visible {
127
+ display: block;
128
+ }
74
129
 
75
130
  /*# sourceMappingURL=ProgressTrackerStep.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AASA;EACC,OARc;EASd;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA,YC4Fa;;;ADxFf;AACA;EACC;EACA;EACA;EACA,YAnCc;EAoCd,OArCa;EAsCb;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA,aC2EW;;;ADxEZ;AACA;EACC;EACA,SCwDiB;;;ADrDlB;EACC,OA1Da;;AA4Db;EACC,kBA1Da;;AA6Dd;EAAU,WCwEG;;;ADrEd;AAAA;EAEC,OArEa;;AAsEb;AAAA;EAA6B,kBAlEf;;;AAqEf;EACC;;AAEA;EAEC,SCiCiB","file":"ProgressTrackerStep.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA,YC6Fa;;;ADzFf;EACC;;;AAGD;EACC;;;AAGD;AACA;EACC,aCkEkB;EDjElB;EACA;EACA;EACA,OA5Ca;EA6Cb;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA,OAvDa;EAwDb;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EAEC,kBApEc;;;AAwEhB;EACC,aC8CW;;;AD1CX;EACC;;;AAIF;EACC;;AAEA;EACC,OAvFY;;AAyFZ;EAEC;EACA;;;AAKH;EACC,OAtGc;;AAwGd;EACC;EACA,OA1Ga;;;AA+Gd;EAA6B,OA3GhB;;AA4Gb;EAAU;;;AAGX;AAAA;EAEC,OApHa;;AAsHb;AAAA;EACC,aCZiB;;ADelB;AAAA;EACC;EACA,OAzHY;;;AA6Hd;EACC;;AAEA;EAEC,SCtBiB;;ADyBlB;EAA+B;;;AAGhC;EACC;;;AAGD;EACC","file":"ProgressTrackerStep.css"}
@@ -18,6 +18,9 @@ export interface ProgressTrackerStepPropsStrict {
18
18
  onClick?: (e: React.SyntheticEvent<HTMLElement>) => void;
19
19
  /** The step number. Automatically set when inside <ProgressTracker> */
20
20
  stepNumber?: number;
21
+ hideLabels?: boolean;
22
+ /** Size of the Progress Tracker step. Defaults to medium. */
23
+ size?: 'small' | 'medium';
21
24
  }
22
25
  export interface ProgressTrackerStepProps extends ProgressTrackerStepPropsStrict {
23
26
  [propName: string]: any;
@@ -12,25 +12,47 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import React from 'react';
13
13
  import classnames from 'classnames';
14
14
  import { Icon } from '../Icon';
15
+ import { Tooltip } from '../Tooltip';
16
+ import { useScreenSize } from '../../hooks';
15
17
  export const ProgressTrackerStep = (_a) => {
16
- var { active = false, className, completed = false, disabled, editing, label, stepNumber } = _a, props = __rest(_a, ["active", "className", "completed", "disabled", "editing", "label", "stepNumber"]);
18
+ var { active = false, className, completed = false, disabled, editing, href, label, size = 'medium', stepNumber, hideLabels } = _a, props = __rest(_a, ["active", "className", "completed", "disabled", "editing", "href", "label", "size", "stepNumber", "hideLabels"]);
19
+ const screensize = useScreenSize();
20
+ const getStepContent = () => {
21
+ if (size === 'medium')
22
+ return (React.createElement("div", { className: "ProgressTrackerStep__icon" }, getBadge()));
23
+ return React.createElement("div", { className: "ProgressTrackerStep__simple" });
24
+ };
17
25
  const getBadge = () => {
26
+ if (size === 'small')
27
+ return;
18
28
  if (completed)
19
- return React.createElement(Icon, { name: "check" });
29
+ return React.createElement(Icon, { name: "check_circle" });
20
30
  if (editing)
21
31
  return React.createElement(Icon, { name: "edit" });
22
32
  return stepNumber;
23
33
  };
34
+ const StepElement = href && !disabled ? 'a' : 'div';
35
+ const getLabel = () => {
36
+ if (!label || hideLabels || screensize.smallerThan.tablet)
37
+ return;
38
+ return React.createElement("div", { className: "ProgressTrackerStep__label" }, label);
39
+ };
40
+ const getTooltipLabel = () => {
41
+ if (screensize.smallerThan.tablet || hideLabels)
42
+ return label;
43
+ };
24
44
  const ProgressTrackerStepClasses = classnames('ProgressTrackerStep', className, {
25
45
  'ProgressTrackerStep--active': active,
26
46
  'ProgressTrackerStep--complete': completed,
27
- 'ProgressTrackerStep--clickable': !disabled && (props.href != null || props.onClick != null),
47
+ 'ProgressTrackerStep--incomplete': !active && !completed && !editing,
48
+ 'ProgressTrackerStep--clickable': href != null || props.onClick != null,
28
49
  'ProgressTrackerStep--disabled': disabled,
29
50
  'ProgressTrackerStep--editing': editing,
51
+ 'ProgressTrackerStep--hideLabels': hideLabels,
52
+ [`ProgressTrackerStep--${size}`]: size,
30
53
  });
31
- const StepElement = props.href ? 'a' : 'div';
32
- return (React.createElement(StepElement, Object.assign({ className: ProgressTrackerStepClasses, tabIndex: (props.href || props.onClick) && 0, "data-anvil-component": "ProgressTrackerStep" }, props),
33
- React.createElement("div", { className: "ProgressTrackerStep__icon" }, getBadge()),
34
- label && React.createElement("div", { className: "ProgressTrackerStep__label" }, label)));
54
+ return (React.createElement(StepElement, Object.assign({ className: ProgressTrackerStepClasses, tabIndex: (props.href || props.onClick) && 0, "data-anvil-component": "ProgressTrackerStep", href: !disabled && href }, props),
55
+ React.createElement(Tooltip, { text: getTooltipLabel(), portal: true, direction: "b", el: "div" }, getStepContent()),
56
+ getLabel()));
35
57
  };
36
58
  //# sourceMappingURL=ProgressTrackerStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressTrackerStep.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAoC/B,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EASjE,EAAE,EAAE;QAT6D,EACjE,MAAM,GAAG,KAAK,EACd,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,UAAU,OAEV,EADG,KAAK,cARyD,kFASjE,CADQ;IAER,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,SAAS;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,CAAC;QAC5C,IAAI,OAAO;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,CAAC;QACzC,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,UAAU,CAC5C,qBAAqB,EACrB,SAAS,EACT;QACC,6BAA6B,EAAE,MAAM;QACrC,+BAA+B,EAAE,SAAS;QAC1C,gCAAgC,EAC/B,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QAC3D,+BAA+B,EAAE,QAAQ;QACzC,8BAA8B,EAAE,OAAO;KACvC,CACD,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7C,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,0BACvB,qBAAqB,IACtC,KAAK;QAET,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,EAAE,CAAO;QAC5D,KAAK,IAAI,6BAAK,SAAS,EAAC,4BAA4B,IAAE,KAAK,CAAO,CACtD,CACd,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"ProgressTrackerStep.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyC5C,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAYjE,EAAE,EAAE;QAZ6D,EACjE,MAAM,GAAG,KAAK,EACd,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,UAAU,EACV,UAAU,OAEV,EADG,KAAK,cAXyD,gHAYjE,CADQ;IAER,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,IAAI,IAAI,KAAK,QAAQ;YACpB,OAAO,CACN,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,EAAE,CAAO,CAC7D,CAAC;QACH,OAAO,6BAAK,SAAS,EAAC,6BAA6B,GAAG,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO;QAC7B,IAAI,SAAS;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,CAAC;QACnD,IAAI,OAAO;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,CAAC;QACzC,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO;QAClE,OAAO,6BAAK,SAAS,EAAC,4BAA4B,IAAE,KAAK,CAAO,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,UAAU,CAC5C,qBAAqB,EACrB,SAAS,EACT;QACC,6BAA6B,EAAE,MAAM;QACrC,+BAA+B,EAAE,SAAS;QAC1C,iCAAiC,EAChC,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAClC,gCAAgC,EAC/B,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QACtC,+BAA+B,EAAE,QAAQ;QACzC,8BAA8B,EAAE,OAAO;QACvC,iCAAiC,EAAE,UAAU;QAC7C,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE,IAAI;KACtC,CACD,CAAC;IAEF,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,0BACvB,qBAAqB,EAC1C,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,IACnB,KAAK;QAET,oBAAC,OAAO,IAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,QAAC,SAAS,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,IAC7D,cAAc,EAAE,CACR;QACT,QAAQ,EAAE,CACE,CACd,CAAC;AACH,CAAC,CAAC"}
@@ -14,6 +14,9 @@
14
14
  .ProgressTrackerDivider {
15
15
  position: relative;
16
16
  width: 100%;
17
+ flex-shrink: 0;
18
+ flex-grow: 1;
19
+ flex-basis: 0;
17
20
  }
18
21
  .ProgressTrackerDivider::after {
19
22
  content: "";
@@ -23,16 +26,24 @@
23
26
  top: 50%;
24
27
  margin-top: -1px;
25
28
  height: 2px;
26
- background-color: var(--colorsBorderGrey, #dfe0e1);
29
+ background-color: var(--colorsStatusDefault, #8c9ca5);
30
+ }
31
+
32
+ .ProgressTracker--disabled {
33
+ cursor: not-allowed;
34
+ opacity: 0.6;
35
+ }
36
+
37
+ .ProgressTrackerDivider--completed::after {
38
+ background-color: var(--colorsStatusInfo, #2270ee);
27
39
  }
28
40
 
29
41
  .ProgressTrackerStep {
30
- color: var(--colorsTextSubdued, #606162);
31
42
  display: flex;
32
- align-items: center;
43
+ flex-shrink: 1;
44
+ flex-grow: 0;
33
45
  position: relative;
34
- margin: 0 24px;
35
- padding: 0 8px;
46
+ margin: 0 16px;
36
47
  text-decoration: none;
37
48
  }
38
49
  .ProgressTrackerStep:first-child {
@@ -49,12 +60,20 @@
49
60
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #a9d1ff);
50
61
  }
51
62
 
63
+ .ProgressTrackerStep--small {
64
+ margin: 0 8px;
65
+ }
66
+
67
+ .ProgressTrackerStep--hideLabels {
68
+ margin: 0 8px;
69
+ }
70
+
52
71
  /* Children */
53
72
  .ProgressTrackerStep__icon {
54
- width: 1.8em;
55
- height: 1.8em;
73
+ font-weight: 700;
74
+ width: 24px;
75
+ height: 24px;
56
76
  border-radius: 50%;
57
- background: var(--colorsSurfaceGreyStronger, #bcbcbd);
58
77
  color: var(---colorsTextInverted, #ffffff);
59
78
  display: flex;
60
79
  flex-shrink: 0;
@@ -62,42 +81,90 @@
62
81
  align-items: center;
63
82
  }
64
83
 
65
- .ProgressTrackerStep__label {
84
+ .ProgressTrackerStep__simple {
85
+ width: 17px;
86
+ height: 17px;
87
+ border-radius: 50%;
88
+ color: var(---colorsTextInverted, #ffffff);
89
+ display: flex;
66
90
  flex-shrink: 0;
67
- white-space: nowrap;
91
+ justify-content: center;
92
+ align-items: center;
93
+ }
94
+ .ProgressTrackerStep--incomplete .ProgressTrackerStep__simple {
95
+ box-shadow: 0 0 0 2px inset var(--colorsStatusDefault, #8c9ca5);
96
+ }
97
+ .ProgressTrackerStep--active .ProgressTrackerStep__simple {
98
+ box-shadow: 0 0 0 2px inset var(--colorsTextPrimary, #1360d9);
99
+ }
100
+ .ProgressTrackerStep--complete .ProgressTrackerStep__simple, .ProgressTrackerStep--editing .ProgressTrackerStep__simple {
101
+ background-color: var(--colorsTextPrimary, #1360d9);
102
+ }
103
+
104
+ .ProgressTrackerStep__label {
68
105
  margin-left: 8px;
69
106
  }
70
107
 
71
- /* States */
72
- .ProgressTrackerStep--clickable:hover {
108
+ .ProgressTrackerStep--medium .ProgressTrackerStep__label {
109
+ margin-top: 3px;
110
+ }
111
+
112
+ .ProgressTrackerStep--clickable {
73
113
  cursor: pointer;
74
- opacity: 0.8;
114
+ }
115
+ .ProgressTrackerStep--clickable .ProgressTrackerStep__label {
116
+ color: var(--colorsTextPrimary, #1360d9);
117
+ }
118
+ .ProgressTrackerStep--clickable .ProgressTrackerStep__label:hover, .ProgressTrackerStep--clickable .ProgressTrackerStep__label:focus {
119
+ text-decoration: underline;
120
+ outline: none;
75
121
  }
76
122
 
77
- .ProgressTrackerStep--complete {
78
- color: var(--colorsTextDefault, #141414);
123
+ .ProgressTrackerStep--incomplete {
124
+ color: var(--colorsTextSubdued, #606162);
79
125
  }
126
+ .ProgressTrackerStep--incomplete .ProgressTrackerStep__icon {
127
+ box-shadow: 0 0 0 2px inset var(--colorsStatusDefault, #8c9ca5);
128
+ color: var(--colorsTextSubdued, #606162);
129
+ }
130
+
80
131
  .ProgressTrackerStep--complete .ProgressTrackerStep__icon {
81
- background-color: var(--colorsStatusSuccess, #18a761);
132
+ color: var(--colorsTextPrimary, #1360d9);
82
133
  }
83
134
  .ProgressTrackerStep--complete .a-Icon {
84
- font-size: 20px;
135
+ font-size: 28px;
85
136
  }
86
137
 
87
138
  .ProgressTrackerStep--editing,
88
139
  .ProgressTrackerStep--active {
89
140
  color: var(--colorsTextDefault, #141414);
90
141
  }
142
+ .ProgressTrackerStep--editing .ProgressTrackerStep__label,
143
+ .ProgressTrackerStep--active .ProgressTrackerStep__label {
144
+ font-weight: 700;
145
+ }
91
146
  .ProgressTrackerStep--editing .ProgressTrackerStep__icon,
92
147
  .ProgressTrackerStep--active .ProgressTrackerStep__icon {
93
- background-color: var(--colorsStatusInfo, #2270ee);
148
+ box-shadow: 0 0 0 2px inset var(--colorsTextPrimary, #1360d9);
149
+ color: var(--colorsTextPrimary, #1360d9);
94
150
  }
95
151
 
96
152
  .ProgressTrackerStep--disabled {
97
- pointer-events: none !important;
153
+ pointer-events: none;
98
154
  }
99
155
  .ProgressTrackerStep--disabled, .ProgressTrackerStep--disabled:hover {
100
156
  opacity: 0.6;
101
157
  }
158
+ .ProgressTracker--disabled .ProgressTrackerStep--disabled {
159
+ opacity: 1;
160
+ }
161
+
162
+ .ProgressTrackerStep__Tooltip {
163
+ display: none;
164
+ }
165
+
166
+ .ProgressTrackerStep__Tooltip--visible {
167
+ display: block;
168
+ }
102
169
 
103
170
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ProgressTracker/ProgressTracker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/ProgressTracker/ProgressTrackerStep.scss"],"names":[],"mappings":"AAAA;ACKA;ACJC;EACA;AAEA;EACA;EDGA;EACA;EACA;EACA,WE8Ha;EF7Hb,aEgGqB;;;AF7FtB;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBAxBe;;;AGMjB;EACC,OARc;EASd;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA,YD4Fa;;;ACxFf;AACA;EACC;EACA;EACA;EACA,YAnCc;EAoCd,OArCa;EAsCb;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA,aD2EW;;;ACxEZ;AACA;EACC;EACA,SDwDiB;;;ACrDlB;EACC,OA1Da;;AA4Db;EACC,kBA1Da;;AA6Dd;EAAU,WDwEG;;;ACrEd;AAAA;EAEC,OArEa;;AAsEb;AAAA;EAA6B,kBAlEf;;;AAqEf;EACC;;AAEA;EAEC,SDiCiB","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ProgressTracker/ProgressTracker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/ProgressTracker/ProgressTrackerStep.scss"],"names":[],"mappings":"AAAA;ACMA;ACLC;EACA;AAEA;EACA;EDIA;EACA;EACA;EACA,WE6Ha;EF5Hb,aE+FqB;;;AF5FtB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBA5Be;;;AAgCjB;EACC;EACA,SE6EkB;;;AFzElB;EAAW,kBArCM;;;AGKlB;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA,YD6Fa;;;ACzFf;EACC;;;AAGD;EACC;;;AAGD;AACA;EACC,aDkEkB;ECjElB;EACA;EACA;EACA,OA5Ca;EA6Cb;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA,OAvDa;EAwDb;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EAEC,kBApEc;;;AAwEhB;EACC,aD8CW;;;AC1CX;EACC;;;AAIF;EACC;;AAEA;EACC,OAvFY;;AAyFZ;EAEC;EACA;;;AAKH;EACC,OAtGc;;AAwGd;EACC;EACA,OA1Ga;;;AA+Gd;EAA6B,OA3GhB;;AA4Gb;EAAU;;;AAGX;AAAA;EAEC,OApHa;;AAsHb;AAAA;EACC,aDZiB;;ACelB;AAAA;EACC;EACA,OAzHY;;;AA6Hd;EACC;;AAEA;EAEC,SDtBiB;;ACyBlB;EAA+B;;;AAGhC;EACC;;;AAGD;EACC","file":"index.css"}
@@ -43,6 +43,12 @@
43
43
  .Scroll--of-y-hidden > .Scroll__Scrollbar {
44
44
  overflow-y: hidden;
45
45
  }
46
+ .Scroll__Scrollbar:focus {
47
+ outline-color: var(--colorsFocusRingPrimary, #a9d1ff);
48
+ }
49
+ .Scroll__Scrollbar:focus-visible {
50
+ outline-color: var(--colorsFocusRingPrimary, #a9d1ff);
51
+ }
46
52
 
47
53
  /* Scrollable without visible scrollbar */
48
54
  .Scroll--of-x-hidden.Scroll--hidden-scrollbar > .Scroll__Scrollbar {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Scroll/Scroll.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACMA;AACA;EACC;EACA;;;AAGD;AACA;AAAA;EAC4C;;;AAE5C;AACA;AAAA;EAC2C;;;AAE3C;ACnBC;EACA;AAEA;EACA;EDkBA;AAEA;;AACA;EAAyB;;AACzB;EAAyB;;AAEzB;EAA2B;;AAC3B;EAA2B;;AAE3B;EAA2B;;AAC3B;EAA2B;;;AAG5B;AACA;EAAqE;;;AACrE;EAAqE;;;AAErE;AAAA;EAEC;;AAEA;AAAA;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAQA;EAAmB;;AAQnB;EAAmB;;AAIrB;EAIC;EACA;;AAIA;EAIC;EACA;EACA,QAvGkB;;AA0GnB;EAIC;EACA,OA/GkB;EAgHlB;;AAGD;EAIC;EACA;EACA,QAzHkB;;AA4HnB;EAIC;EACA,OAjIkB;EAkIlB;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAc;;;AACd;EAAgB;;;AAChB;EAAiB;;;AACjB;EAAe","file":"Scroll.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Scroll/Scroll.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACOA;AACA;EACC;EACA;;;AAGD;AACA;AAAA;EAC4C;;;AAE5C;AACA;AAAA;EAC2C;;;AAE3C;ACpBC;EACA;AAEA;EACA;EDmBA;AAEA;;AACA;EAAyB;;AACzB;EAAyB;;AAEzB;EAA2B;;AAC3B;EAA2B;;AAE3B;EAA2B;;AAC3B;EAA2B;;AAG3B;EAAU,eAhCU;;AAmCpB;EAAkB,eAnCE;;;AAsCrB;AACA;EAAqE;;;AACrE;EAAqE;;;AAErE;AAAA;EAEC;;AAEA;AAAA;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAQA;EAAmB;;AAQnB;EAAmB;;AAIrB;EAIC;EACA;;AAIA;EAIC;EACA;EACA,QA9GkB;;AAiHnB;EAIC;EACA,OAtHkB;EAuHlB;;AAGD;EAIC;EACA;EACA,QAhIkB;;AAmInB;EAIC;EACA,OAxIkB;EAyIlB;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAc;;;AACd;EAAgB;;;AAChB;EAAiB;;;AACjB;EAAe","file":"Scroll.css"}
@@ -16,6 +16,12 @@ export const Scroll = (_a) => {
16
16
  var { el: ScrollElement = 'div', children, className, height: maxHeight, width: maxWidth, horizontal = 'auto', vertical = 'auto', scrollIndicator = false, scrollbar } = _a, props = __rest(_a, ["el", "children", "className", "height", "width", "horizontal", "vertical", "scrollIndicator", "scrollbar"]);
17
17
  const scrollbarRef = React.useRef(null);
18
18
  const { top, right, bottom, left } = useScrollPosition(scrollbarRef);
19
+ const isScrollable = top ||
20
+ right ||
21
+ bottom ||
22
+ left ||
23
+ horizontal === 'scroll' ||
24
+ vertical === 'scroll';
19
25
  const ScrollClasses = classnames('Scroll', className, {
20
26
  [`Scroll--of-x-${horizontal}`]: horizontal,
21
27
  [`Scroll--of-y-${vertical}`]: vertical,
@@ -38,6 +44,6 @@ export const Scroll = (_a) => {
38
44
  };
39
45
  return (React.createElement(ScrollElement, { className: ScrollClasses, style: styles, "data-anvil-component": "Scroll" },
40
46
  scrollIndicator && shadows,
41
- React.createElement("div", Object.assign({ className: "Scroll__Scrollbar", ref: scrollbarRef }, props), children)));
47
+ React.createElement("div", Object.assign({ className: "Scroll__Scrollbar", tabIndex: props.tabIndex || isScrollable ? 0 : null, ref: scrollbarRef }, props), children)));
42
48
  };
43
49
  //# sourceMappingURL=Scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAmClE,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAWvC,EAAE,EAAE;QAXmC,EACvC,EAAE,EAAE,aAAa,GAAG,KAAK,EACzB,QAAQ,EACR,SAAS,EACT,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,QAAQ,EACf,UAAU,GAAG,MAAM,EACnB,QAAQ,GAAG,MAAM,EACjB,eAAe,GAAG,KAAK,EACvB,SAAS,OAET,EADG,KAAK,cAV+B,4GAWvC,CADQ;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAErE,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;QACrD,CAAC,gBAAgB,UAAU,EAAE,CAAC,EAAE,UAAU;QAC1C,CAAC,gBAAgB,QAAQ,EAAE,CAAC,EAAE,QAAQ;QACtC,wBAAwB,EAAE,GAAG;QAC7B,0BAA0B,EAAE,KAAK;QACjC,2BAA2B,EAAE,MAAM;QACnC,yBAAyB,EAAE,IAAI;QAC/B,0BAA0B,EAAE,SAAS,KAAK,QAAQ;QAClD,qBAAqB,EAAE,CAAC,SAAS;QACjC,oBAAoB,EAAE,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,6BAAK,SAAS,EAAC,iBAAiB;QAC/B,6BAAK,SAAS,EAAC,aAAa,GAAG;QAC/B,6BAAK,SAAS,EAAC,eAAe,GAAG;QACjC,6BAAK,SAAS,EAAC,gBAAgB,GAAG;QAClC,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC3B,CACN,CAAC;IAEF,MAAM,MAAM,GAAwB;QACnC,QAAQ;QACR,SAAS;KACT,CAAC;IAEF,OAAO,CACN,oBAAC,aAAa,IACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,MAAM,0BACQ,QAAQ;QAE5B,eAAe,IAAI,OAAO;QAC3B,2CAAK,SAAS,EAAC,mBAAmB,EAAC,GAAG,EAAE,YAAY,IAAM,KAAK,GAC7D,QAAQ,CACJ,CACS,CAChB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAmClE,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAWvC,EAAE,EAAE;QAXmC,EACvC,EAAE,EAAE,aAAa,GAAG,KAAK,EACzB,QAAQ,EACR,SAAS,EACT,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,QAAQ,EACf,UAAU,GAAG,MAAM,EACnB,QAAQ,GAAG,MAAM,EACjB,eAAe,GAAG,KAAK,EACvB,SAAS,OAET,EADG,KAAK,cAV+B,4GAWvC,CADQ;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,YAAY,GACjB,GAAG;QACH,KAAK;QACL,MAAM;QACN,IAAI;QACJ,UAAU,KAAK,QAAQ;QACvB,QAAQ,KAAK,QAAQ,CAAC;IAEvB,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;QACrD,CAAC,gBAAgB,UAAU,EAAE,CAAC,EAAE,UAAU;QAC1C,CAAC,gBAAgB,QAAQ,EAAE,CAAC,EAAE,QAAQ;QACtC,wBAAwB,EAAE,GAAG;QAC7B,0BAA0B,EAAE,KAAK;QACjC,2BAA2B,EAAE,MAAM;QACnC,yBAAyB,EAAE,IAAI;QAC/B,0BAA0B,EAAE,SAAS,KAAK,QAAQ;QAClD,qBAAqB,EAAE,CAAC,SAAS;QACjC,oBAAoB,EAAE,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,6BAAK,SAAS,EAAC,iBAAiB;QAC/B,6BAAK,SAAS,EAAC,aAAa,GAAG;QAC/B,6BAAK,SAAS,EAAC,eAAe,GAAG;QACjC,6BAAK,SAAS,EAAC,gBAAgB,GAAG;QAClC,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC3B,CACN,CAAC;IAEF,MAAM,MAAM,GAAwB;QACnC,QAAQ;QACR,SAAS;KACT,CAAC;IAEF,OAAO,CACN,oBAAC,aAAa,IACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,MAAM,0BACQ,QAAQ;QAE5B,eAAe,IAAI,OAAO;QAC3B,2CACC,SAAS,EAAC,mBAAmB,EAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACnD,GAAG,EAAE,YAAY,IACb,KAAK,GAER,QAAQ,CACJ,CACS,CAChB,CAAC;AACH,CAAC,CAAC"}
@@ -43,6 +43,12 @@
43
43
  .Scroll--of-y-hidden > .Scroll__Scrollbar {
44
44
  overflow-y: hidden;
45
45
  }
46
+ .Scroll__Scrollbar:focus {
47
+ outline-color: var(--colorsFocusRingPrimary, #a9d1ff);
48
+ }
49
+ .Scroll__Scrollbar:focus-visible {
50
+ outline-color: var(--colorsFocusRingPrimary, #a9d1ff);
51
+ }
46
52
 
47
53
  /* Scrollable without visible scrollbar */
48
54
  .Scroll--of-x-hidden.Scroll--hidden-scrollbar > .Scroll__Scrollbar {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Scroll/Scroll.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACMA;AACA;EACC;EACA;;;AAGD;AACA;AAAA;EAC4C;;;AAE5C;AACA;AAAA;EAC2C;;;AAE3C;ACnBC;EACA;AAEA;EACA;EDkBA;AAEA;;AACA;EAAyB;;AACzB;EAAyB;;AAEzB;EAA2B;;AAC3B;EAA2B;;AAE3B;EAA2B;;AAC3B;EAA2B;;;AAG5B;AACA;EAAqE;;;AACrE;EAAqE;;;AAErE;AAAA;EAEC;;AAEA;AAAA;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAQA;EAAmB;;AAQnB;EAAmB;;AAIrB;EAIC;EACA;;AAIA;EAIC;EACA;EACA,QAvGkB;;AA0GnB;EAIC;EACA,OA/GkB;EAgHlB;;AAGD;EAIC;EACA;EACA,QAzHkB;;AA4HnB;EAIC;EACA,OAjIkB;EAkIlB;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAc;;;AACd;EAAgB;;;AAChB;EAAiB;;;AACjB;EAAe","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Scroll/Scroll.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACOA;AACA;EACC;EACA;;;AAGD;AACA;AAAA;EAC4C;;;AAE5C;AACA;AAAA;EAC2C;;;AAE3C;ACpBC;EACA;AAEA;EACA;EDmBA;AAEA;;AACA;EAAyB;;AACzB;EAAyB;;AAEzB;EAA2B;;AAC3B;EAA2B;;AAE3B;EAA2B;;AAC3B;EAA2B;;AAG3B;EAAU,eAhCU;;AAmCpB;EAAkB,eAnCE;;;AAsCrB;AACA;EAAqE;;;AACrE;EAAqE;;;AAErE;AAAA;EAEC;;AAEA;AAAA;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAQA;EAAmB;;AAQnB;EAAmB;;AAIrB;EAIC;EACA;;AAIA;EAIC;EACA;EACA,QA9GkB;;AAiHnB;EAIC;EACA,OAtHkB;EAuHlB;;AAGD;EAIC;EACA;EACA,QAhIkB;;AAmInB;EAIC;EACA,OAxIkB;EAyIlB;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAc;;;AACd;EAAgB;;;AAChB;EAAiB;;;AACjB;EAAe","file":"index.css"}
@@ -25,6 +25,6 @@ export const Tab = (_a) => {
25
25
  'Tab--disabled': disabled,
26
26
  'Tab--focus-visible': isFocusVisible,
27
27
  });
28
- return (React.createElement(TabElement, Object.assign({ role: "tab", ref: itemRef, tabIndex: disabled ? undefined : 0, "aria-current": active ? 'page' : false, className: TabClasses, onFocus: focusFunction, onBlur: blurFunction, "aria-disabled": props.disabled, "data-anvil-component": "Tab" }, props)));
28
+ return (React.createElement(TabElement, Object.assign({ role: "tab", ref: itemRef, tabIndex: props.tabIndex || disabled ? -1 : 0, "aria-current": active ? 'page' : false, className: TabClasses, onFocus: focusFunction, onBlur: blurFunction, "aria-disabled": props.disabled, "data-anvil-component": "Tab" }, props)));
29
29
  };
30
30
  //# sourceMappingURL=Tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../src/components/Tab/Tab.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAwB9D,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAQjC,EAAE,EAAE;QAR6B,EACjC,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,OAEN,EADG,KAAK,cAPyB,kEAQjC,CADQ;IAER,IAAI,UAAU,GAAQ,QAAQ,CAAC;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,eAAe,CACtE,OAAO,EACP,MAAM,EACN,OAAO,CACP,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,GAAG,GAAG,CAAC;IAEjC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE;QAC/C,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,MAAM;QACxB,eAAe,EAAE,QAAQ;QACzB,oBAAoB,EAAE,cAAc;KACpC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,UAAU,kBACV,IAAI,EAAC,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBACpB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EACrC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,mBACL,KAAK,CAAC,QAAQ,0BACR,KAAK,IACtB,KAAK,EACR,CACF,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../src/components/Tab/Tab.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAwB9D,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAQjC,EAAE,EAAE;QAR6B,EACjC,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,OAEN,EADG,KAAK,cAPyB,kEAQjC,CADQ;IAER,IAAI,UAAU,GAAQ,QAAQ,CAAC;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,eAAe,CACtE,OAAO,EACP,MAAM,EACN,OAAO,CACP,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,GAAG,GAAG,CAAC;IAEjC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE;QAC/C,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,MAAM;QACxB,eAAe,EAAE,QAAQ;QACzB,oBAAoB,EAAE,cAAc;KACpC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,UAAU,kBACV,IAAI,EAAC,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAC/B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EACrC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,mBACL,KAAK,CAAC,QAAQ,0BACR,KAAK,IACtB,KAAK,EACR,CACF,CAAC;AACH,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { FocusTrapProps } from '../../utilities/FocusTrap';
2
+ import { UseFocusTrapProps } from '../../hooks/useFocusTrap';
3
3
  import { TakeoverHeader, TakeoverHeaderProps } from './TakeoverHeader';
4
4
  import { TakeoverSection, TakeoverSectionProps } from './TakeoverSection';
5
5
  import { TakeoverFooter, TakeoverFooterProps } from './TakeoverFooter';
@@ -37,8 +37,8 @@ export interface TakeoverPropsStrict {
37
37
  title: TakeoverHeaderProps['title'];
38
38
  /** Render in a React Portal */
39
39
  portal?: boolean;
40
- /** Options passed into FocusTrap */
41
- focusTrapOptions?: FocusTrapProps;
40
+ /** Options passed into useFocusTrap */
41
+ focusTrapOptions?: UseFocusTrapProps;
42
42
  }
43
43
  export interface TakeoverProps extends TakeoverPropsStrict {
44
44
  [propName: string]: any;
@@ -9,19 +9,18 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useRef } from 'react';
12
+ import React from 'react';
13
13
  import classnames from 'classnames';
14
14
  import { AnimatePresence, motion } from 'framer-motion';
15
15
  import { tokens } from '@servicetitan/tokens/core';
16
16
  import { Overlay } from '../../internal/Overlay';
17
17
  import { wrapWithComponent } from '../../utilities/wrapWithComponent';
18
- import { FocusTrap } from '../../utilities/FocusTrap';
18
+ import { useFocusTrap } from '../../hooks/useFocusTrap';
19
19
  import { TakeoverHeader } from './TakeoverHeader';
20
20
  import { TakeoverSection } from './TakeoverSection';
21
21
  import { TakeoverFooter } from './TakeoverFooter';
22
22
  export const Takeover = (_a) => {
23
23
  var { actions, animate = false, backLabel, children, className, contentWrapperClass, focusTrapOptions, footer, footerAlign = TakeoverFooter.defaultProps.align, onBack, onClose, open = true, portal = true, sectioned, theme = TakeoverHeader.defaultProps.theme, title } = _a, props = __rest(_a, ["actions", "animate", "backLabel", "children", "className", "contentWrapperClass", "focusTrapOptions", "footer", "footerAlign", "onBack", "onClose", "open", "portal", "sectioned", "theme", "title"]);
24
- const [focusWrapper, setFocusWrapper] = React.useState(1);
25
24
  React.useEffect(() => {
26
25
  document.body.classList.add('Takeover--is-open');
27
26
  return () => {
@@ -31,7 +30,8 @@ export const Takeover = (_a) => {
31
30
  }
32
31
  };
33
32
  }, []);
34
- const takeoverRef = useRef(null);
33
+ // Focus trapping
34
+ const takeoverRef = useFocusTrap(Object.assign({ autoFocusContainer: true, disabled: !open }, focusTrapOptions));
35
35
  const headerProps = {
36
36
  actions,
37
37
  backLabel,
@@ -56,24 +56,12 @@ export const Takeover = (_a) => {
56
56
  };
57
57
  const Animate = animate ? AnimatePresence : React.Fragment;
58
58
  const TakeoverEl = animate ? motion.div : 'div';
59
- const TakeoverProps = Object.assign(Object.assign({ className: TakeoverClasses, ref: takeoverRef, tabIndex: focusWrapper }, (animate && framerAnimation)), props);
60
- React.useEffect(() => {
61
- // Removes wrapper to be focusable element after initial tab
62
- function eventHandler(event) {
63
- event.key === 'Tab' && setFocusWrapper(-1);
64
- }
65
- document.addEventListener('keydown', eventHandler);
66
- return () => document.removeEventListener('keydown', eventHandler);
67
- }, []);
68
- React.useEffect(() => {
69
- setFocusWrapper(1);
70
- }, [open]);
59
+ const TakeoverProps = Object.assign(Object.assign({ className: TakeoverClasses, ref: takeoverRef }, (animate && framerAnimation)), props);
71
60
  return (React.createElement(Overlay, { portal: portal, animate: animate, open: open },
72
- React.createElement(Animate, null, open && (React.createElement(FocusTrap, Object.assign({}, focusTrapOptions),
73
- React.createElement(TakeoverEl, Object.assign({ "data-anvil-component": "Takeover" }, TakeoverProps),
74
- React.createElement(TakeoverHeader, Object.assign({}, headerProps)),
75
- React.createElement("div", { className: contentWrapperClasses }, content),
76
- React.createElement(TakeoverFooter, Object.assign({}, footerProps))))))));
61
+ React.createElement(Animate, null, open && (React.createElement(TakeoverEl, Object.assign({ "data-anvil-component": "Takeover" }, TakeoverProps),
62
+ React.createElement(TakeoverHeader, Object.assign({}, headerProps)),
63
+ React.createElement("div", { className: contentWrapperClasses }, content),
64
+ React.createElement(TakeoverFooter, Object.assign({}, footerProps)))))));
77
65
  };
78
66
  Takeover.Header = TakeoverHeader;
79
67
  Takeover.Section = TakeoverSection;
@@ -1 +1 @@
1
- {"version":3,"file":"Takeover.js","sourceRoot":"","sources":["../../../src/components/Takeover/Takeover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Takeover.js","sourceRoot":"","sources":["../../../src/components/Takeover/Takeover.tsx"],"names":[],"mappings":"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"}