@servicetitan/design-system 12.9.0 → 12.11.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 (148) hide show
  1. package/dist/components/AnvilSelect/AnvilSelect.js +1 -1
  2. package/dist/components/AnvilSelect/AnvilSelect.js.map +1 -1
  3. package/dist/components/AnvilSelect/utils/focus-utils.js +3 -3
  4. package/dist/components/Button/Button.css +1 -1
  5. package/dist/components/Button/index.css +1 -1
  6. package/dist/components/ButtonToggle/ButtonToggleItem.js +1 -1
  7. package/dist/components/ButtonToggle/ButtonToggleItem.js.map +1 -1
  8. package/dist/components/Checkbox/Checkbox.js +5 -6
  9. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  10. package/dist/components/Checkbox/Checkbox.test.js +16 -6
  11. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  12. package/dist/components/Collapsible/Collapsible.js +3 -3
  13. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  14. package/dist/components/DatePicker/DatePicker.d.ts +13 -0
  15. package/dist/components/DatePicker/DatePicker.js +24 -8
  16. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  17. package/dist/components/DatePicker/InputDateMask.d.ts +1 -1
  18. package/dist/components/DatePicker/InputDateMask.js +13 -4
  19. package/dist/components/DatePicker/InputDateMask.js.map +1 -1
  20. package/dist/components/DateRangePicker/DateRangePicker.d.ts +84 -37
  21. package/dist/components/DateRangePicker/DateRangePicker.js +46 -30
  22. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  23. package/dist/components/DateRangePicker/DateRangePicker.test.js +30 -22
  24. package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
  25. package/dist/components/DateRangePicker/components/DateRangeInput.d.ts +3 -3
  26. package/dist/components/DateRangePicker/components/DateRangeInput.js +9 -7
  27. package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
  28. package/dist/components/Drawer/Drawer.js +1 -1
  29. package/dist/components/Drawer/Drawer.js.map +1 -1
  30. package/dist/components/FormField/FormField.js +4 -5
  31. package/dist/components/FormField/FormField.js.map +1 -1
  32. package/dist/components/FormField/FormField.test.js +19 -8
  33. package/dist/components/FormField/FormField.test.js.map +1 -1
  34. package/dist/components/Icon/Icon.css +1 -1
  35. package/dist/components/Icon/index.css +1 -1
  36. package/dist/components/Input/Input.test.js +21 -11
  37. package/dist/components/Input/Input.test.js.map +1 -1
  38. package/dist/components/KeyPressListener/KeyPressListener.d.ts +1 -0
  39. package/dist/components/KeyPressListener/KeyPressListener.js +8 -6
  40. package/dist/components/KeyPressListener/KeyPressListener.js.map +1 -1
  41. package/dist/components/OptionList/OptionList.js +0 -1
  42. package/dist/components/OptionList/OptionList.js.map +1 -1
  43. package/dist/components/Popover/Popover.test.js +7 -6
  44. package/dist/components/Popover/Popover.test.js.map +1 -1
  45. package/dist/components/Radio/Radio.test.js +16 -6
  46. package/dist/components/Radio/Radio.test.js.map +1 -1
  47. package/dist/components/SideNav/SideNav.css +10 -8
  48. package/dist/components/SideNav/SideNav.css.map +1 -1
  49. package/dist/components/SideNav/SideNav.js +13 -5
  50. package/dist/components/SideNav/SideNav.js.map +1 -1
  51. package/dist/components/SideNav/SideNavGroup.css +6 -2
  52. package/dist/components/SideNav/SideNavGroup.css.map +1 -1
  53. package/dist/components/SideNav/SideNavGroup.js +1 -1
  54. package/dist/components/SideNav/SideNavGroup.js.map +1 -1
  55. package/dist/components/SideNav/SideNavItem.css +92 -17
  56. package/dist/components/SideNav/SideNavItem.css.map +1 -1
  57. package/dist/components/SideNav/SideNavItem.d.ts +17 -4
  58. package/dist/components/SideNav/SideNavItem.js +113 -14
  59. package/dist/components/SideNav/SideNavItem.js.map +1 -1
  60. package/dist/components/SideNav/index.css +98 -19
  61. package/dist/components/SideNav/index.css.map +1 -1
  62. package/dist/components/Sidebar/Sidebar.css +4 -1
  63. package/dist/components/Sidebar/Sidebar.css.map +1 -1
  64. package/dist/components/Sidebar/Sidebar.js +1 -1
  65. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  66. package/dist/components/Sidebar/SidebarSection.css +4 -1
  67. package/dist/components/Sidebar/SidebarSection.css.map +1 -1
  68. package/dist/components/Sidebar/index.css +4 -1
  69. package/dist/components/Sidebar/index.css.map +1 -1
  70. package/dist/components/Snackbar/Snackbar.d.ts +6 -2
  71. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  72. package/dist/components/Snackbar/Snackbar.test.js +18 -6
  73. package/dist/components/Snackbar/Snackbar.test.js.map +1 -1
  74. package/dist/components/ToggleSwitch/ToggleSwitch.test.js +16 -6
  75. package/dist/components/ToggleSwitch/ToggleSwitch.test.js.map +1 -1
  76. package/dist/components/index.css +103 -21
  77. package/dist/components/index.css.map +1 -1
  78. package/dist/global/index.css +1 -1
  79. package/dist/global/version.css +1 -1
  80. package/dist/hooks/useFocusVisible.test.js +25 -15
  81. package/dist/hooks/useFocusVisible.test.js.map +1 -1
  82. package/dist/internal/CollapsibleList/CollapsibleContext.d.ts +9 -0
  83. package/dist/internal/CollapsibleList/CollapsibleContext.js +3 -0
  84. package/dist/internal/CollapsibleList/CollapsibleContext.js.map +1 -0
  85. package/dist/internal/CollapsibleList/CollapsibleList.css +9 -0
  86. package/dist/internal/CollapsibleList/CollapsibleList.css.map +1 -0
  87. package/dist/internal/CollapsibleList/CollapsibleList.d.ts +11 -0
  88. package/dist/internal/CollapsibleList/CollapsibleList.js +27 -0
  89. package/dist/internal/CollapsibleList/CollapsibleList.js.map +1 -0
  90. package/dist/internal/CollapsibleList/CollapsibleListItem.d.ts +11 -0
  91. package/dist/internal/CollapsibleList/CollapsibleListItem.js +60 -0
  92. package/dist/internal/CollapsibleList/CollapsibleListItem.js.map +1 -0
  93. package/dist/internal/CollapsibleList/index.css +9 -0
  94. package/dist/internal/CollapsibleList/index.css.map +1 -0
  95. package/dist/internal/CollapsibleList/index.d.ts +3 -0
  96. package/dist/internal/CollapsibleList/index.js +4 -0
  97. package/dist/internal/CollapsibleList/index.js.map +1 -0
  98. package/dist/internal/Portal/Portal.js +1 -1
  99. package/dist/internal/index.css +8 -1
  100. package/dist/internal/index.css.map +1 -1
  101. package/dist/internal/index.d.ts +1 -0
  102. package/dist/internal/index.js +1 -0
  103. package/dist/internal/index.js.map +1 -1
  104. package/dist/system-light.css +8 -1
  105. package/dist/system-light.css.map +1 -1
  106. package/dist/system-light.min.css +1 -1
  107. package/dist/system.css +111 -22
  108. package/dist/system.css.map +1 -1
  109. package/dist/system.min.css +2 -2
  110. package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.d.ts +1 -0
  111. package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js +373 -0
  112. package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js.map +1 -0
  113. package/dist/utilities/KeyboardAccessTests/components/KeyboardTester.d.ts +2 -0
  114. package/dist/utilities/KeyboardAccessTests/components/KeyboardTester.js +22 -0
  115. package/dist/utilities/KeyboardAccessTests/components/KeyboardTester.js.map +1 -0
  116. package/dist/utilities/KeyboardAccessTests/components/components.d.ts +15 -0
  117. package/dist/utilities/KeyboardAccessTests/components/components.js +166 -0
  118. package/dist/utilities/KeyboardAccessTests/components/components.js.map +1 -0
  119. package/dist/utilities/KeyboardAccessTests/components/index.d.ts +2 -0
  120. package/dist/utilities/KeyboardAccessTests/components/index.js +3 -0
  121. package/dist/utilities/KeyboardAccessTests/components/index.js.map +1 -0
  122. package/dist/utilities/KeyboardAccessTests/utils/index.d.ts +2 -0
  123. package/dist/utilities/KeyboardAccessTests/utils/index.js +3 -0
  124. package/dist/utilities/KeyboardAccessTests/utils/index.js.map +1 -0
  125. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.d.ts +12 -0
  126. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js +52 -0
  127. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js.map +1 -0
  128. package/dist/utilities/KeyboardAccessTests/utils/utils.d.ts +2 -0
  129. package/dist/utilities/KeyboardAccessTests/utils/utils.js +132 -0
  130. package/dist/utilities/KeyboardAccessTests/utils/utils.js.map +1 -0
  131. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js +5 -3
  132. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js.map +1 -1
  133. package/dist/utilities/keyCodes.d.ts +1 -1
  134. package/dist/utilities/keyCodes.js +1 -1
  135. package/dist/utilities/keyCodes.js.map +1 -1
  136. package/package.json +13 -12
  137. package/dist/components/Drawer/DrawerFooter.d.ts +0 -8
  138. package/dist/components/Drawer/DrawerFooter.js +0 -24
  139. package/dist/components/Drawer/DrawerFooter.js.map +0 -1
  140. package/dist/components/Drawer/DrawerHeader.d.ts +0 -9
  141. package/dist/components/Drawer/DrawerHeader.js +0 -24
  142. package/dist/components/Drawer/DrawerHeader.js.map +0 -1
  143. package/dist/components/Drawer/DrawerWindow.d.ts +0 -6
  144. package/dist/components/Drawer/DrawerWindow.js +0 -18
  145. package/dist/components/Drawer/DrawerWindow.js.map +0 -1
  146. package/dist/components/Page/components/Footer.d.ts +0 -8
  147. package/dist/components/Page/components/Footer.js +0 -7
  148. package/dist/components/Page/components/Footer.js.map +0 -1
