@servicetitan/design-system 12.8.1 → 12.10.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 (159) hide show
  1. package/dist/components/Button/Button.css +1 -1
  2. package/dist/components/Button/index.css +1 -1
  3. package/dist/components/Collapsible/Collapsible.js +3 -3
  4. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  5. package/dist/components/DatePicker/DatePicker.d.ts +13 -0
  6. package/dist/components/DatePicker/DatePicker.js +34 -12
  7. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  8. package/dist/components/DatePicker/InputDateMask.d.ts +1 -1
  9. package/dist/components/DatePicker/InputDateMask.js +13 -4
  10. package/dist/components/DatePicker/InputDateMask.js.map +1 -1
  11. package/dist/components/DateRangePicker/DateRangePicker.d.ts +3 -3
  12. package/dist/components/DateRangePicker/DateRangePicker.test.js +2 -2
  13. package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
  14. package/dist/components/DateRangePicker/components/DateRangeInput.js +3 -1
  15. package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
  16. package/dist/components/Dialog/Dialog.d.ts +3 -3
  17. package/dist/components/Drawer/Drawer.d.ts +3 -3
  18. package/dist/components/Drawer/Drawer.js +11 -23
  19. package/dist/components/Drawer/Drawer.js.map +1 -1
  20. package/dist/components/Icon/Icon.css +1 -1
  21. package/dist/components/Icon/index.css +1 -1
  22. package/dist/components/Input/Input.js +3 -6
  23. package/dist/components/Input/Input.js.map +1 -1
  24. package/dist/components/KeyPressListener/KeyPressListener.d.ts +1 -0
  25. package/dist/components/KeyPressListener/KeyPressListener.js +8 -6
  26. package/dist/components/KeyPressListener/KeyPressListener.js.map +1 -1
  27. package/dist/components/Modal/Modal.d.ts +3 -3
  28. package/dist/components/Modal/Modal.js.map +1 -1
  29. package/dist/components/Modal/components.d.ts +3 -3
  30. package/dist/components/Modal/components.js +6 -18
  31. package/dist/components/Modal/components.js.map +1 -1
  32. package/dist/components/Popover/Popover.d.ts +3 -3
  33. package/dist/components/ProgressTracker/ProgressTracker.css +13 -1
  34. package/dist/components/ProgressTracker/ProgressTracker.css.map +1 -1
  35. package/dist/components/ProgressTracker/ProgressTracker.d.ts +6 -0
  36. package/dist/components/ProgressTracker/ProgressTracker.js +10 -2
  37. package/dist/components/ProgressTracker/ProgressTracker.js.map +1 -1
  38. package/dist/components/ProgressTracker/ProgressTrackerDivider.d.ts +1 -0
  39. package/dist/components/ProgressTracker/ProgressTrackerDivider.js +3 -1
  40. package/dist/components/ProgressTracker/ProgressTrackerDivider.js.map +1 -1
  41. package/dist/components/ProgressTracker/ProgressTrackerStep.css +73 -18
  42. package/dist/components/ProgressTracker/ProgressTrackerStep.css.map +1 -1
  43. package/dist/components/ProgressTracker/ProgressTrackerStep.d.ts +3 -0
  44. package/dist/components/ProgressTracker/ProgressTrackerStep.js +29 -7
  45. package/dist/components/ProgressTracker/ProgressTrackerStep.js.map +1 -1
  46. package/dist/components/ProgressTracker/index.css +86 -19
  47. package/dist/components/ProgressTracker/index.css.map +1 -1
  48. package/dist/components/Scroll/Scroll.css +6 -0
  49. package/dist/components/Scroll/Scroll.css.map +1 -1
  50. package/dist/components/Scroll/Scroll.js +7 -1
  51. package/dist/components/Scroll/Scroll.js.map +1 -1
  52. package/dist/components/Scroll/index.css +6 -0
  53. package/dist/components/Scroll/index.css.map +1 -1
  54. package/dist/components/SideNav/SideNav.css +10 -8
  55. package/dist/components/SideNav/SideNav.css.map +1 -1
  56. package/dist/components/SideNav/SideNav.js +13 -5
  57. package/dist/components/SideNav/SideNav.js.map +1 -1
  58. package/dist/components/SideNav/SideNavGroup.css +6 -2
  59. package/dist/components/SideNav/SideNavGroup.css.map +1 -1
  60. package/dist/components/SideNav/SideNavGroup.js +1 -1
  61. package/dist/components/SideNav/SideNavGroup.js.map +1 -1
  62. package/dist/components/SideNav/SideNavItem.css +92 -17
  63. package/dist/components/SideNav/SideNavItem.css.map +1 -1
  64. package/dist/components/SideNav/SideNavItem.d.ts +17 -4
  65. package/dist/components/SideNav/SideNavItem.js +105 -14
  66. package/dist/components/SideNav/SideNavItem.js.map +1 -1
  67. package/dist/components/SideNav/index.css +98 -19
  68. package/dist/components/SideNav/index.css.map +1 -1
  69. package/dist/components/Tab/Tab.js +1 -1
  70. package/dist/components/Tab/Tab.js.map +1 -1
  71. package/dist/components/Takeover/Takeover.d.ts +3 -3
  72. package/dist/components/Takeover/Takeover.js +9 -21
  73. package/dist/components/Takeover/Takeover.js.map +1 -1
  74. package/dist/components/TimePicker/TimePicker.js +10 -7
  75. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  76. package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +1 -0
  77. package/dist/components/TimePicker/components/TimePickerOptionList.js +8 -2
  78. package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
  79. package/dist/components/TimePicker/utils/getClosestOption.js +1 -1
  80. package/dist/components/TimePicker/utils/getClosestOption.js.map +1 -1
  81. package/dist/components/TimePicker/utils/utils.js +0 -1
  82. package/dist/components/TimePicker/utils/utils.js.map +1 -1
  83. package/dist/components/index.css +191 -39
  84. package/dist/components/index.css.map +1 -1
  85. package/dist/global/index.css +1 -1
  86. package/dist/global/version.css +1 -1
  87. package/dist/hooks/index.d.ts +1 -0
  88. package/dist/hooks/index.js +1 -0
  89. package/dist/hooks/index.js.map +1 -1
  90. package/dist/hooks/useFocusTrap/index.d.ts +1 -0
  91. package/dist/hooks/useFocusTrap/index.js +2 -0
  92. package/dist/hooks/useFocusTrap/index.js.map +1 -0
  93. package/dist/hooks/useFocusTrap/internal/index.d.ts +5 -0
  94. package/dist/hooks/useFocusTrap/internal/index.js +6 -0
  95. package/dist/hooks/useFocusTrap/internal/index.js.map +1 -0
  96. package/dist/hooks/useFocusTrap/internal/useAutoFocus.d.ts +6 -0
  97. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js +23 -0
  98. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js.map +1 -0
  99. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.d.ts +11 -0
  100. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js +28 -0
  101. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js.map +1 -0
  102. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.d.ts +9 -0
  103. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js +28 -0
  104. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js.map +1 -0
  105. package/dist/hooks/useFocusTrap/internal/useFocusLock.d.ts +6 -0
  106. package/dist/hooks/useFocusTrap/internal/useFocusLock.js +39 -0
  107. package/dist/hooks/useFocusTrap/internal/useFocusLock.js.map +1 -0
  108. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.d.ts +3 -0
  109. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js +12 -0
  110. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js.map +1 -0
  111. package/dist/hooks/useFocusTrap/internal/utils.d.ts +23 -0
  112. package/dist/hooks/useFocusTrap/internal/utils.js +161 -0
  113. package/dist/hooks/useFocusTrap/internal/utils.js.map +1 -0
  114. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +37 -0
  115. package/dist/hooks/useFocusTrap/useFocusTrap.js +34 -0
  116. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -0
  117. package/dist/internal/CollapsibleList/CollapsibleContext.d.ts +9 -0
  118. package/dist/internal/CollapsibleList/CollapsibleContext.js +3 -0
  119. package/dist/internal/CollapsibleList/CollapsibleContext.js.map +1 -0
  120. package/dist/internal/CollapsibleList/CollapsibleList.css +9 -0
  121. package/dist/internal/CollapsibleList/CollapsibleList.css.map +1 -0
  122. package/dist/internal/CollapsibleList/CollapsibleList.d.ts +11 -0
  123. package/dist/internal/CollapsibleList/CollapsibleList.js +27 -0
  124. package/dist/internal/CollapsibleList/CollapsibleList.js.map +1 -0
  125. package/dist/internal/CollapsibleList/CollapsibleListItem.d.ts +11 -0
  126. package/dist/internal/CollapsibleList/CollapsibleListItem.js +60 -0
  127. package/dist/internal/CollapsibleList/CollapsibleListItem.js.map +1 -0
  128. package/dist/internal/CollapsibleList/index.css +9 -0
  129. package/dist/internal/CollapsibleList/index.css.map +1 -0
  130. package/dist/internal/CollapsibleList/index.d.ts +3 -0
  131. package/dist/internal/CollapsibleList/index.js +4 -0
  132. package/dist/internal/CollapsibleList/index.js.map +1 -0
  133. package/dist/internal/Popper/Popper.d.ts +3 -3
  134. package/dist/internal/Popper/Popper.js +9 -17
  135. package/dist/internal/Popper/Popper.js.map +1 -1
  136. package/dist/internal/index.css +8 -1
  137. package/dist/internal/index.css.map +1 -1
  138. package/dist/internal/index.d.ts +1 -0
  139. package/dist/internal/index.js +1 -0
  140. package/dist/internal/index.js.map +1 -1
  141. package/dist/system-light.css +8 -1
  142. package/dist/system-light.css.map +1 -1
  143. package/dist/system-light.min.css +1 -1
  144. package/dist/system.css +199 -40
  145. package/dist/system.css.map +1 -1
  146. package/dist/system.min.css +2 -2
  147. package/dist/utilities/index.d.ts +0 -1
  148. package/dist/utilities/index.js +0 -1
  149. package/dist/utilities/index.js.map +1 -1
  150. package/dist/utilities/keyCodes.d.ts +1 -1
  151. package/dist/utilities/keyCodes.js +1 -1
  152. package/dist/utilities/keyCodes.js.map +1 -1
  153. package/package.json +8 -8
  154. package/dist/utilities/FocusTrap/FocusTrap.d.ts +0 -8
  155. package/dist/utilities/FocusTrap/FocusTrap.js +0 -52
  156. package/dist/utilities/FocusTrap/FocusTrap.js.map +0 -1
  157. package/dist/utilities/FocusTrap/index.d.ts +0 -1
  158. package/dist/utilities/FocusTrap/index.js +0 -2
  159. package/dist/utilities/FocusTrap/index.js.map +0 -1
