@servicetitan/design-system 10.7.0 → 11.0.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 (178) hide show
  1. package/dist/components/Backdrop/Backdrop.css +2 -20
  2. package/dist/components/Backdrop/Backdrop.css.map +1 -1
  3. package/dist/components/Backdrop/Backdrop.d.ts +5 -7
  4. package/dist/components/Backdrop/Backdrop.js +23 -43
  5. package/dist/components/Backdrop/Backdrop.js.map +1 -1
  6. package/dist/components/Backdrop/index.css +2 -20
  7. package/dist/components/Backdrop/index.css.map +1 -1
  8. package/dist/components/Button/Button.d.ts +19 -19
  9. package/dist/components/DateRangePicker/DateRangePicker.css +0 -1
  10. package/dist/components/DateRangePicker/DateRangePicker.css.map +1 -1
  11. package/dist/components/DateRangePicker/DateRangePicker.d.ts +25 -1
  12. package/dist/components/DateRangePicker/DateRangePicker.js +47 -47
  13. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  14. package/dist/components/DateRangePicker/DateRangePicker.test.js +11 -11
  15. package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
  16. package/dist/components/DateRangePicker/components/DateRangeInput.d.ts +6 -0
  17. package/dist/components/DateRangePicker/components/DateRangeInput.js +13 -8
  18. package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
  19. package/dist/components/DateRangePicker/components/DateRangeOptionList.js +3 -2
  20. package/dist/components/DateRangePicker/components/DateRangeOptionList.js.map +1 -1
  21. package/dist/components/DateRangePicker/components/DateRangeTrigger.d.ts +6 -0
  22. package/dist/components/DateRangePicker/components/DateRangeTrigger.js +5 -6
  23. package/dist/components/DateRangePicker/components/DateRangeTrigger.js.map +1 -1
  24. package/dist/components/DateRangePicker/index.css +0 -1
  25. package/dist/components/DateRangePicker/index.css.map +1 -1
  26. package/dist/components/DateRangePicker/utils/checkScope.js +1 -1
  27. package/dist/components/DateRangePicker/utils/checkScope.js.map +1 -1
  28. package/dist/components/DateRangePicker/utils/index.d.ts +0 -1
  29. package/dist/components/DateRangePicker/utils/index.js +0 -1
  30. package/dist/components/DateRangePicker/utils/index.js.map +1 -1
  31. package/dist/components/Dialog/Dialog.d.ts +7 -5
  32. package/dist/components/Dialog/Dialog.js +4 -9
  33. package/dist/components/Dialog/Dialog.js.map +1 -1
  34. package/dist/components/Drawer/Drawer.css +6 -1
  35. package/dist/components/Drawer/Drawer.css.map +1 -1
  36. package/dist/components/Drawer/Drawer.d.ts +16 -25
  37. package/dist/components/Drawer/Drawer.js +34 -24
  38. package/dist/components/Drawer/Drawer.js.map +1 -1
  39. package/dist/components/Drawer/index.css +6 -1
  40. package/dist/components/Drawer/index.css.map +1 -1
  41. package/dist/components/FilePicker/FilePicker.css +1 -1
  42. package/dist/components/FilePicker/index.css +1 -1
  43. package/dist/components/FilterButton/FilterButton.css +46 -0
  44. package/dist/components/FilterButton/FilterButton.css.map +1 -0
  45. package/dist/components/FilterButton/FilterButton.d.ts +20 -0
  46. package/dist/components/FilterButton/FilterButton.js +62 -0
  47. package/dist/components/FilterButton/FilterButton.js.map +1 -0
  48. package/dist/components/FilterButton/index.css +46 -0
  49. package/dist/components/FilterButton/index.css.map +1 -0
  50. package/dist/components/FilterButton/index.d.ts +1 -0
  51. package/dist/components/FilterButton/index.js +14 -0
  52. package/dist/components/FilterButton/index.js.map +1 -0
  53. package/dist/components/Input/Input.css +135 -201
  54. package/dist/components/Input/Input.css.map +1 -1
  55. package/dist/components/Input/Input.js +36 -60
  56. package/dist/components/Input/Input.js.map +1 -1
  57. package/dist/components/Input/index.css +135 -201
  58. package/dist/components/Input/index.css.map +1 -1
  59. package/dist/components/Link/Link.css +10 -4
  60. package/dist/components/Link/Link.css.map +1 -1
  61. package/dist/components/Link/Link.d.ts +2 -0
  62. package/dist/components/Link/Link.js +7 -19
  63. package/dist/components/Link/Link.js.map +1 -1
  64. package/dist/components/Link/index.css +10 -4
  65. package/dist/components/Link/index.css.map +1 -1
  66. package/dist/components/Modal/Modal.css +5 -2
  67. package/dist/components/Modal/Modal.css.map +1 -1
  68. package/dist/components/Modal/Modal.d.ts +9 -7
  69. package/dist/components/Modal/Modal.js +3 -3
  70. package/dist/components/Modal/Modal.js.map +1 -1
  71. package/dist/components/Modal/components.d.ts +5 -6
  72. package/dist/components/Modal/components.js +34 -13
  73. package/dist/components/Modal/components.js.map +1 -1
  74. package/dist/components/Modal/index.css +5 -2
  75. package/dist/components/Modal/index.css.map +1 -1
  76. package/dist/components/Popover/Popover.d.ts +3 -3
  77. package/dist/components/Popover/Popover.js +3 -10
  78. package/dist/components/Popover/Popover.js.map +1 -1
  79. package/dist/components/ProgressTracker/ProgressTrackerStep.css +2 -2
  80. package/dist/components/ProgressTracker/index.css +2 -2
  81. package/dist/components/Select/Select.css +1 -1
  82. package/dist/components/Select/index.css +1 -1
  83. package/dist/components/Sidebar/Sidebar.js +5 -2
  84. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  85. package/dist/components/Snackbar/Snackbar.css +1 -1
  86. package/dist/components/Snackbar/index.css +1 -1
  87. package/dist/components/Tab/Tab.css +1 -0
  88. package/dist/components/Tab/Tab.css.map +1 -1
  89. package/dist/components/Tab/Tab.js +1 -1
  90. package/dist/components/Tab/Tab.js.map +1 -1
  91. package/dist/components/Tab/index.css +1 -0
  92. package/dist/components/Tab/index.css.map +1 -1
  93. package/dist/components/Table/GridMod.d.ts +4 -0
  94. package/dist/components/Table/GridMod.js +93 -0
  95. package/dist/components/Table/GridMod.js.map +1 -0
  96. package/dist/components/Table/Table.css +3 -0
  97. package/dist/components/Table/Table.css.map +1 -1
  98. package/dist/components/Table/Table.js +2 -1
  99. package/dist/components/Table/Table.js.map +1 -1
  100. package/dist/components/Table/index.css +3 -0
  101. package/dist/components/Table/index.css.map +1 -1
  102. package/dist/components/Takeover/Takeover.css +10 -0
  103. package/dist/components/Takeover/Takeover.css.map +1 -1
  104. package/dist/components/Takeover/Takeover.d.ts +11 -4
  105. package/dist/components/Takeover/Takeover.js +33 -12
  106. package/dist/components/Takeover/Takeover.js.map +1 -1
  107. package/dist/components/Takeover/TakeoverFooter.css +10 -0
  108. package/dist/components/Takeover/TakeoverFooter.css.map +1 -1
  109. package/dist/components/Takeover/TakeoverSection.css +10 -0
  110. package/dist/components/Takeover/TakeoverSection.css.map +1 -1
  111. package/dist/components/Takeover/index.css +10 -0
  112. package/dist/components/Takeover/index.css.map +1 -1
  113. package/dist/components/Tooltip/Tooltip.js +1 -1
  114. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  115. package/dist/components/index.css +221 -234
  116. package/dist/components/index.css.map +1 -1
  117. package/dist/components/index.d.ts +1 -0
  118. package/dist/components/index.js +1 -0
  119. package/dist/components/index.js.map +1 -1
  120. package/dist/global/index.css +1 -1
  121. package/dist/global/version.css +1 -1
  122. package/dist/hooks/index.d.ts +0 -1
  123. package/dist/hooks/index.js +0 -1
  124. package/dist/hooks/index.js.map +1 -1
  125. package/dist/internal/Overlay/Overlay.css +18 -0
  126. package/dist/internal/Overlay/Overlay.css.map +1 -0
  127. package/dist/internal/Overlay/Overlay.d.ts +15 -0
  128. package/dist/internal/Overlay/Overlay.js +46 -0
  129. package/dist/internal/Overlay/Overlay.js.map +1 -0
  130. package/dist/internal/Overlay/index.css +18 -0
  131. package/dist/internal/Overlay/index.css.map +1 -0
  132. package/dist/internal/Overlay/index.d.ts +1 -0
  133. package/dist/internal/Overlay/index.js +14 -0
  134. package/dist/internal/Overlay/index.js.map +1 -0
  135. package/dist/internal/Popper/Popper.css +7 -0
  136. package/dist/internal/Popper/Popper.css.map +1 -1
  137. package/dist/internal/Popper/Popper.d.ts +3 -1
  138. package/dist/internal/Popper/Popper.js +20 -11
  139. package/dist/internal/Popper/Popper.js.map +1 -1
  140. package/dist/internal/Popper/index.css +7 -0
  141. package/dist/internal/Popper/index.css.map +1 -1
  142. package/dist/internal/index.css +24 -0
  143. package/dist/internal/index.css.map +1 -1
  144. package/dist/internal/index.d.ts +1 -0
  145. package/dist/internal/index.js +1 -0
  146. package/dist/internal/index.js.map +1 -1
  147. package/dist/system-light.css +141 -5
  148. package/dist/system-light.css.map +1 -1
  149. package/dist/system-light.min.css +1 -1
  150. package/dist/system.css +368 -251
  151. package/dist/system.css.map +1 -1
  152. package/dist/system.min.css +2 -2
  153. package/dist/themes/index.css +4 -4
  154. package/dist/themes/kendo/index.css +4 -4
  155. package/dist/utilities/FocusTrap/FocusTrap.d.ts +8 -0
  156. package/dist/utilities/FocusTrap/FocusTrap.js +73 -0
  157. package/dist/utilities/FocusTrap/FocusTrap.js.map +1 -0
  158. package/dist/utilities/FocusTrap/index.d.ts +1 -0
  159. package/dist/utilities/FocusTrap/index.js +14 -0
  160. package/dist/utilities/FocusTrap/index.js.map +1 -0
  161. package/dist/utilities/OverlayContext.js +2 -7
  162. package/dist/utilities/OverlayContext.js.map +1 -1
  163. package/dist/utilities/dateFormat.d.ts +16 -0
  164. package/dist/utilities/dateFormat.js +44 -0
  165. package/dist/utilities/dateFormat.js.map +1 -0
  166. package/dist/utilities/index.d.ts +2 -1
  167. package/dist/utilities/index.js +2 -1
  168. package/dist/utilities/index.js.map +1 -1
  169. package/package.json +9 -9
  170. package/dist/components/DateRangePicker/utils/dateFormat.d.ts +0 -8
  171. package/dist/components/DateRangePicker/utils/dateFormat.js +0 -42
  172. package/dist/components/DateRangePicker/utils/dateFormat.js.map +0 -1
  173. package/dist/hooks/useFocusScope.d.ts +0 -16
  174. package/dist/hooks/useFocusScope.js +0 -89
  175. package/dist/hooks/useFocusScope.js.map +0 -1
  176. package/dist/utilities/focus-utils.d.ts +0 -4
  177. package/dist/utilities/focus-utils.js +0 -49
  178. package/dist/utilities/focus-utils.js.map +0 -1