@@ -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 provided, item to be rendered as collapsible menu (accordion).
11
+ * In this case one nested SideNav must be provided inside children.
12
+ */
13
+ collapsible?: CollapsibleListItemProps['collapsible'] | true;
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>;
@@ -11,27 +11,126 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React from 'react';
13
13
  import classnames from 'classnames';
14
+ import { useFocusManager } from '@react-aria/focus';
14
15
  import { BodyText } from '../BodyText';
16
+ import { Icon } from '../Icon';
17
+ import { keys } from '../../utilities/keyCodes';
15
18
  import { useFocusVisible } from '../../hooks/useFocusVisible';
19
+ import { CollapsibleContext, CollapsibleList, } from '../../internal';
16
20
  export const SideNavItem = (_a) => {
17
- var { active, children, className, href, onClick, onFocus, onBlur } = _a, props = __rest(_a, ["active", "children", "className", "href", "onClick", "onFocus", "onBlur"]);
18
- const itemRef = React.useRef(null);
19
- const { isFocusVisible, focusFunction, blurFunction } = useFocusVisible(itemRef, onBlur, onFocus);
20
- const onClickHandler = (e) => {
21
- if (!onClick)
22
- return;
23
- e.preventDefault();
24
- onClick(e);
25
- };
26
- const El = href ? 'a' : 'span';
27
- const buttonProps = { href };
21
+ var props = __rest(_a, []);
22
+ const { className } = props, rest = __rest(props, ["className"]);
28
23
  const SideNavItemClasses = classnames('SideNavItem', className, {
29
- 'SideNavItem--active': active,
24
+ 'SideNavItem--active': props.active,
25
+ 'SideNavItem--disabled': props.disabled,
30
26
  });
27
+ const sideNavItemContext = React.useContext(SideNavItemContext);
28
+ if (props.collapsible || sideNavItemContext) {
29
+ const collapsible = props.collapsible === true
30
+ ? {
31
+ expanded: false,
32
+ animate: true,
33
+ extractCollapsibleList: true,
34
+ }
35
+ : Object.assign(Object.assign({}, props.collapsible), { extractCollapsibleList: true });
36
+ return (React.createElement(CollapsibleList.Item, { el: "li", collapsible: collapsible, className: SideNavItemClasses, "data-anvil-component": "SideNavItem" },
37
+ React.createElement(SideNavItemButton, Object.assign({}, rest))));
38
+ }
39
+ return (React.createElement("li", { className: SideNavItemClasses, "data-anvil-component": "SideNavItem" },
40
+ React.createElement(SideNavItemButton, Object.assign({}, rest))));
41
+ };
42
+ /**
43
+ * SideNav Item's Button
44
+ */
45
+ const SideNavItemButton = (_a) => {
46
+ var { collapsible, children, disabled, expanded, href, icon, onClick, onFocus, onBlur, prefix, suffix } = _a, rest = __rest(_a, ["collapsible", "children", "disabled", "expanded", "href", "icon", "onClick", "onFocus", "onBlur", "prefix", "suffix"]);
47
+ const El = href ? 'a' : 'span';
48
+ const buttonRef = React.useRef(null);
49
+ const collapsibleContext = React.useContext(CollapsibleContext);
50
+ const focusManager = useFocusManager();
51
+ const { isFocusVisible, focusFunction, blurFunction } = useFocusVisible(buttonRef, onBlur, onFocus);
31
52
  const SideNavItemButtonClasses = classnames('SideNavItem__button', {
32
53
  'SideNavItem__button--focus-visible': isFocusVisible,
54
+ 'SideNavItem__button--expanded': collapsible && (collapsibleContext === null || collapsibleContext === void 0 ? void 0 : collapsibleContext.expanded),
33
55
  });
34
- return (React.createElement("li", Object.assign({ className: SideNavItemClasses, "data-anvil-component": "SideNavItem" }, props),
35
- React.createElement(BodyText, Object.assign({ ref: itemRef, onFocus: focusFunction, onBlur: blurFunction, tabIndex: 0, el: El, size: "small", className: SideNavItemButtonClasses, onClick: onClickHandler }, buttonProps), children)));
56
+ const handleClick = (e) => {
57
+ var _a, _b;
58
+ if (collapsible || !((_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)))
59
+ return; // Exclude top-level handlers
60
+ if (href) {
61
+ (_b = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _b === void 0 ? void 0 : _b.click();
62
+ return;
63
+ }
64
+ if (onClick)
65
+ onClick(e);
66
+ };
67
+ const handleEnter = (e) => {
68
+ if (e.target !== buttonRef.current) {
69
+ e.stopPropagation(); // Disable top-level item handlers from firing on buttons in suffix
70
+ return;
71
+ }
72
+ if (e.key === keys.space)
73
+ e.preventDefault(); // Disable scrolling on space keypress
74
+ handleClick(e);
75
+ };
76
+ const handleKeyDown = (e) => {
77
+ switch (e.key) {
78
+ case keys.right:
79
+ case keys.down:
80
+ e.stopPropagation(); // Exclude multiple keydown handles
81
+ e.preventDefault(); // Disable scrolling on keypress
82
+ focusManager.focusNext({ tabbable: true }); // Exclude disabled items with tabbable option
83
+ break;
84
+ case keys.left:
85
+ case keys.up:
86
+ e.stopPropagation();
87
+ e.preventDefault();
88
+ focusManager.focusPrevious({ tabbable: true });
89
+ break;
90
+ case keys.enter:
91
+ case keys.space:
92
+ handleEnter(e);
93
+ break;
94
+ }
95
+ };
96
+ const renderPrefix = () => {
97
+ const i = renderIcon(icon);
98
+ if (!i && !prefix)
99
+ return null;
100
+ return (React.createElement("span", { className: "SideNavItem__button__prefix" },
101
+ i,
102
+ prefix));
103
+ };
104
+ const renderSuffix = () => {
105
+ const arrow = collapsible ? (React.createElement(Icon, { className: "SideNavItem__button__suffix__collapsible-icon", name: "keyboard_arrow_down", size: 20 })) : null;
106
+ if (!suffix && !arrow)
107
+ return null;
108
+ return (React.createElement("span", { className: "SideNavItem__button__suffix" },
109
+ suffix,
110
+ arrow));
111
+ };
112
+ const buttonProps = {
113
+ className: SideNavItemButtonClasses,
114
+ href,
115
+ tabIndex: disabled ? -1 : 0,
116
+ target: href && rest.target,
117
+ };
118
+ return (React.createElement(SideNavItemContext.Provider, { value: { buttonRef } },
119
+ React.createElement(El, Object.assign({ ref: buttonRef, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: focusFunction, onBlur: blurFunction }, buttonProps),
120
+ renderPrefix(),
121
+ React.createElement(BodyText, { el: "span", size: "small", className: "SideNavItem__button__content" }, children),
122
+ renderSuffix())));
123
+ };
124
+ export const SideNavItemContext = React.createContext(null);
125
+ const renderIcon = (icon) => {
126
+ // Icon passed as Icon name
127
+ if (typeof icon === 'string') {
128
+ return (React.createElement(Icon, { className: "SideNavItem__button__icon", name: icon, size: 20 }));
129
+ }
130
+ // Icon passed as an IconProps object
131
+ if (icon != null && !React.isValidElement(icon)) {
132
+ return (React.createElement(Icon, Object.assign({ className: classnames('SideNavItem__button__icon', icon.className) }, icon)));
133
+ }
134
+ return null;
36
135
  };
37
136
  //# sourceMappingURL=SideNavItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItem.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAwB9D,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EASjD,EAAE,EAAE;QAT6C,EACjD,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,OAEN,EADG,KAAK,cARyC,2EASjD,CADQ;IAER,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,MAAM,cAAc,GAAG,CAAC,CAAoC,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC;IAE7B,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,qBAAqB,EAAE,MAAM;KAC7B,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,UAAU,CAAC,qBAAqB,EAAE;QAClE,oCAAoC,EAAE,cAAc;KACpD,CAAC,CAAC;IAEH,OAAO,CACN,0CACC,SAAS,EAAE,kBAAkB,0BACR,aAAa,IAC9B,KAAK;QAET,oBAAC,QAAQ,kBACR,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,CAAC,EACX,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,wBAAwB,EACnC,OAAO,EAAE,cAAc,IACnB,WAAW,GAEd,QAAQ,CACC,CACP,CACL,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"SideNavItem.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavItem.tsx"],"names":[],"mappings":"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"}
@@ -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,45 +32,121 @@
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;
57
70
  }