@@ -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"}
@@ -8,20 +8,23 @@
8
8
  color: var(--colorsTextDefault, #141414);
9
9
  padding: 16px;
10
10
  }
11
- .SideNav .Tag {
12
- margin-left: 8px;
13
- transform: translateY(-1px);
14
- }
15
11
  .SideNav a {
16
12
  text-decoration: none;
17
13
  }
14
+ .SideNav .SideNav {
15
+ padding: 0;
16
+ }
18
17
 
19
18
  .SideNav__title {
20
- border-bottom: 1px solid var(--colorsBorderGrey, #dfe0e1);
21
- margin: 0 16px;
22
- padding: 8px 0 24px;
19
+ margin: 0 8px;
20
+ margin-bottom: 16px;
21
+ padding: 8px 0;
23
22
  color: var(--colorsTextOnGrey, #444445);
24
23
  }
24
+ .SideNav__title .Tag {
25
+ margin-left: 8px;
26
+ transform: translateY(-1px);
27
+ }
25
28
 
26
29
  .SideNav__list {
27
30
  list-style: none;
@@ -29,7 +32,6 @@
29
32
  margin-left: 0;
30
33
  margin-top: 0;
31
34
  padding-left: 0;
32
- padding-top: 16px;
33
35
  }
34
36
 
35
37
  /*# sourceMappingURL=SideNav.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss"],"names":[],"mappings":"AAAA;ACSA;ACRC;EACA;AAEA;EACA;EDOA;EACA,OARc;EASd,SEiHW;;AF/GX;EACC,aE6GU;EF5GV;;AAGD;EAAI;;;AAGL;EACC;EACA;EACA;EACA,OArBoB;;;AAwBrB;EG9BC;EACA;EACA;EACA;EACA;EH6BA,aE6FW","file":"SideNav.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss"],"names":[],"mappings":"AAAA;ACSA;ACRC;EACA;AAEA;EACA;EDOA;EACA,OARc;EASd,SEiHW;;AF/GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEuGW;EFtGX;EACA,OAnBoB;;AAqBpB;EACC,aEiGU;EFhGV;;;AAIF;EGjCC;EACA;EACA;EACA;EACA","file":"SideNav.css"}
@@ -11,15 +11,23 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React from 'react';
13
13
  import classnames from 'classnames';
14
- import { SideNavItem } from './SideNavItem';
14
+ import { FocusScope } from '@react-aria/focus';
15
+ import { SideNavItem, SideNavItemContext } from './SideNavItem';
15
16
  import { SideNavGroup } from './SideNavGroup';
16
17
  import { Headline } from '../Headline';
18
+ import { CollapsibleList } from '../../internal/CollapsibleList';
17
19
  export const SideNav = (_a) => {
18
- var { children, className, title } = _a, rest = __rest(_a, ["children", "className", "title"]);
20
+ var { children, className, title, 'data-anvil-component': dataAnvilComponent } = _a, rest = __rest(_a, ["children", "className", "title", 'data-anvil-component']);
21
+ const sideNavItemContext = React.useContext(SideNavItemContext);
19
22
  const SideNavClasses = classnames('SideNav', className);
20
- return (React.createElement("div", Object.assign({ className: SideNavClasses, "data-anvil-component": "SideNav" }, rest),
21
- title !== undefined && (React.createElement(Headline, { el: "div", className: "SideNav__title", size: "small" }, title)),
22
- React.createElement("ul", { className: "SideNav__list" }, children)));
23
+ // Nested SideNav
24
+ if (sideNavItemContext)
25
+ return (React.createElement(CollapsibleList, Object.assign({ className: SideNavClasses, el: "div" }, rest),
26
+ React.createElement("menu", { className: "SideNav__list" }, children)));
27
+ return (React.createElement(FocusScope, null,
28
+ React.createElement("div", Object.assign({ className: SideNavClasses, "data-anvil-component": "SideNav" }, rest),
29
+ title !== undefined && (React.createElement(Headline, { el: "div", className: "SideNav__title", size: "small" }, title)),
30
+ React.createElement("menu", { className: "SideNav__list" }, children))));
23
31
  };
24
32
  SideNav.Item = SideNavItem;
25
33
  SideNav.Group = SideNavGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwBvC,MAAM,CAAC,MAAM,OAAO,GAAY,CAAC,EAAuC,EAAE,EAAE;QAA3C,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAW,EAAN,IAAI,cAArC,kCAAuC,CAAF;IACrE,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAExD,OAAO,CACN,2CACC,SAAS,EAAE,cAAc,0BACJ,SAAS,IAC1B,IAAI;QAEP,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,IACxD,KAAK,CACI,CACX;QACD,4BAAI,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAM,CACxC,CACN,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAC3B,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAwBjE,MAAM,CAAC,MAAM,OAAO,GAAY,CAAC,EAMhC,EAAE,EAAE;QAN4B,EAChC,QAAQ,EACR,SAAS,EACT,KAAK,EACL,sBAAsB,EAAE,kBAAkB,OAE1C,EADG,IAAI,cALyB,0DAMhC,CADO;IAEP,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAExD,iBAAiB;IACjB,IAAI,kBAAkB;QACrB,OAAO,CACN,oBAAC,eAAe,kBAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAC,KAAK,IAAK,IAAI;YAC5D,8BAAM,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAQ,CAChC,CAClB,CAAC;IAEH,OAAO,CACN,oBAAC,UAAU;QACV,2CACC,SAAS,EAAE,cAAc,0BACJ,SAAS,IAC1B,IAAI;YAEP,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,IACxD,KAAK,CACI,CACX;YACD,8BAAM,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAQ,CAC5C,CACM,CACb,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAC3B,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC"}
@@ -1,13 +1,17 @@
1
1
  /* Hide element visually, keeping it focusable (with keyboard) and available for screen-readers */
2
2
  .SideNavGroup {
3
- margin-top: 32px;
3
+ margin-top: 24px;
4
4
  }
5
5
  .SideNav__list .SideNavGroup:first-child {
6
6
  margin-top: 16px;
7
7
  }
8
+ .SideNav__list .SideNavGroup:last-child {
9
+ margin-bottom: 16px;
10
+ }
8
11
 
9
12
  .SideNavGroup__title {
10
- margin: 0 16px 8px;
13
+ margin: 8px;
14
+ margin-top: 0;
11
15
  }
12
16
 
13
17
  .SideNavGroup__list {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNavGroup.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss"],"names":[],"mappings":"AAAA;ACGA;EACC,YC6HW;;AD3HX;EAA+B,YCyHpB;;;ADtHZ;EACC;;;AAGD;EEZC;EACA;EACA;EACA;EACA","file":"SideNavGroup.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNavGroup.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss"],"names":[],"mappings":"AAAA;ACGA;EACC,YC4HW;;AD1HX;EAA+B,YCyHpB;;ADxHX;EAA8B,eCwHnB;;;ADrHZ;EACC,QCmHW;EDlHX;;;AAGD;EEdC;EACA;EACA;EACA;EACA","file":"SideNavGroup.css"}
@@ -17,6 +17,6 @@ export const SideNavGroup = (_a) => {
17
17
  const SideNavItemClasses = classnames('SideNavGroup', className);
18
18
  return (React.createElement("li", Object.assign({ className: SideNavItemClasses, "data-anvil-component": "SideNavGroup" }, props),
19
19
  title !== undefined && (React.createElement(Eyebrow, { className: "SideNavGroup__title", size: "medium" }, title)),
20
- React.createElement("ul", { className: "SideNavGroup__list" }, children)));
20
+ React.createElement("menu", { className: "SideNavGroup__list" }, children)));
21
21
  };
22
22
  //# sourceMappingURL=SideNavGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavGroup.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkBrC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAKnD,EAAE,EAAE;QAL+C,EACnD,QAAQ,EACR,SAAS,EACT,KAAK,OAEL,EADG,KAAK,cAJ2C,kCAKnD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO,CACN,0CACC,SAAS,EAAE,kBAAkB,0BACR,cAAc,IAC/B,KAAK;QAER,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,IACpD,KAAK,CACG,CACV;QACD,4BAAI,SAAS,EAAC,oBAAoB,IAAE,QAAQ,CAAM,CAC9C,CACL,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"SideNavGroup.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkBrC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAKnD,EAAE,EAAE;QAL+C,EACnD,QAAQ,EACR,SAAS,EACT,KAAK,OAEL,EADG,KAAK,cAJ2C,kCAKnD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO,CACN,0CACC,SAAS,EAAE,kBAAkB,0BACR,cAAc,IAC/B,KAAK;QAER,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,IACpD,KAAK,CACG,CACV;QACD,8BAAM,SAAS,EAAC,oBAAoB,IAAE,QAAQ,CAAQ,CAClD,CACL,CAAC;AACH,CAAC,CAAC"}
@@ -8,20 +8,23 @@
8
8
  color: var(--colorsTextDefault, #141414);
9
9
  padding: 16px;
10
10
  }
11
- .SideNav .Tag {
12
- margin-left: 8px;
13
- transform: translateY(-1px);
14
- }
15
11
  .SideNav a {
16
12
  text-decoration: none;
17
13
  }
14
+ .SideNav .SideNav {
15
+ padding: 0;
16
+ }
18
17
 
19
18
  .SideNav__title {
20
- border-bottom: 1px solid var(--colorsBorderGrey, #dfe0e1);
21
- margin: 0 16px;
22
- padding: 8px 0 24px;
19
+ margin: 0 8px;
20
+ margin-bottom: 16px;
21
+ padding: 8px 0;
23
22
  color: var(--colorsTextOnGrey, #444445);
24
23
  }
24
+ .SideNav__title .Tag {
25
+ margin-left: 8px;
26
+ transform: translateY(-1px);
27
+ }
25
28
 
26
29
  .SideNav__list {
27
30
  list-style: none;
@@ -29,34 +32,106 @@
29
32
  margin-left: 0;
30
33
  margin-top: 0;
31
34
  padding-left: 0;
32
- padding-top: 16px;
33
35
  }
34
36
 
35
37
  .SideNavItem {
36
38
  margin: 0;
37
39
  padding: 0;
38
40
  }
39
-
40
- .SideNavItem__button {
41
+ .SideNavItem > .SideNavItem__button {
41
42
  border-radius: 3px;
42
43
  color: var(--colorsTextDefault, #141414);
43
44
  font-weight: 400;
44
45
  cursor: pointer;
45
- display: block;
46
- padding: 6px 16px;
46
+ display: flex;
47
+ min-height: 22px;
48
+ padding: 6px 8px;
47
49
  position: relative;
48
50
  transition: color cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms;
49
51
  text-decoration: none;
52
+ /* States */
50
53
  }
51
- .SideNavItem__button:focus {
54
+ .SideNavItem > .SideNavItem__button:hover {
55
+ background: var(--colorsHoverDefault, rgba(4, 4, 4, 0.08));
56
+ }
57
+ .SideNavItem > .SideNavItem__button:active:not(:focus-within) {
58
+ background-color: var(--colorsActiveDefault, rgba(4, 4, 4, 0.2));
59
+ }
60
+ .SideNavItem > .SideNavItem__button.SideNavItem__button--focus-visible:focus {
52
61
  outline: none;
62
+ box-shadow: inset 0 0 0 2px var(--colorsFocusRingPrimary, #a9d1ff);
53
63
  }
54
- .SideNavItem__button:hover, .SideNavItem__button.SideNavItem__button--focus-visible:focus {
55
- background: var(--colorsHoverPrimary, rgba(34, 112, 238, 0.08));
56
- color: var(--colorsTextPrimary, #2270ee);
64
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__prefix,
65
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__content,
66
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__suffix {
67
+ color: currentColor;
68
+ display: inline-flex;
69
+ align-items: center;
70
+ }
71
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__prefix {
72
+ margin-right: 8px;
73
+ }
74
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__suffix {
75
+ margin-left: 8px;
76
+ }
77
+ .SideNavItem > .SideNavItem__button > .SideNavItem__button__content {
78
+ flex-grow: 1;
79
+ margin-top: 0.5px;
80
+ }
81
+ .SideNavItem.SideNavItem--disabled > .SideNavItem__button {
82
+ background-color: transparent !important;
83
+ opacity: 0.4;
84
+ pointer-events: none;
57
85
  }
58
- .SideNavItem--active .SideNavItem__button {
86
+ .SideNavItem.SideNavItem--active > .SideNavItem__button:not(.SideNavItem__button--expanded) {
87
+ background-color: var(--colorsHoverPrimary, rgba(34, 112, 238, 0.08));
59
88
  color: var(--colorsTextPrimary, #2270ee);
60
89
  }
90
+ .SideNavItem.SideNavItem--active > .SideNavItem__button:not(.SideNavItem__button--expanded) > .SideNavItem__button__content {
91
+ font-weight: bold;
92
+ }
93
+ .SideNavItem.SideNavItem--active > .SideNavItem__button:not(.SideNavItem__button--expanded) .a-Icon svg {
94
+ color: var(--colorsTextPrimary, #2270ee) !important;
95
+ fill: var(--colorsTextPrimary, #2270ee) !important;
96
+ }
97
+ .SideNavItem .SideNavItem__button--expanded > .SideNavItem__button__content {
98
+ font-weight: bold;
99
+ }
100
+ .SideNavItem .SideNav .SideNavItem > .SideNavItem__button > .SideNavItem__button__content {
101
+ margin-left: 28px;
102
+ }
103
+ .SideNavItem .SideNav .SideNavItem > .SideNavItem__button .SideNavItem__button__prefix {
104
+ display: none;
105
+ }
106
+
107
+ .SideNavItem__button__suffix__collapsible-icon {
108
+ transition: transform cubic-bezier(0.4, 0, 0.2, 1) 300ms 0ms;
109
+ transform: rotate(0) translateY(1px);
110
+ }
111
+ .SideNavItem__button--expanded .SideNavItem__button__suffix__collapsible-icon {
112
+ transform: rotate(180deg) translateY(0);
113
+ }
114
+
115
+ .SideNavItem__button .SideNavItem__button__prefix .a-Icon,
116
+ .SideNavItem__button .SideNavItem__button__suffix .a-Icon {
117
+ margin-top: -0.5px;
118
+ }
119
+ .SideNavItem__button .StatusLight {
120
+ margin: -4px -5px;
121
+ }
122
+ .SideNavItem__button .Button {
123
+ margin: -4px;
124
+ vertical-align: middle;
125
+ }
126
+ .SideNavItem__button .ActionMenu__TriggerWrapper {
127
+ margin-top: -3px;
128
+ }
129
+ .SideNavItem__button .Tooltip {
130
+ margin-top: -2px;
131
+ }
132
+ .SideNavItem__button .Tag {
133
+ margin-left: 8px;
134
+ transform: translateY(0);
135
+ }
61
136
 
62
137
  /*# sourceMappingURL=SideNavItem.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss"],"names":[],"mappings":"AAAA;ACSA;ACRC;EACA;AAEA;EACA;EDOA;EACA,OARc;EASd,SEiHW;;AF/GX;EACC,aE6GU;EF5GV;;AAGD;EAAI;;;AAGL;EACC;EACA;EACA;EACA,OArBoB;;;AAwBrB;EG9BC;EACA;EACA;EACA;EACA;EH6BA,aE6FW;;;AExHZ;EACC;EACA;;;AAGD;EACC,eFQiB;EEPjB,OJTc;EIUd,aF6FqB;EE5FrB;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AAEV;EAEC,YAvBiB;EAwBjB,OAvBW;;AA0BZ;EAAyB,OA1Bb","file":"SideNavItem.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss"],"names":[],"mappings":"AAAA;ACSA;ACRC;EACA;AAEA;EACA;EDOA;EACA,OARc;EASd,SEiHW;;AF/GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEuGW;EFtGX;EACA,OAnBoB;;AAqBpB;EACC,aEiGU;EFhGV;;;AAIF;EGjCC;EACA;EACA;EACA;EACA;;;ACYD;EACC;EACA;;AAEA;EACC,eFDgB;EEEhB,OJlBa;EImBb,aFoFoB;EEnFpB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EAAU,YA5BO;;AA6BjB;EAA8B,kBA5BZ;;AA8BlB;EACC;EACA,YA3Ba;;AA8Bd;AAAA;AAAA;EAGC;EACA;EACA;;AAGD;EAAiC,cF4EvB;;AE3EV;EAAiC,aF2EvB;;AEzEV;EACC;EACA;;AAKD;EACC;EACA,SFqDmB;EEpDnB;;AAKD;EACC,kBA7DmB;EA8DnB,OAlEW;;AAoEX;EAAkC;;AAElC;EACC;EACA;;AAKH;EAAiE;;AAGjE;EACC;;AAKA;EAA+B;;;AAKjC;EACC;EACA;;AAEA;EAAmC;;;AAOlC;AAAA;EAAU;;AAGX;EAAe;;AAEf;EACC;EACA;;AAGD;EAA8B;;AAC9B;EAAW;;AAEX;EACC,aFMU;EELV","file":"SideNavItem.css"}
@@ -1,19 +1,32 @@
1
1
  import React, { FC } from 'react';
2
- /**
3
- * SideNavItem properties
4
- */
2
+ import { IconProps, IconPropsStrict } from '../Icon';
3
+ import { CollapsibleListItemProps } from '../../internal';
5
4
  export interface SideNavItemPropsStrict {
6
5
  /** Controls if this is the currently active item in SideNav */
7
6
  active?: boolean;
8
7
  /** Adds one or more classnames for an element */
9
8
  className?: string;
9
+ /**
10
+ * If collapsible provided, item to be rendered as collapsible menu (accordion).
11
+ * In this case a SideNav must be provided as children.
12
+ */
13
+ collapsible?: CollapsibleListItemProps['collapsible'];
14
+ /** Indicates whether the SideNav.Item is disabled or not. */
15
+ disabled?: boolean;
10
16
  /** Add a href attribute so right click context menus work (open in new tab, etc) */
11
17
  href?: string;
12
- /** Action for when <SideNav.Item> is clicked */
18
+ /** Name of icon to render on right side of SideNav.Item */
19
+ icon?: IconPropsStrict['name'] | IconProps;
20
+ /** Action for when SideNav.Item is clicked */
13
21
  onClick?: (e: React.SyntheticEvent<HTMLElement>) => void;
22
+ /** To be rendered on the right side of SideNav.Item */
23
+ prefix?: React.ReactElement;
24
+ /** To be rendered on the left side of SideNav.Item */
25
+ suffix?: React.ReactElement;
14
26
  }
15
27
  export interface SideNavItemProps extends SideNavItemPropsStrict {
16
28
  /** Unstrict Props */
17
29
  [propName: string]: any;
18
30
  }
19
31
  export declare const SideNavItem: FC<SideNavItemProps>;
32
+ export declare const SideNavItemContext: React.Context<any>;