@@ -6961,7 +6961,7 @@ kendo-badge-container {
6961
6961
  }
6962
6962
  .k-calendar .k-calendar-td:hover .k-link,
6963
6963
  .k-calendar .k-calendar-td.k-state-hover .k-link {
6964
- border-color: #9e9ea0;
6964
+ border-color: #949596;
6965
6965
  color: #444445;
6966
6966
  background-color: #eeeeee;
6967
6967
  }
@@ -9896,7 +9896,7 @@ kendo-label.k-radio-label > .k-label {
9896
9896
  }
9897
9897
 
9898
9898
  .k-switch:hover .k-switch-container, .k-switch.k-state-hover .k-switch-container {
9899
- box-shadow: inset 0 0 0 1px #9e9ea0;
9899
+ box-shadow: inset 0 0 0 1px #949596;
9900
9900
  }
9901
9901
  .k-switch:focus .k-switch-container, .k-switch.k-state-focused .k-switch-container {
9902
9902
  outline: none;
@@ -9921,7 +9921,7 @@ kendo-label.k-radio-label > .k-label {
9921
9921
  background-color: #eb5b51;
9922
9922
  }
9923
9923
  .k-switch-on:hover .k-switch-handle, .k-switch-on.k-state-hover .k-switch-handle {
9924
- border-color: #9e9ea0;
9924
+ border-color: #949596;
9925
9925
  color: #ffffff;
9926
9926
  background-color: #ededed;
9927
9927
  }
@@ -9943,7 +9943,7 @@ kendo-label.k-radio-label > .k-label {
9943
9943
  background-color: #ffffff;
9944
9944
  }
9945
9945
  .k-switch-off:hover .k-switch-handle, .k-switch-off.k-state-hover .k-switch-handle {
9946
- border-color: #9e9ea0;
9946
+ border-color: #949596;
9947
9947
  color: #424242;
9948
9948
  background-color: #ededed;
9949
9949
  }
@@ -6961,7 +6961,7 @@ kendo-badge-container {
6961
6961
  }
6962
6962
  .k-calendar .k-calendar-td:hover .k-link,
6963
6963
  .k-calendar .k-calendar-td.k-state-hover .k-link {
6964
- border-color: #9e9ea0;
6964
+ border-color: #949596;
6965
6965
  color: #444445;
6966
6966
  background-color: #eeeeee;
6967
6967
  }
@@ -9896,7 +9896,7 @@ kendo-label.k-radio-label > .k-label {
9896
9896
  }
9897
9897
 
9898
9898
  .k-switch:hover .k-switch-container, .k-switch.k-state-hover .k-switch-container {
9899
- box-shadow: inset 0 0 0 1px #9e9ea0;
9899
+ box-shadow: inset 0 0 0 1px #949596;
9900
9900
  }
9901
9901
  .k-switch:focus .k-switch-container, .k-switch.k-state-focused .k-switch-container {
9902
9902
  outline: none;
@@ -9921,7 +9921,7 @@ kendo-label.k-radio-label > .k-label {
9921
9921
  background-color: #eb5b51;
9922
9922
  }
9923
9923
  .k-switch-on:hover .k-switch-handle, .k-switch-on.k-state-hover .k-switch-handle {
9924
- border-color: #9e9ea0;
9924
+ border-color: #949596;
9925
9925
  color: #ffffff;
9926
9926
  background-color: #ededed;
9927
9927
  }
@@ -9943,7 +9943,7 @@ kendo-label.k-radio-label > .k-label {
9943
9943
  background-color: #ffffff;
9944
9944
  }
9945
9945
  .k-switch-off:hover .k-switch-handle, .k-switch-off.k-state-hover .k-switch-handle {
9946
- border-color: #9e9ea0;
9946
+ border-color: #949596;
9947
9947
  color: #424242;
9948
9948
  background-color: #ededed;
9949
9949
  }
@@ -0,0 +1,8 @@
1
+ import { FC, RefObject } from 'react';
2
+ export interface FocusTrapProps {
3
+ shards?: (HTMLElement | RefObject<any>)[];
4
+ disabled?: boolean;
5
+ allowClickOutside?: boolean;
6
+ returnFocus?: boolean;
7
+ }
8
+ export declare const FocusTrap: FC<FocusTrapProps>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.FocusTrap = void 0;
16
+ var react_1 = __importDefault(require("react"));
17
+ var react_focus_lock_1 = __importDefault(require("react-focus-lock"));
18
+ var FocusTrap = function (_a) {
19
+ var shards = _a.shards, disabled = _a.disabled, children = _a.children, _b = _a.allowClickOutside, allowClickOutside = _b === void 0 ? true : _b, _c = _a.returnFocus, returnFocus = _c === void 0 ? true : _c;
20
+ var _d = react_1.default.useState(disabled), disableTrap = _d[0], setDisableTrap = _d[1];
21
+ var focusLockRef = react_1.default.useRef(null);
22
+ function checkFocusElementContains(target) {
23
+ var shardArray = shards ? __spreadArray([focusLockRef], shards, true) : [focusLockRef];
24
+ var isTargetShardArray = shardArray.some(function (element) {
25
+ if (element === null || element === void 0 ? void 0 : element.current.contains(target))
26
+ return true;
27
+ return false;
28
+ });
29
+ if (isTargetShardArray) {
30
+ setDisableTrap(false);
31
+ return;
32
+ }
33
+ setDisableTrap(true);
34
+ }
35
+ /**
36
+ * When focusTrap is not disabled and allowClickOutside is true,
37
+ * - disable focusTrap when outside focusable element is clicked
38
+ * - restore focusTrap when focusTrap element is clicked
39
+ */
40
+ react_1.default.useEffect(function () {
41
+ function handleClickOutside(event) {
42
+ var _a, _b;
43
+ checkFocusElementContains((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
44
+ }
45
+ if (disabled || !allowClickOutside)
46
+ return;
47
+ document.addEventListener('mousedown', handleClickOutside);
48
+ return function () {
49
+ return document.removeEventListener('mousedown', handleClickOutside);
50
+ };
51
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
+ }, [disabled, allowClickOutside]);
53
+ /**
54
+ * When focusTrap is not disabled,
55
+ * restore focusTrap when focusTrap element gets focus
56
+ */
57
+ react_1.default.useEffect(function () {
58
+ setDisableTrap(disabled);
59
+ function handleKeyboardFocus() {
60
+ checkFocusElementContains(document.activeElement);
61
+ }
62
+ if (disabled)
63
+ return;
64
+ document.addEventListener('keydown', handleKeyboardFocus);
65
+ return function () {
66
+ return document.removeEventListener('keydown', handleKeyboardFocus);
67
+ };
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
69
+ }, [disabled]);
70
+ return (react_1.default.createElement(react_focus_lock_1.default, { shards: shards, disabled: disableTrap, ref: focusLockRef, crossFrame: false, returnFocus: returnFocus }, children));
71
+ };
72
+ exports.FocusTrap = FocusTrap;
73
+ //# sourceMappingURL=FocusTrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusTrap.js","sourceRoot":"","sources":["../../../src/utilities/FocusTrap/FocusTrap.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA6C;AAC7C,sEAAyC;AAgBlC,IAAM,SAAS,GAAuB,UAAC,EAM7C;QALA,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,yBAAwB,EAAxB,iBAAiB,mBAAG,IAAI,KAAA,EACxB,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA;IAEZ,IAAA,KAAgC,eAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAvD,WAAW,QAAA,EAAE,cAAc,QAA4B,CAAC;IAC/D,IAAM,YAAY,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExC,SAAS,yBAAyB,CAAC,MAAW;QAC7C,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,gBAAE,YAAY,GAAK,MAAM,QAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACvE,IAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,OAAY;YACvD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,kBAAkB,EAAE;YACvB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;SACP;QACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,eAAK,CAAC,SAAS,CAAC;QACf,SAAS,kBAAkB,CAAC,KAAiB;;YAC5C,yBAAyB,CACxB,MAAA,MAAA,KAAK,CAAC,YAAY,+CAAlB,KAAK,EAAkB,CAAC,CAAC,mCAAI,KAAK,CAAC,MAAM,CACzC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE3C,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3D,OAAO;YACN,OAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAA7D,CAA6D,CAAC;QAE/D,uDAAuD;IACxD,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAElC;;;OAGG;IACH,eAAK,CAAC,SAAS,CAAC;QACf,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzB,SAAS,mBAAmB;YAC3B,yBAAyB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC1D,OAAO;YACN,OAAA,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC;QAA5D,CAA4D,CAAC;QAE9D,uDAAuD;IACxD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACN,8BAAC,0BAAS,IACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,WAAW,IAEvB,QAAQ,CACE,CACZ,CAAC;AACH,CAAC,CAAC;AA1EW,QAAA,SAAS,aA0EpB"}
@@ -0,0 +1 @@
1
+ export * from './FocusTrap';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./FocusTrap"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/FocusTrap/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B"}
@@ -8,22 +8,17 @@ var react_1 = require("react");
8
8
  var tokens_1 = __importDefault(require("@servicetitan/tokens"));
9
9
  /*
10
10
  * Provides stacked context of overlays as an array, for example
11
- * a tooltip may be found placed consiquently inside ['modal', 'popover']
11
+ * a tooltip may be found placed consiquently inside ['Overlay', 'Popper']
12
12
  */
13
13
  exports.OverlayContext = (0, react_1.createContext)([]);
14
14
  /*
15
15
  * Converts overlay context into numeric z-index value
16
16
  */
17
17
  var calculateZindex = function (overlayContext) {
18
- var overlays = ['drawer', 'modal', 'takeover'];
19
- var isInOverlay = overlayContext.some(function (item) { return overlays.includes(item); });
20
- var isInGlobalNav = overlayContext.includes('globalnav');
18
+ var isInOverlay = overlayContext.some(function (item) { return item === 'Overlay'; });
21
19
  if (isInOverlay) {
22
20
  return parseInt(tokens_1.default.zIndexOverlay, 10);
23
21
  }
24
- if (isInGlobalNav) {
25
- return parseInt(tokens_1.default.zIndexGlobalNav, 10);
26
- }
27
22
  return parseInt(tokens_1.default.zIndexPopover, 10);
28
23
  };
29
24
  exports.calculateZindex = calculateZindex;
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayContext.js","sourceRoot":"","sources":["../../src/utilities/OverlayContext.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAsC;AACtC,gEAA0C;AAE1C;;;GAGG;AACU,QAAA,cAAc,GAAG,IAAA,qBAAa,EAAW,EAAE,CAAC,CAAC;AAE1D;;GAEG;AACI,IAAM,eAAe,GAAG,UAAC,cAAwB;IACvD,IAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,IAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAC3E,IAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE3D,IAAI,WAAW,EAAE;QAChB,OAAO,QAAQ,CAAC,gBAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;KAC1C;IAED,IAAI,aAAa,EAAE;QAClB,OAAO,QAAQ,CAAC,gBAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KAC5C;IAED,OAAO,QAAQ,CAAC,gBAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B"}
1
+ {"version":3,"file":"OverlayContext.js","sourceRoot":"","sources":["../../src/utilities/OverlayContext.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAsC;AACtC,gEAA0C;AAE1C;;;GAGG;AACU,QAAA,cAAc,GAAG,IAAA,qBAAa,EAAW,EAAE,CAAC,CAAC;AAE1D;;GAEG;AACI,IAAM,eAAe,GAAG,UAAC,cAAwB;IACvD,IAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;IAEtE,IAAI,WAAW,EAAE;QAChB,OAAO,QAAQ,CAAC,gBAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;KAC1C;IAED,OAAO,QAAQ,CAAC,gBAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B"}
@@ -0,0 +1,16 @@
1
+ export interface dateFormatProps {
2
+ locales?: string | string[];
3
+ options?: {
4
+ day?: 'numeric' | '2-digit';
5
+ month?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow';
6
+ year?: 'numeric' | '2-digit';
7
+ };
8
+ }
9
+ export declare const isValid: (date: any) => Date;
10
+ export declare const toDateFormat: {
11
+ (date: any): Date;
12
+ numeric(date: any, dateFormat?: dateFormatProps): string;
13
+ shortMonth(date: any, dateFormat?: dateFormatProps): string;
14
+ startOfDay(date: any): Date;
15
+ endOfDay(date: any): Date;
16
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDateFormat = exports.isValid = void 0;
4
+ var isValid = function (date) {
5
+ if (!isNaN(date) && date instanceof Date)
6
+ return date;
7
+ return null;
8
+ };
9
+ exports.isValid = isValid;
10
+ var toDateFormat = function (date) {
11
+ return (0, exports.isValid)(new Date(date));
12
+ };
13
+ exports.toDateFormat = toDateFormat;
14
+ exports.toDateFormat.numeric = function (date, dateFormat) {
15
+ var _a, _b, _c, _d, _e, _f, _g;
16
+ if (date === null)
17
+ return;
18
+ var fmtl = new Intl.DateTimeFormat((_a = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.locales) !== null && _a !== void 0 ? _a : 'en', {
19
+ day: (_c = (_b = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _b === void 0 ? void 0 : _b.day) !== null && _c !== void 0 ? _c : '2-digit',
20
+ month: (_e = (_d = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _d === void 0 ? void 0 : _d.month) !== null && _e !== void 0 ? _e : '2-digit',
21
+ year: (_g = (_f = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _f === void 0 ? void 0 : _f.year) !== null && _g !== void 0 ? _g : 'numeric',
22
+ });
23
+ return fmtl.format((0, exports.toDateFormat)(date));
24
+ };
25
+ exports.toDateFormat.shortMonth = function (date, dateFormat) {
26
+ var _a, _b, _c, _d, _e, _f, _g;
27
+ if (date === null)
28
+ return;
29
+ var fmtl = new Intl.DateTimeFormat((_a = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.locales) !== null && _a !== void 0 ? _a : 'en', {
30
+ day: (_c = (_b = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _b === void 0 ? void 0 : _b.day) !== null && _c !== void 0 ? _c : 'numeric',
31
+ month: (_e = (_d = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _d === void 0 ? void 0 : _d.month) !== null && _e !== void 0 ? _e : 'short',
32
+ year: (_g = (_f = dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.options) === null || _f === void 0 ? void 0 : _f.year) !== null && _g !== void 0 ? _g : 'numeric',
33
+ });
34
+ return fmtl.format((0, exports.toDateFormat)(date));
35
+ };
36
+ exports.toDateFormat.startOfDay = function (date) {
37
+ var startOfDay = new Date(date).setHours(0, 0, 0, 0);
38
+ return (0, exports.isValid)(new Date(startOfDay));
39
+ };
40
+ exports.toDateFormat.endOfDay = function (date) {
41
+ var endOfDay = new Date(date).setHours(23, 59, 59, 999);
42
+ return (0, exports.isValid)(new Date(endOfDay));
43
+ };
44
+ //# sourceMappingURL=dateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateFormat.js","sourceRoot":"","sources":["../../src/utilities/dateFormat.ts"],"names":[],"mappings":";;;AASO,IAAM,OAAO,GAAG,UAAC,IAAS;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEK,IAAM,YAAY,GAAG,UAAC,IAAS;IACrC,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,oBAAY,CAAC,OAAO,GAAG,UAAC,IAAS,EAAE,UAA4B;;IAC9D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,IAAI,EAAE;QACjE,GAAG,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,GAAG,mCAAI,SAAS;QAC1C,KAAK,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,KAAK,mCAAI,SAAS;QAC9C,IAAI,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,IAAI,mCAAI,SAAS;KAC5C,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,oBAAY,CAAC,UAAU,GAAG,UAAC,IAAS,EAAE,UAA4B;;IACjE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,IAAI,EAAE;QACjE,GAAG,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,GAAG,mCAAI,SAAS;QAC1C,KAAK,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,KAAK,mCAAI,OAAO;QAC5C,IAAI,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,IAAI,mCAAI,SAAS;KAC5C,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,oBAAY,CAAC,UAAU,GAAG,UAAC,IAAS;IACnC,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,oBAAY,CAAC,QAAQ,GAAG,UAAC,IAAS;IACjC,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  export * from './color-utils';
2
+ export * from './dateFormat';
2
3
  export * from './debounce';
3
4
  export * from './ConditionalWrapper';
4
5
  export * from './DefaultPortalContext';
5
6
  export * from './getContent';
6
- export * from './focus-utils';
7
+ export * from './FocusTrap';
7
8
  export * from './isElementOfType';
8
9
  export * from './justify-props';
9
10
  export * from './keyCodes';
@@ -11,11 +11,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./color-utils"), exports);
14
+ __exportStar(require("./dateFormat"), exports);
14
15
  __exportStar(require("./debounce"), exports);
15
16
  __exportStar(require("./ConditionalWrapper"), exports);
16
17
  __exportStar(require("./DefaultPortalContext"), exports);
17
18
  __exportStar(require("./getContent"), exports);
18
- __exportStar(require("./focus-utils"), exports);
19
+ __exportStar(require("./FocusTrap"), exports);
19
20
  __exportStar(require("./isElementOfType"), exports);
20
21
  __exportStar(require("./justify-props"), exports);
21
22
  __exportStar(require("./keyCodes"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAC3B,uDAAqC;AACrC,yDAAuC;AACvC,+CAA6B;AAC7B,gDAA8B;AAC9B,oDAAkC;AAClC,kDAAgC;AAChC,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,2DAAyC;AACzC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,6CAA2B;AAC3B,uDAAqC;AACrC,yDAAuC;AACvC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,kDAAgC;AAChC,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,2DAAyC;AACzC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/design-system",
3
- "version": "10.7.0",
3
+ "version": "11.0.0",
4
4
  "description": "",
5
5
  "homepage": "https://anvil.servicetitan.com",
6
6
  "repository": {
@@ -70,23 +70,23 @@
70
70
  "@progress/kendo-react-treeview": "~4.10.0",
71
71
  "@react-aria/focus": "^3.2.3",
72
72
  "@react-hook/window-size": "^3.0.7",
73
- "@servicetitan/anvil-fonts": "^10.7.0",
74
- "@servicetitan/anvil-icons": "^10.7.0",
75
- "@servicetitan/anvil-themes": "^10.7.0",
76
- "@servicetitan/tokens": "^10.7.0",
73
+ "@servicetitan/anvil-fonts": "^11.0.0",
74
+ "@servicetitan/anvil-icons": "^11.0.0",
75
+ "@servicetitan/anvil-themes": "^11.0.0",
76
+ "@servicetitan/tokens": "^11.0.0",
77
77
  "classnames": "2.3.1",
78
78
  "framer-motion": "4.1.17",
79
79
  "memoize-one": "5.2.1",
80
80
  "moment": "2.29.1",
81
81
  "nanoid": "3.1.25",
82
82
  "react-animate-height": "^2.0.22",
83
+ "react-focus-lock": "^2.5.2",
83
84
  "react-input-mask": "2.0.4",
84
85
  "react-is": "17.0.2",
85
86
  "react-popper": "2.2.5",
86
87
  "react-textarea-autosize": "8.3.3",
87
88
  "react-transition-group": "4.4.2",
88
89
  "semantic-ui-react": "2.0.3",
89
- "tabbable": "5.2.1",
90
90
  "tinycolor2": "1.4.2"
91
91
  },
92
92
  "peerDependencies": {
@@ -94,9 +94,9 @@
94
94
  "react-dom": "^16 || ^17"
95
95
  },
96
96
  "devDependencies": {
97
- "@lib/semantic": "^10.7.0",
97
+ "@lib/semantic": "^11.0.0",
98
98
  "@progress/kendo-theme-default": "4.42.0",
99
- "@servicetitan/anvil-css-utilities": "^10.7.0",
99
+ "@servicetitan/anvil-css-utilities": "^11.0.0",
100
100
  "@testing-library/jest-dom": "5.14.1",
101
101
  "@testing-library/react": "12.1.0",
102
102
  "@testing-library/user-event": "13.2.1",
@@ -123,5 +123,5 @@
123
123
  "ts-jest": "27.0.5",
124
124
  "typescript": "4.4.3"
125
125
  },
126
- "gitHead": "2e4e78c6bae653453de1a8c7d930823afd815698"
126
+ "gitHead": "46b6e5ef9dfd6d654050c5787b64e24b4148d995"
127
127
  }
@@ -1,8 +0,0 @@
1
- export declare const isValid: (date: any) => Date;
2
- export declare const toDateFormat: {
3
- (date: any): Date;
4
- numeric(date: any): string;
5
- shortMonth(date: any): string;
6
- startOfDay(date: any): Date;
7
- endOfDay(date: any): Date;
8
- };
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDateFormat = exports.isValid = void 0;
4
- var isValid = function (date) {
5
- if (!isNaN(date) && date instanceof Date)
6
- return date;
7
- return null;
8
- };
9
- exports.isValid = isValid;
10
- var toDateFormat = function (date) {
11
- return (0, exports.isValid)(new Date(date));
12
- };
13
- exports.toDateFormat = toDateFormat;
14
- exports.toDateFormat.numeric = function (date) {
15
- if (date === null)
16
- return;
17
- var fmtl = new Intl.DateTimeFormat('en', {
18
- year: 'numeric',
19
- month: '2-digit',
20
- day: '2-digit',
21
- });
22
- return fmtl.format((0, exports.toDateFormat)(date));
23
- };
24
- exports.toDateFormat.shortMonth = function (date) {
25
- if (date === null)
26
- return;
27
- var fmtl = new Intl.DateTimeFormat('en', {
28
- month: 'short',
29
- day: 'numeric',
30
- year: 'numeric',
31
- });
32
- return fmtl.format((0, exports.toDateFormat)(date));
33
- };
34
- exports.toDateFormat.startOfDay = function (date) {
35
- var startOfDay = new Date(date).setHours(0, 0, 0, 0);
36
- return (0, exports.isValid)(new Date(startOfDay));
37
- };
38
- exports.toDateFormat.endOfDay = function (date) {
39
- var endOfDay = new Date(date).setHours(23, 59, 59, 999);
40
- return (0, exports.isValid)(new Date(endOfDay));
41
- };
42
- //# sourceMappingURL=dateFormat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dateFormat.js","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/utils/dateFormat.ts"],"names":[],"mappings":";;;AAAO,IAAM,OAAO,GAAG,UAAC,IAAS;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEK,IAAM,YAAY,GAAG,UAAC,IAAS;IACrC,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,oBAAY,CAAC,OAAO,GAAG,UAAC,IAAS;IAChC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,oBAAY,CAAC,UAAU,GAAG,UAAC,IAAS;IACnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KACf,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,oBAAY,CAAC,UAAU,GAAG,UAAC,IAAS;IACnC,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,oBAAY,CAAC,QAAQ,GAAG,UAAC,IAAS;IACjC,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,IAAA,eAAO,EAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- import React, { MutableRefObject } from 'react';
2
- export interface FocusScopeOptions {
3
- /** Disables focus trap */
4
- disableTrapping?: boolean;
5
- /** Disables autofocusing of first focusable descendant. Note this autofocus doesn't override descendant autofocus. */
6
- disableAutofocus?: boolean;
7
- /** Disables restoring focus upon unmounting */
8
- disableRestoreFocus?: boolean;
9
- /** Restores focus upon unmounting of custom element. Defaults to last active element before mount. */
10
- restoreFocusRef?: MutableRefObject<any>;
11
- }
12
- export declare const useFocusScope: (focusScopeRef: MutableRefObject<any> | MutableRefObject<any>[], options?: FocusScopeOptions) => {
13
- handleTab: (e: React.KeyboardEvent<HTMLElement>) => void;
14
- autofocus: () => void;
15
- restoreFocus: () => void;
16
- };
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.useFocusScope = void 0;
13
- var react_1 = require("react");
14
- var tabbable_1 = require("tabbable");
15
- var keyCodes_1 = require("../utilities/keyCodes");
16
- var focus_utils_1 = require("../utilities/focus-utils");
17
- var react_dom_1 = require("react-dom");
18
- var useFocusScope = function (focusScopeRef, options) {
19
- var _a = options !== null && options !== void 0 ? options : {}, disableTrapping = _a.disableTrapping, disableAutofocus = _a.disableAutofocus, disableRestoreFocus = _a.disableRestoreFocus, restoreFocusRef = _a.restoreFocusRef;
20
- var tabbableNodes = (0, react_1.useRef)([]);
21
- var focusScope = (0, react_1.useMemo)(function () { return (Array.isArray(focusScopeRef) ? focusScopeRef : [focusScopeRef]); }, [focusScopeRef]);
22
- var defaultRestoreFocusElement = (0, react_1.useMemo)(function () { return (0, focus_utils_1.getActiveElement)(); }, []);
23
- var handleTab = function (e) {
24
- if (e.code === keyCodes_1.Keys.Tab) {
25
- if (disableTrapping)
26
- return;
27
- if (tabbableNodes.current.length > 0)
28
- e.preventDefault();
29
- e.stopPropagation();
30
- if (e.shiftKey) {
31
- (0, focus_utils_1.focusPrev)(tabbableNodes.current);
32
- }
33
- else {
34
- (0, focus_utils_1.focusNext)(tabbableNodes.current);
35
- }
36
- }
37
- };
38
- var getElementFromRef = function (ref) {
39
- if (ref.current instanceof Element)
40
- return ref.current;
41
- /**
42
- * React refs can either be DOM Elements or React Components.
43
- * Since we use DOM Element methods such as 'contains' and
44
- * 'querySelectorAll' (tabbable package), we convert the refs
45
- * here to DOM Element refs. Currently doesn't seem to be a
46
- * better way besides findDOMNode.
47
- */
48
- // eslint-disable-next-line react/no-find-dom-node
49
- return (0, react_dom_1.findDOMNode)(ref.current);
50
- };
51
- var autofocus = function () {
52
- if (tabbableNodes.current.length > 0) {
53
- (0, focus_utils_1.focusNext)((0, tabbable_1.tabbable)(tabbableNodes.current[0], {
54
- includeContainer: true,
55
- }));
56
- }
57
- };
58
- var restoreFocus = function () {
59
- var _a;
60
- (0, focus_utils_1.tryFocus)((_a = restoreFocusRef === null || restoreFocusRef === void 0 ? void 0 : restoreFocusRef.current) !== null && _a !== void 0 ? _a : defaultRestoreFocusElement);
61
- };
62
- (0, react_1.useEffect)(function () {
63
- var setTabbableNodes = function () {
64
- tabbableNodes.current = focusScope.reduce(function (nodes, ref) {
65
- if (!ref.current)
66
- return nodes;
67
- var element = getElementFromRef(ref);
68
- return __spreadArray(__spreadArray([], nodes, true), (0, tabbable_1.tabbable)(element, { includeContainer: true }), true);
69
- }, []);
70
- };
71
- !disableTrapping && setTabbableNodes();
72
- });
73
- (0, react_1.useEffect)(function () {
74
- var isAlreadyAutofocused = function (ref) {
75
- var _a, _b;
76
- var element = getElementFromRef(ref);
77
- return (_b = (_a = element === null || element === void 0 ? void 0 : element.contains) === null || _a === void 0 ? void 0 : _a.call(element, document.activeElement)) !== null && _b !== void 0 ? _b : false;
78
- };
79
- if (disableAutofocus || focusScope.some(isAlreadyAutofocused))
80
- return;
81
- autofocus();
82
- }, [focusScopeRef, disableAutofocus, focusScope]);
83
- (0, react_1.useEffect)(function () { return function () { return !disableRestoreFocus && restoreFocus(); }; },
84
- // eslint-disable-next-line react-hooks/exhaustive-deps
85
- [disableRestoreFocus, focusScopeRef]);
86
- return { handleTab: handleTab, autofocus: autofocus, restoreFocus: restoreFocus };
87
- };
88
- exports.useFocusScope = useFocusScope;
89
- //# sourceMappingURL=useFocusScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusScope.js","sourceRoot":"","sources":["../../src/hooks/useFocusScope.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare const getActiveElement: (element?: Element) => Element;
2
- export declare const focusNext: (tabbables: Node[]) => void;
3
- export declare const focusPrev: (tabbables: Node[]) => void;
4
- export declare const tryFocus: (el: HTMLElement) => void;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tryFocus = exports.focusPrev = exports.focusNext = exports.getActiveElement = void 0;
4
- var getActiveElement = function (element) {
5
- if (typeof window === 'undefined')
6
- return null;
7
- var currentActive = element !== null && element !== void 0 ? element : document.activeElement;
8
- var shadowRoot = currentActive.shadowRoot;
9
- var contentDocument = currentActive
10
- .contentDocument;
11
- if (shadowRoot === null || shadowRoot === void 0 ? void 0 : shadowRoot.activeElement)
12
- return (0, exports.getActiveElement)(shadowRoot.activeElement);
13
- if (contentDocument === null || contentDocument === void 0 ? void 0 : contentDocument.activeElement)
14
- return (0, exports.getActiveElement)(contentDocument.activeElement);
15
- return currentActive;
16
- };
17
- exports.getActiveElement = getActiveElement;
18
- var getActiveIndex = function (tabbables) {
19
- return tabbables.indexOf((0, exports.getActiveElement)());
20
- };
21
- var focusNext = function (tabbables) {
22
- var nextNode = tabbables[getActiveIndex(tabbables) + 1] || tabbables[0];
23
- (0, exports.tryFocus)(nextNode);
24
- };
25
- exports.focusNext = focusNext;
26
- var focusPrev = function (tabbables) {
27
- var prevNode = tabbables[getActiveIndex(tabbables) - 1] ||
28
- tabbables[tabbables.length - 1];
29
- (0, exports.tryFocus)(prevNode);
30
- };
31
- exports.focusPrev = focusPrev;
32
- var tryFocus = function (el) {
33
- if (el === document.activeElement)
34
- return;
35
- if (!el || !el.focus) {
36
- return;
37
- }
38
- el.focus({ preventScroll: true }); // Configurable
39
- if (isSelectableInput(el)) {
40
- el.select();
41
- }
42
- };
43
- exports.tryFocus = tryFocus;
44
- var isSelectableInput = function (el) {
45
- var _a;
46
- return ((_a = el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'input' &&
47
- typeof el.select === 'function';
48
- };
49
- //# sourceMappingURL=focus-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focus-utils.js","sourceRoot":"","sources":["../../src/utilities/focus-utils.ts"],"names":[],"mappings":";;;AAAO,IAAM,gBAAgB,GAAG,UAAC,OAAiB;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAM,aAAa,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,aAAa,CAAC;IACxD,IAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;IAC5C,IAAM,eAAe,GAAI,aAAmC;SAC1D,eAAe,CAAC;IAElB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa;QAC5B,OAAO,IAAA,wBAAgB,EAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa;QACjC,OAAO,IAAA,wBAAgB,EAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEF,IAAM,cAAc,GAAG,UAAC,SAAiB;IACxC,OAAA,SAAS,CAAC,OAAO,CAAC,IAAA,wBAAgB,GAAE,CAAC;AAArC,CAAqC,CAAC;AAEhC,IAAM,SAAS,GAAG,UAAC,SAAiB;IAC1C,IAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAA,gBAAQ,EAAC,QAAuB,CAAC,CAAC;AACnC,CAAC,CAAC;AAHW,QAAA,SAAS,aAGpB;AAEK,IAAM,SAAS,GAAG,UAAC,SAAiB;IAC1C,IAAM,QAAQ,GACb,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjC,IAAA,gBAAQ,EAAC,QAAuB,CAAC,CAAC;AACnC,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB;AAEK,IAAM,QAAQ,GAAG,UAAC,EAAe;IACvC,IAAI,EAAE,KAAK,QAAQ,CAAC,aAAa;QAAE,OAAO;IAC1C,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,OAAO;KACP;IACD,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe;IAClD,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE;QACzB,EAAuB,CAAC,MAAM,EAAE,CAAC;KAClC;AACF,CAAC,CAAC;AATW,QAAA,QAAQ,YASnB;AAEF,IAAM,iBAAiB,GAAG,UAAC,EAAe;;IACzC,OAAA,CAAA,MAAA,EAAE,CAAC,OAAO,0CAAE,WAAW,EAAE,MAAK,OAAO;QACrC,OAAQ,EAAuB,CAAC,MAAM,KAAK,UAAU,CAAA;CAAA,CAAC"}