58
- .SideNavItem--active .SideNavItem__button {
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;
85
+ }
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
  .SideNavGroup {
63
- margin-top: 32px;
138
+ margin-top: 24px;
64
139
  }
65
140
  .SideNav__list .SideNavGroup:first-child {
66
141
  margin-top: 16px;
67
142
  }
143
+ .SideNav__list .SideNavGroup:last-child {
144
+ margin-bottom: 16px;
145
+ }
68
146
 
69
147
  .SideNavGroup__title {
70
- margin: 0 16px 8px;
148
+ margin: 8px;
149
+ margin-top: 0;
71
150
  }
72
151
 
73
152
  .SideNavGroup__list {
@@ -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","../../../src/components/SideNav/SideNavGroup.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;;;ACFb;EACC,YH6HW;;AG3HX;EAA+B,YHyHpB;;;AGtHZ;EACC;;;AAGD;EFZC;EACA;EACA;EACA;EACA","file":"index.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","../../../src/components/SideNav/SideNavGroup.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;;;ACtHF;EACC,YH4HW;;AG1HX;EAA+B,YHyHpB;;AGxHX;EAA8B,eHwHnB;;;AGrHZ;EACC,QHmHW;EGlHX;;;AAGD;EFdC;EACA;EACA;EACA;EACA","file":"index.css"}
@@ -68,7 +68,7 @@
68
68
  overflow-x: hidden;
69
69
  opacity: 0;
70
70
  }
