@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
@@ -5,6 +5,7 @@ export interface KeyPressListenerProps {
5
5
  handler(event: KeyboardEvent): void;
6
6
  keyEvent?: KeyEvent;
7
7
  disabled?: boolean;
8
+ targetElement?: HTMLElement;
8
9
  }
9
10
  declare type KeyEvent = 'keydown' | 'keyup';
10
11
  export declare const KeyPressListener: React.FC<KeyPressListenerProps>;
@@ -1,18 +1,20 @@
1
1
  import { useEffect } from 'react';
2
- export const KeyPressListener = ({ code, handler, keyEvent = 'keyup', disabled = false, }) => {
2
+ export const KeyPressListener = ({ code, handler, keyEvent = 'keyup', disabled = false, targetElement, }) => {
3
3
  const handleKeyEvent = (event) => {
4
+ if (event.code !== code)
5
+ return;
4
6
  if (disabled) {
5
7
  event.preventDefault();
6
8
  return;
7
9
  }
8
- if (event.code === code) {
9
- handler(event);
10
- }
10
+ handler(event);
11
11
  };
12
+ const getElement = () => (targetElement ? targetElement : document);
12
13
  useEffect(() => {
13
- document.addEventListener(keyEvent, handleKeyEvent);
14
+ const target = getElement();
15
+ target.addEventListener(keyEvent, handleKeyEvent);
14
16
  return () => {
15
- document.removeEventListener(keyEvent, handleKeyEvent);
17
+ target.removeEventListener(keyEvent, handleKeyEvent);
16
18
  };
17
19
  });
18
20
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyPressListener.js","sourceRoot":"","sources":["../../../src/components/KeyPressListener/KeyPressListener.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYzC,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EACjE,IAAI,EACJ,OAAO,EACP,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,KAAK,GAChB,EAAE,EAAE;IACJ,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC/C,IAAI,QAAQ,EAAE;YACb,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACP;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,CAAC;SACf;IACF,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"KeyPressListener.js","sourceRoot":"","sources":["../../../src/components/KeyPressListener/KeyPressListener.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAazC,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EACjE,IAAI,EACJ,OAAO,EACP,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,KAAK,EAChB,aAAa,GACb,EAAE,EAAE;IACJ,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAEhC,IAAI,QAAQ,EAAE;YACb,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACP;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACX,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React, { FC } from 'react';
2
2
  import { ModalWindow, ModalWindowProps, ModalHeader, ModalHeaderProps, ModalFooter, ModalFooterProps, ModalContent, ModalSizes } from './components';
3
- import { FocusTrapProps } from '../../utilities/FocusTrap';
3
+ import { UseFocusTrapProps } from '../../hooks';
4
4
  export interface ModalProps extends ModalHeaderProps, ModalWindowProps {
5
5
  /** Adds one or more classnames for an element */
6
6
  className?: string;
@@ -16,8 +16,8 @@ export interface ModalProps extends ModalHeaderProps, ModalWindowProps {
16
16
  scrollable?: boolean;
17
17
  /** Controls the width of the Modal */
18
18
  size?: ModalSizes;
19
- /** Options passed into FocusTrap */
20
- focusTrapOptions?: FocusTrapProps;
19
+ /** Options passed into useFocusTrap */
20
+ focusTrapOptions?: UseFocusTrapProps;
21
21
  /** Adds classnames to Modal's content wrapper */
22
22
  contentClassName?: string;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAa,MAAM,OAAO,CAAC;AAElC,OAAO,EACN,WAAW,EAEX,WAAW,EAEX,WAAW,EAEX,YAAY,EACZ,UAAU,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAwCxC,MAAM,CAAC,MAAM,KAAK,GAAU,CAAC,EAa5B,EAAE,EAAE;QAbwB,EAC5B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,IAAI,EACJ,MAAM,GAAG,IAAI,EACb,UAAU,GAAG,IAAI,EACjB,IAAI,EACJ,KAAK,EACL,gBAAgB,EAChB,gBAAgB,OAEhB,EADG,IAAI,cAZqB,yIAa5B,CADO;IAEP,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,MAAM,UAAU,GAAG,iBAAiB,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvE,MAAM,gBAAgB,GAAG,uBAAuB,cAAc,CAC7D,WAAW,EACX,CAAC,CACD,EAAE,EAAE,CAAC;IAEN,OAAO,CACN,oBAAC,WAAW,kBACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,aAAa,0BACG,OAAO,gBACjB,MAAM,qBACA,UAAU,sBACT,gBAAgB,IAC9B,IAAI;QAER,oBAAC,WAAW,IAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI;QAC/D,oBAAC,YAAY,IACZ,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC/C,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,gBAAgB,IAEnB,QAAQ,CACK;QACd,MAAM,IAAI,oBAAC,WAAW,IAAC,KAAK,EAAE,WAAW,IAAG,MAAM,CAAe,CACrD,CACd,CAAC;AACH,CAAC,CAAC;AAEF,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AAC7B,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAa,MAAM,OAAO,CAAC;AAElC,OAAO,EACN,WAAW,EAEX,WAAW,EAEX,WAAW,EAEX,YAAY,EACZ,UAAU,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAyCxC,MAAM,CAAC,MAAM,KAAK,GAAU,CAAC,EAa5B,EAAE,EAAE;QAbwB,EAC5B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,IAAI,EACJ,MAAM,GAAG,IAAI,EACb,UAAU,GAAG,IAAI,EACjB,IAAI,EACJ,KAAK,EACL,gBAAgB,EAChB,gBAAgB,OAEhB,EADG,IAAI,cAZqB,yIAa5B,CADO;IAEP,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,MAAM,UAAU,GAAG,iBAAiB,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvE,MAAM,gBAAgB,GAAG,uBAAuB,cAAc,CAC7D,WAAW,EACX,CAAC,CACD,EAAE,EAAE,CAAC;IAEN,OAAO,CACN,oBAAC,WAAW,kBACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,aAAa,0BACG,OAAO,gBACjB,MAAM,qBACA,UAAU,sBACT,gBAAgB,IAC9B,IAAI;QAER,oBAAC,WAAW,IAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI;QAC/D,oBAAC,YAAY,IACZ,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC/C,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,gBAAgB,IAEnB,QAAQ,CACK;QACd,MAAM,IAAI,oBAAC,WAAW,IAAC,KAAK,EAAE,WAAW,IAAG,MAAM,CAAe,CACrD,CACd,CAAC;AACH,CAAC,CAAC;AAEF,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AAC7B,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React, { FC } from 'react';
2
2
  import { OverlayProps } from '../../internal/Overlay';
3
3
  import { JustifyProps } from '../../utilities/justify-props';
4
- import { FocusTrapProps } from '../../utilities/FocusTrap';
4
+ import { UseFocusTrapProps } from '../../hooks/useFocusTrap';
5
5
  export interface ModalContentProps {
6
6
  /** Adds one or more classnames for an element */
7
7
  className?: string;
@@ -38,7 +38,7 @@ export interface ModalWindowProps extends OverlayProps {
38
38
  /** Add class attribute */
39
39
  className?: string;
40
40
  size?: ModalSizes;
41
- /** Options passed into FocusTrap */
42
- focusTrapOptions?: FocusTrapProps;
41
+ /** Options passed into useFocusTrap */
42
+ focusTrapOptions?: UseFocusTrapProps;
43
43
  }
44
44
  export declare const ModalWindow: FC<ModalWindowProps>;
@@ -9,12 +9,12 @@ 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
- import { FocusTrap } from '../../utilities/FocusTrap';
17
+ import { useFocusTrap } from '../../hooks/useFocusTrap';
18
18
  import { Headline } from '../Headline';
19
19
  import { Button } from '../Button';
20
20
  export const ModalContent = ({ children, className, scrollable = true, id, }) => {
@@ -62,8 +62,8 @@ function sizeClass(size) {
62
62
  export const ModalWindow = (_a) => {
63
63
  var { animate = true, children, className, focusTrapOptions, onClose, open, portal = true, size = ModalSizes.M } = _a, props = __rest(_a, ["animate", "children", "className", "focusTrapOptions", "onClose", "open", "portal", "size"]);
64
64
  const ModalWindowClassNames = classnames('Modal', sizeClass(size), className);
65
- const containerRef = useRef(null);
66
- const [focusWrapper, setFocusWrapper] = React.useState(1);
65
+ // Focus trapping
66
+ const containerRef = useFocusTrap(Object.assign({ autoFocusContainer: true, disabled: !open }, focusTrapOptions));
67
67
  const duration = parseInt(tokens.durationStandard, 10) / 1000; // '200ms' -> 0.2
68
68
  const framerAnimation = {
69
69
  initial: { opacity: 0, y: 50 },
@@ -73,20 +73,8 @@ export const ModalWindow = (_a) => {
73
73
  };
74
74
  const Animate = animate ? AnimatePresence : React.Fragment;
75
75
  const ModalEl = animate ? motion.div : 'div';
76
- const ModalProps = Object.assign(Object.assign(Object.assign({ className: ModalWindowClassNames }, (animate && framerAnimation)), props), { ref: containerRef, tabIndex: focusWrapper });
77
- React.useEffect(() => {
78
- // Removes wrapper to be focusable element after initial tab
79
- function eventHandler(event) {
80
- event.key === 'Tab' && setFocusWrapper(-1);
81
- }
82
- document.addEventListener('keydown', eventHandler);
83
- return () => document.removeEventListener('keydown', eventHandler);
84
- }, []);
85
- React.useEffect(() => {
86
- setFocusWrapper(1);
87
- }, [open]);
76
+ const ModalProps = Object.assign(Object.assign(Object.assign({ className: ModalWindowClassNames }, (animate && framerAnimation)), props), { ref: containerRef });
88
77
  return (React.createElement(Overlay, { animate: animate, backdrop: true, onClose: onClose, open: open, portal: portal },
89
- React.createElement(Animate, null, open && (React.createElement(FocusTrap, Object.assign({}, focusTrapOptions),
90
- React.createElement(ModalEl, Object.assign({}, ModalProps), children))))));
78
+ React.createElement(Animate, null, open && React.createElement(ModalEl, Object.assign({}, ModalProps), children))));
91
79
  };
92
80
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/components/Modal/components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/components/Modal/components.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React, { ForwardRefExoticComponent } from 'react';
2
2
  import { PopperProps } from '../../internal/Popper';
3
3
  import { PopoverContent, PopoverContentProps, PopoverDivider, PopoverFooter, PopoverFooterProps, PopoverHeader, PopoverHeaderProps } from './components';
4
- import { FocusTrapProps } from '../../utilities/FocusTrap';
4
+ import { UseFocusTrapProps } from '../../hooks/useFocusTrap';
5
5
  export interface PopoverPropsStrict {
6
6
  /** If there isn't enough space on the screen the Popover will be repositioned to the opposite side of the anchor */
7
7
  autoFlipHorizontally?: boolean;
@@ -51,8 +51,8 @@ export interface PopoverPropsStrict {
51
51
  width?: 'xs' | 's' | 'm' | 'l' | '100' | 'auto';
52
52
  /** Adds one or more classnames to Popover's source element */
53
53
  wrapperClassName?: string;
54
- /** Options passed into FocusTrap */
55
- focusTrapOptions?: FocusTrapProps;
54
+ /** Options passed into useFocusTrap */
55
+ focusTrapOptions?: UseFocusTrapProps;
56
56
  /** offset ammount between Popover and trigger */
57
57
  offset?: PopperProps['offset'];
58
58
  }
@@ -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,7 +26,16 @@
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
  /*# sourceMappingURL=ProgressTracker.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"],"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","file":"ProgressTracker.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"],"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","file":"ProgressTracker.css"}
@@ -8,6 +8,12 @@ export interface ProgressTrackerPropsStrict {
8
8
  currentIndex: number | false;
9
9
  /** Turn this on if this flow has been previously completed */
10
10
  completed?: boolean;
11
+ /** Disable style for the entire Progress Tracker */
12
+ disabled?: boolean;
13
+ /** Hides labels behind Tooltips. For accessibility, labels should be added even when hidden */
14
+ hideLabels?: boolean;
15
+ /** Size of the Progress Tracker. Defaults to medium. */
16
+ size?: 'small' | 'medium';
11
17
  }
12
18
  export interface ProgressTrackerProps extends ProgressTrackerPropsStrict {
13
19
  [propName: string]: any;
@@ -14,7 +14,7 @@ import classnames from 'classnames';
14
14
  import { ProgressTrackerStep } from './ProgressTrackerStep';
15
15
  import { ProgressTrackerDivider } from './ProgressTrackerDivider';
16
16
  export const ProgressTracker = (_a) => {
17
- var { children, className, completed, currentIndex = 0 } = _a, rest = __rest(_a, ["children", "className", "completed", "currentIndex"]);
17
+ var { children, className, completed, currentIndex = 0, disabled, hideLabels, size = 'medium' } = _a, rest = __rest(_a, ["children", "className", "completed", "currentIndex", "disabled", "hideLabels", "size"]);
18
18
  const renderSteps = () => {
19
19
  return React.Children.map(children, (child, index) => {
20
20
  const childProps = {
@@ -23,11 +23,15 @@ export const ProgressTracker = (_a) => {
23
23
  active: child.props.active,
24
24
  completed: child.props.completed,
25
25
  editing: child.props.editing,
26
+ hideLabels: child.props.hideLabels,
27
+ size,
26
28
  };
27
29
  const isIndexed = currentIndex !== false;
28
30
  const isActive = index === currentIndex;
29
31
  const isBeforeActive = index < currentIndex;
30
32
  const flowPreviouslyCompleted = completed;
33
+ if (hideLabels)
34
+ childProps.hideLabels = true;
31
35
  if (isIndexed) {
32
36
  if (flowPreviouslyCompleted) {
33
37
  // If currentIndex is used and this is the current step
@@ -47,13 +51,17 @@ export const ProgressTracker = (_a) => {
47
51
  }
48
52
  }
49
53
  return [
50
- index > 0 && (React.createElement(ProgressTrackerDivider, { key: `${index}-divider` })),
54
+ index > 0 && (React.createElement(ProgressTrackerDivider, { key: `${index}-divider`, completed: isBeforeActive ||
55
+ flowPreviouslyCompleted ||
56
+ isActive })),
51
57
  React.cloneElement(child, childProps),
52
58
  ];
53
59
  });
54
60
  };
55
61
  const ProgressTrackerClasses = classnames('ProgressTracker', className, {
56
62
  'ProgressTracker--completed': completed,
63
+ 'ProgressTracker--disabled': disabled,
64
+ [`ProgressTracker--${size}`]: size,
57
65
  });
58
66
  return (React.createElement("div", Object.assign({ className: ProgressTrackerClasses, "data-anvil-component": "ProgressTracker" }, rest), renderSteps()));
59
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressTracker.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTracker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAuBlE,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,EAMhD,EAAE,EAAE;QAN4C,EAChD,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,GAAG,CAAC,OAEhB,EADG,IAAI,cALyC,sDAMhD,CADO;IAEP,MAAM,WAAW,GAAG,GAAoB,EAAE;QACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CACxB,QAAQ,EACR,CAAC,KAAyB,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,UAAU,GAAG;gBAClB,GAAG,EAAE,GAAG,KAAK,OAAO;gBACpB,UAAU,EAAE,KAAK,GAAG,CAAC;gBACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC1B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;aAC5B,CAAC;YAEF,MAAM,SAAS,GAAG,YAAY,KAAK,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,KAAK,YAAY,CAAC;YACxC,MAAM,cAAc,GAAG,KAAK,GAAG,YAAY,CAAC;YAC5C,MAAM,uBAAuB,GAAG,SAAS,CAAC;YAE1C,IAAI,SAAS,EAAE;gBACd,IAAI,uBAAuB,EAAE;oBAC5B,uDAAuD;oBACvD,IAAI,QAAQ;wBAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAExC,2GAA2G;oBAC3G,IAAI,CAAC,QAAQ;wBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC3C;gBAED,IAAI,CAAC,uBAAuB,EAAE;oBAC7B,uDAAuD;oBACvD,IAAI,QAAQ;wBAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;oBAEvC,mEAAmE;oBACnE,IAAI,cAAc;wBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;iBAChD;aACD;YAED,OAAO;gBACN,KAAK,GAAG,CAAC,IAAI,CACZ,oBAAC,sBAAsB,IAAC,GAAG,EAAE,GAAG,KAAK,UAAU,GAAI,CACnD;gBACD,KAAK,CAAC,YAAY,CAAC,KAA2B,EAAE,UAAU,CAAC;aAC3D,CAAC;QACH,CAAC,CACD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE;QACvE,4BAA4B,EAAE,SAAS;KACvC,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,sBAAsB,0BACZ,iBAAiB,IAClC,IAAI,GAEP,WAAW,EAAE,CACT,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,GAAG,mBAAmB,CAAC;AAC3C,eAAe,CAAC,OAAO,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"ProgressTracker.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTracker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgClE,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,EAShD,EAAE,EAAE;QAT4C,EAChD,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,GAAG,CAAC,EAChB,QAAQ,EACR,UAAU,EACV,IAAI,GAAG,QAAQ,OAEf,EADG,IAAI,cARyC,wFAShD,CADO;IAEP,MAAM,WAAW,GAAG,GAAoB,EAAE;QACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CACxB,QAAQ,EACR,CAAC,KAAyB,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,UAAU,GAAG;gBAClB,GAAG,EAAE,GAAG,KAAK,OAAO;gBACpB,UAAU,EAAE,KAAK,GAAG,CAAC;gBACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC1B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gBAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,IAAI;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,YAAY,KAAK,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,KAAK,YAAY,CAAC;YACxC,MAAM,cAAc,GAAG,KAAK,GAAG,YAAY,CAAC;YAC5C,MAAM,uBAAuB,GAAG,SAAS,CAAC;YAE1C,IAAI,UAAU;gBAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;YAE7C,IAAI,SAAS,EAAE;gBACd,IAAI,uBAAuB,EAAE;oBAC5B,uDAAuD;oBACvD,IAAI,QAAQ;wBAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAExC,2GAA2G;oBAC3G,IAAI,CAAC,QAAQ;wBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC3C;gBAED,IAAI,CAAC,uBAAuB,EAAE;oBAC7B,uDAAuD;oBACvD,IAAI,QAAQ;wBAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;oBAEvC,mEAAmE;oBACnE,IAAI,cAAc;wBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;iBAChD;aACD;YAED,OAAO;gBACN,KAAK,GAAG,CAAC,IAAI,CACZ,oBAAC,sBAAsB,IACtB,GAAG,EAAE,GAAG,KAAK,UAAU,EACvB,SAAS,EACR,cAAc;wBACd,uBAAuB;wBACvB,QAAQ,GAER,CACF;gBACD,KAAK,CAAC,YAAY,CAAC,KAA2B,EAAE,UAAU,CAAC;aAC3D,CAAC;QACH,CAAC,CACD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE;QACvE,4BAA4B,EAAE,SAAS;QACvC,2BAA2B,EAAE,QAAQ;QACrC,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,IAAI;KAClC,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,sBAAsB,0BACZ,iBAAiB,IAClC,IAAI,GAEP,WAAW,EAAE,CACT,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,GAAG,mBAAmB,CAAC;AAC3C,eAAe,CAAC,OAAO,GAAG,sBAAsB,CAAC"}
@@ -2,6 +2,7 @@ import { FC } from 'react';
2
2
  export interface Props {
3
3
  /** Adds one or more classnames to an element */
4
4
  className?: string;
5
+ completed?: boolean;
5
6
  [propName: string]: any;
6
7
  }
7
8
  export declare const ProgressTrackerDivider: FC<Props>;
@@ -13,7 +13,9 @@ import React from 'react';
13
13
  import classnames from 'classnames';
14
14
  export const ProgressTrackerDivider = (_a) => {
15
15
  var { className } = _a, props = __rest(_a, ["className"]);
16
- const ProgressTrackerDividerClasses = classnames('ProgressTrackerDivider', className);
16
+ const ProgressTrackerDividerClasses = classnames('ProgressTrackerDivider', className, {
17
+ 'ProgressTrackerDivider--completed': props.completed,
18
+ });
17
19
  return React.createElement("div", Object.assign({ className: ProgressTrackerDividerClasses }, props));
18
20
  };
19
21
  //# sourceMappingURL=ProgressTrackerDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressTrackerDivider.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerDivider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,MAAM,CAAC,MAAM,sBAAsB,GAAc,CAAC,EAAuB,EAAE,EAAE;QAA3B,EAAE,SAAS,OAAY,EAAP,KAAK,cAArB,aAAuB,CAAF;IACtE,MAAM,6BAA6B,GAAG,UAAU,CAC/C,wBAAwB,EACxB,SAAS,CACT,CAAC;IAEF,OAAO,2CAAK,SAAS,EAAE,6BAA6B,IAAM,KAAK,EAAI,CAAC;AACrE,CAAC,CAAC"}
1
+ {"version":3,"file":"ProgressTrackerDivider.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerDivider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AASpC,MAAM,CAAC,MAAM,sBAAsB,GAAc,CAAC,EAAuB,EAAE,EAAE;QAA3B,EAAE,SAAS,OAAY,EAAP,KAAK,cAArB,aAAuB,CAAF;IACtE,MAAM,6BAA6B,GAAG,UAAU,CAC/C,wBAAwB,EACxB,SAAS,EACT;QACC,mCAAmC,EAAE,KAAK,CAAC,SAAS;KACpD,CACD,CAAC;IAEF,OAAO,2CAAK,SAAS,EAAE,6BAA6B,IAAM,KAAK,EAAI,CAAC;AACrE,CAAC,CAAC"}
@@ -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"}