71
- .Sidebar--collapsed .Sidebar__toggle-button:not(:hover) {
71
+ .Sidebar--collapsed .Sidebar__toggle-button:not(:hover):not(:focus) {
72
72
  box-shadow: none;
73
73
  }
74
74
 
@@ -113,6 +113,9 @@
113
113
  .Sidebar__toggle-button:hover::before {
114
114
  background-color: var(--colorsHoverPrimary, rgba(34, 112, 238, 0.08));
115
115
  }
116
+ .Sidebar__toggle-button.Button--focus-visible:focus {
117
+ opacity: 1;
118
+ }
116
119
 
117
120
  .Sidebar__toggle-button-wrapper {
118
121
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Sidebar/Sidebar.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACiBA;AChBC;EACA;AAEA;EACA;EDeA;EACA;EACA;EACA,OApBe;EAqBf;;AAEA;AAAA;EAEC;EACA;;;AAIF;EACC;EACA,OAhCe;EAiCf;EACA;EACA;;;AAGD;EACC;EACA;EACA,OAzCe;;;AA4ChB;AAAA;AAAA;AAAA;EAIC;;;AAMA;AAAA;AAAA;AAAA;AAAA;EACwB,YAhDJ;;AAkDpB;AAAA;AAAA;AAAA;AAAA;EACuB,YAjDN;;;AAoDlB;EACC,OA7DyB;EA8DzB;;AAEA;EACC,OAjEwB;EAkExB;;AAGD;EAA4B;;AAE5B;EACC;EACA;EACA;;AAIA;EACC;;;AAKH;EACC,OArFyB;;AAuFzB;EACC,OAzFc;EA0Fd;;AAGD;EACC;EACA;;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;EACA,eA3G6B;;;AA+G/B;EACC;EACA,eAhH6B;EAiH7B;EACA;EACA;EACA;EACA,YA7G2B;;AA+G3B;EACC,YAhH0B;EAiH1B,OAlHkB;EAmHlB,cAnHkB;EAoHlB;;AAEA;EACC,kBAxHuB;;;AA6H1B;EACC;EACA,KApI2B;EAqI3B;EACA","file":"Sidebar.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Sidebar/Sidebar.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACiBA;AChBC;EACA;AAEA;EACA;EDeA;EACA;EACA;EACA,OApBe;EAqBf;;AAEA;AAAA;EAEC;EACA;;;AAIF;EACC;EACA,OAhCe;EAiCf;EACA;EACA;;;AAGD;EACC;EACA;EACA,OAzCe;;;AA4ChB;AAAA;AAAA;AAAA;EAIC;;;AAMA;AAAA;AAAA;AAAA;AAAA;EACwB,YAhDJ;;AAkDpB;AAAA;AAAA;AAAA;AAAA;EACuB,YAjDN;;;AAoDlB;EACC,OA7DyB;EA8DzB;;AAEA;EACC,OAjEwB;EAkExB;;AAGD;EAA4B;;AAE5B;EACC;EACA;EACA;;AAIA;EACC;;;AAKH;EACC,OArFyB;;AAuFzB;EACC,OAzFc;EA0Fd;;AAGD;EACC;EACA;;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;EACA,eA3G6B;;;AA+G/B;EACC;EACA,eAhH6B;EAiH7B;EACA;EACA;EACA;EACA,YA7G2B;;AA+G3B;EACC,YAhH0B;EAiH1B,OAlHkB;EAmHlB,cAnHkB;EAoHlB;;AAEA;EACC,kBAxHuB;;AA4HzB;EAAgC;;;AAGjC;EACC;EACA,KAtI2B;EAuI3B;EACA","file":"Sidebar.css"}
@@ -83,7 +83,7 @@ export const Sidebar = (_a) => {
83
83
  return (React.createElement(Element, Object.assign({ className: SidebarClasses, ref: sidebarRef, "data-anvil-component": "Sidebar" }, rest),
84
84
  React.createElement("div", { className: "Sidebar__wrapper" },
85
85
  React.createElement(Tooltip, { hoverOnly: true, className: "Sidebar__toggle-button-wrapper", direction: "r", text: tooltipText },
86
- React.createElement(Button, { className: toggleButtonClasses, onClick: open, iconName: iconName, size: size, onMouseOver: () => clearTimeout(hoverTimeout.current), onMouseLeave: () => isTempOpen && handleHover(false) })),
86
+ React.createElement(Button, { className: toggleButtonClasses, onClick: open, iconName: iconName, size: size, onMouseOver: () => clearTimeout(hoverTimeout.current), onMouseLeave: () => isTempOpen && handleHover(false), "aria-label": `${isOpen ? 'collapse' : 'expand'} sidebar` })),
87
87
  React.createElement("div", { className: "Sidebar__content-wrapper", onMouseOver: () => handleHover(true), onMouseLeave: () => handleHover(false) },
88
88
  React.createElement("div", { className: "Sidebar__content" }, children)))));
89
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -68,7 +68,7 @@
68
68
  overflow-x: hidden;
69
69
  opacity: 0;
70
70
  }
71
- .Sidebar--collapsed .Sidebar__toggle-button:not(:hover) {
71
+ .Sidebar--collapsed .Sidebar__toggle-button:not(:hover):not(:focus) {
72
72
  box-shadow: none;
73
73
  }
74
74
 
@@ -113,6 +113,9 @@
113
113
  .Sidebar__toggle-button:hover::before {
114
114
  background-color: var(--colorsHoverPrimary, rgba(34, 112, 238, 0.08));
115
115
  }
116
+ .Sidebar__toggle-button.Button--focus-visible:focus {
117
+ opacity: 1;
118
+ }
116
119
 
117
120
  .Sidebar__toggle-button-wrapper {
118
121
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Sidebar/Sidebar.scss","../../../src/utilities/_component-reset.scss","../../../src/components/Sidebar/SidebarSection.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;ACiBA;AChBC;EACA;AAEA;EACA;EDeA;EACA;EACA;EACA,OApBe;EAqBf;;AAEA;AAAA;EAEC;EACA;;;AAIF;EACC;EACA,OAhCe;EAiCf;EACA;EACA;;;AAGD;EACC;EACA;EACA,OAzCe;;;AA4ChB;AAAA;AAAA;AAAA;EAIC;;;AAMA;AAAA;AAAA;AAAA;AAAA;EACwB,YAhDJ;;AAkDpB;AAAA;AAAA;AAAA;AAAA;EACuB,YAjDN;;;AAoDlB;EACC,OA7DyB;EA8DzB;;AAEA;EACC,OAjEwB;EAkExB;;AAGD;EAA4B;;AAE5B;EACC;EACA;EACA;;AAIA;EACC;;;AAKH;EACC,OArFyB;;AAuFzB;EACC,OAzFc;EA0Fd;;AAGD;EACC;EACA;;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;EACA,eA3G6B;;;AA+G/B;EACC;EACA,eAhH6B;EAiH7B;EACA;EACA;EACA;EACA,YA7G2B;;AA+G3B;EACC,YAhH0B;EAiH1B,OAlHkB;EAmHlB,cAnHkB;EAoHlB;;AAEA;EACC,kBAxHuB;;;AA6H1B;EACC;EACA,KApI2B;EAqI3B;EACA;;;AE3ID;EACC;EACA,SC0HW;;ADxHX;EAAgB;;;AAGjB;AACA;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAA0B","file":"SidebarSection.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Sidebar/Sidebar.scss","../../../src/utilities/_component-reset.scss","../../../src/components/Sidebar/SidebarSection.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;ACiBA;AChBC;EACA;AAEA;EACA;EDeA;EACA;EACA;EACA,OApBe;EAqBf;;AAEA;AAAA;EAEC;EACA;;;AAIF;EACC;EACA,OAhCe;EAiCf;EACA;EACA;;;AAGD;EACC;EACA;EACA,OAzCe;;;AA4ChB;AAAA;AAAA;AAAA;EAIC;;;AAMA;AAAA;AAAA;AAAA;AAAA;EACwB,YAhDJ;;AAkDpB;AAAA;AAAA;AAAA;AAAA;EACuB,YAjDN;;;AAoDlB;EACC,OA7DyB;EA8DzB;;AAEA;EACC,OAjEwB;EAkExB;;AAGD;EAA4B;;AAE5B;EACC;EACA;EACA;;AAIA;EACC;;;AAKH;EACC,OArFyB;;AAuFzB;EACC,OAzFc;EA0Fd;;AAGD;EACC;EACA;;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;EACA,eA3G6B;;;AA+G/B;EACC;EACA,eAhH6B;EAiH7B;EACA;EACA;EACA;EACA,YA7G2B;;AA+G3B;EACC,YAhH0B;EAiH1B,OAlHkB;EAmHlB,cAnHkB;EAoHlB;;AAEA;EACC,kBAxHuB;;AA4HzB;EAAgC;;;AAGjC;EACC;EACA,KAtI2B;EAuI3B;EACA;;;AE7ID;EACC;EACA,SC0HW;;ADxHX;EAAgB;;;AAGjB;AACA;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAA0B","file":"SidebarSection.css"}