@navikt/ds-react 7.32.0 → 7.32.2

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 (214) hide show
  1. package/cjs/copybutton/CopyButton.js +4 -9
  2. package/cjs/copybutton/CopyButton.js.map +1 -1
  3. package/cjs/date/date-utils/dropdown-options.d.ts +11 -2
  4. package/cjs/date/date-utils/dropdown-options.js +5 -3
  5. package/cjs/date/date-utils/dropdown-options.js.map +1 -1
  6. package/cjs/date/datepicker/parts/DatePicker.Months.js +7 -2
  7. package/cjs/date/datepicker/parts/DatePicker.Months.js.map +1 -1
  8. package/cjs/form/combobox/Combobox.js +1 -3
  9. package/cjs/form/combobox/Combobox.js.map +1 -1
  10. package/cjs/form/combobox/ComboboxWrapper.d.ts +1 -2
  11. package/cjs/form/combobox/ComboboxWrapper.js +1 -2
  12. package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
  13. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +28 -19
  14. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  15. package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  16. package/cjs/form/combobox/Input/Input.context.d.ts +2 -0
  17. package/cjs/form/combobox/Input/Input.context.js +4 -1
  18. package/cjs/form/combobox/Input/Input.context.js.map +1 -1
  19. package/cjs/form/combobox/Input/InputController.js +2 -2
  20. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  21. package/cjs/help-text/HelpText.js +3 -3
  22. package/cjs/help-text/HelpText.js.map +1 -1
  23. package/cjs/help-text/HelpTextIcon.d.ts +1 -2
  24. package/cjs/help-text/HelpTextIcon.js +3 -7
  25. package/cjs/help-text/HelpTextIcon.js.map +1 -1
  26. package/cjs/layout/page/parts/PageBlock.d.ts +9 -2
  27. package/cjs/layout/page/parts/PageBlock.js.map +1 -1
  28. package/cjs/modal/ModalUtils.js +6 -4
  29. package/cjs/modal/ModalUtils.js.map +1 -1
  30. package/cjs/overlays/dismissablelayer/DismissableLayer.js +9 -19
  31. package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  32. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
  33. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  34. package/cjs/overlays/floating-menu/Menu.d.ts +4 -4
  35. package/cjs/overlays/floating-menu/Menu.js +7 -4
  36. package/cjs/overlays/floating-menu/Menu.js.map +1 -1
  37. package/cjs/overlays/floating-menu/parts/RovingFocus.js +3 -3
  38. package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  39. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
  40. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
  41. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
  42. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
  43. package/cjs/progress-bar/ProgressBar.js +9 -6
  44. package/cjs/progress-bar/ProgressBar.js.map +1 -1
  45. package/cjs/table/AnimateHeight.js +12 -13
  46. package/cjs/table/AnimateHeight.js.map +1 -1
  47. package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  48. package/cjs/tabs/parts/tablist/useScrollButtons.js +4 -4
  49. package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  50. package/cjs/util/TextareaAutoSize.js +3 -10
  51. package/cjs/util/TextareaAutoSize.js.map +1 -1
  52. package/cjs/util/create-context.d.ts +0 -1
  53. package/cjs/util/create-context.js.map +1 -1
  54. package/cjs/util/debounce.d.ts +1 -1
  55. package/cjs/util/debounce.js +5 -8
  56. package/cjs/util/debounce.js.map +1 -1
  57. package/cjs/util/detectBrowser.d.ts +2 -0
  58. package/cjs/util/detectBrowser.js +7 -0
  59. package/cjs/util/detectBrowser.js.map +1 -0
  60. package/cjs/util/focus-boundary/FocusBoundary.d.ts +44 -0
  61. package/cjs/util/focus-boundary/FocusBoundary.js +365 -0
  62. package/cjs/util/focus-boundary/FocusBoundary.js.map +1 -0
  63. package/cjs/util/focus-guards/FocusGuards.d.ts +8 -0
  64. package/cjs/util/focus-guards/FocusGuards.js +36 -0
  65. package/cjs/util/focus-guards/FocusGuards.js.map +1 -0
  66. package/cjs/util/hooks/useEventCallback.js.map +1 -0
  67. package/cjs/{overlays/overlay → util}/hooks/useLatestRef.js +2 -2
  68. package/cjs/util/hooks/useLatestRef.js.map +1 -0
  69. package/cjs/util/hooks/useRefWithInit.js.map +1 -0
  70. package/cjs/util/hooks/useTimeout.d.ts +16 -0
  71. package/cjs/util/hooks/useTimeout.js +49 -0
  72. package/cjs/util/hooks/useTimeout.js.map +1 -0
  73. package/cjs/util/link-anchor/LinkAnchor.js +6 -7
  74. package/cjs/util/link-anchor/LinkAnchor.js.map +1 -1
  75. package/cjs/util/owner.d.ts +29 -0
  76. package/cjs/util/owner.js +38 -0
  77. package/cjs/util/owner.js.map +1 -0
  78. package/esm/copybutton/CopyButton.js +5 -10
  79. package/esm/copybutton/CopyButton.js.map +1 -1
  80. package/esm/date/date-utils/dropdown-options.d.ts +11 -2
  81. package/esm/date/date-utils/dropdown-options.js +5 -3
  82. package/esm/date/date-utils/dropdown-options.js.map +1 -1
  83. package/esm/date/datepicker/parts/DatePicker.Months.js +7 -2
  84. package/esm/date/datepicker/parts/DatePicker.Months.js.map +1 -1
  85. package/esm/form/combobox/Combobox.js +1 -3
  86. package/esm/form/combobox/Combobox.js.map +1 -1
  87. package/esm/form/combobox/ComboboxWrapper.d.ts +1 -2
  88. package/esm/form/combobox/ComboboxWrapper.js +1 -2
  89. package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
  90. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +29 -20
  91. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  92. package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  93. package/esm/form/combobox/Input/Input.context.d.ts +2 -0
  94. package/esm/form/combobox/Input/Input.context.js +4 -1
  95. package/esm/form/combobox/Input/Input.context.js.map +1 -1
  96. package/esm/form/combobox/Input/InputController.js +2 -2
  97. package/esm/form/combobox/Input/InputController.js.map +1 -1
  98. package/esm/help-text/HelpText.js +3 -3
  99. package/esm/help-text/HelpText.js.map +1 -1
  100. package/esm/help-text/HelpTextIcon.d.ts +1 -2
  101. package/esm/help-text/HelpTextIcon.js +3 -7
  102. package/esm/help-text/HelpTextIcon.js.map +1 -1
  103. package/esm/layout/page/parts/PageBlock.d.ts +9 -2
  104. package/esm/layout/page/parts/PageBlock.js.map +1 -1
  105. package/esm/modal/ModalUtils.js +6 -4
  106. package/esm/modal/ModalUtils.js.map +1 -1
  107. package/esm/overlays/dismissablelayer/DismissableLayer.js +9 -19
  108. package/esm/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  109. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
  110. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  111. package/esm/overlays/floating-menu/Menu.d.ts +4 -4
  112. package/esm/overlays/floating-menu/Menu.js +7 -4
  113. package/esm/overlays/floating-menu/Menu.js.map +1 -1
  114. package/esm/overlays/floating-menu/parts/RovingFocus.js +3 -3
  115. package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  116. package/esm/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
  117. package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
  118. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
  119. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
  120. package/esm/progress-bar/ProgressBar.js +10 -7
  121. package/esm/progress-bar/ProgressBar.js.map +1 -1
  122. package/esm/table/AnimateHeight.js +12 -13
  123. package/esm/table/AnimateHeight.js.map +1 -1
  124. package/esm/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  125. package/esm/tabs/parts/tablist/useScrollButtons.js +4 -4
  126. package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  127. package/esm/util/TextareaAutoSize.js +1 -8
  128. package/esm/util/TextareaAutoSize.js.map +1 -1
  129. package/esm/util/create-context.d.ts +0 -1
  130. package/esm/util/create-context.js.map +1 -1
  131. package/esm/util/debounce.d.ts +1 -1
  132. package/esm/util/debounce.js +5 -8
  133. package/esm/util/debounce.js.map +1 -1
  134. package/esm/util/detectBrowser.d.ts +2 -0
  135. package/esm/util/detectBrowser.js +4 -0
  136. package/esm/util/detectBrowser.js.map +1 -0
  137. package/esm/util/focus-boundary/FocusBoundary.d.ts +44 -0
  138. package/esm/util/focus-boundary/FocusBoundary.js +329 -0
  139. package/esm/util/focus-boundary/FocusBoundary.js.map +1 -0
  140. package/esm/util/focus-guards/FocusGuards.d.ts +8 -0
  141. package/esm/util/focus-guards/FocusGuards.js +31 -0
  142. package/esm/util/focus-guards/FocusGuards.js.map +1 -0
  143. package/esm/util/hooks/useEventCallback.js.map +1 -0
  144. package/esm/{overlays/overlay → util}/hooks/useLatestRef.js +1 -1
  145. package/esm/util/hooks/useLatestRef.js.map +1 -0
  146. package/esm/util/hooks/useRefWithInit.js.map +1 -0
  147. package/esm/util/hooks/useTimeout.d.ts +16 -0
  148. package/esm/util/hooks/useTimeout.js +45 -0
  149. package/esm/util/hooks/useTimeout.js.map +1 -0
  150. package/esm/util/link-anchor/LinkAnchor.js +6 -7
  151. package/esm/util/link-anchor/LinkAnchor.js.map +1 -1
  152. package/esm/util/owner.d.ts +29 -0
  153. package/esm/util/owner.js +35 -0
  154. package/esm/util/owner.js.map +1 -0
  155. package/package.json +8 -8
  156. package/src/copybutton/CopyButton.tsx +5 -17
  157. package/src/date/date-utils/dropdown-options.test.ts +37 -9
  158. package/src/date/date-utils/dropdown-options.ts +23 -12
  159. package/src/date/datepicker/parts/DatePicker.Months.tsx +8 -2
  160. package/src/form/combobox/Combobox.tsx +0 -4
  161. package/src/form/combobox/ComboboxWrapper.tsx +0 -3
  162. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +65 -45
  163. package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
  164. package/src/form/combobox/Input/Input.context.tsx +5 -0
  165. package/src/form/combobox/Input/InputController.tsx +2 -1
  166. package/src/form/file-upload/parts/item/utils/format-file-size.test.ts +2 -2
  167. package/src/help-text/HelpText.tsx +3 -2
  168. package/src/help-text/HelpTextIcon.tsx +2 -12
  169. package/src/layout/page/parts/PageBlock.tsx +9 -2
  170. package/src/modal/ModalUtils.ts +7 -4
  171. package/src/overlays/dismissablelayer/DismissableLayer.tsx +9 -18
  172. package/src/overlays/dismissablelayer/util/usePointerDownOutside.ts +5 -4
  173. package/src/overlays/floating-menu/Menu.tsx +13 -9
  174. package/src/overlays/floating-menu/parts/RovingFocus.tsx +3 -3
  175. package/src/overlays/overlay/hooks/useAnimationsFinished.ts +1 -1
  176. package/src/overlays/overlay/hooks/useOpenChangeAnimationComplete.ts +2 -2
  177. package/src/progress-bar/ProgressBar.tsx +12 -10
  178. package/src/table/AnimateHeight.tsx +12 -15
  179. package/src/tabs/parts/tablist/useScrollButtons.ts +4 -3
  180. package/src/util/TextareaAutoSize.tsx +1 -9
  181. package/src/util/create-context.tsx +0 -1
  182. package/src/util/debounce.ts +7 -8
  183. package/src/util/detectBrowser.ts +5 -0
  184. package/src/util/focus-boundary/FocusBoundary.tsx +453 -0
  185. package/src/util/focus-guards/FocusGuards.tsx +56 -0
  186. package/src/{overlays/overlay → util}/hooks/useLatestRef.ts +1 -1
  187. package/src/util/hooks/useTimeout.ts +54 -0
  188. package/src/util/link-anchor/LinkAnchor.tsx +7 -6
  189. package/src/util/owner.ts +35 -0
  190. package/cjs/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
  191. package/cjs/overlays/floating-menu/parts/FocusScope.js +0 -98
  192. package/cjs/overlays/floating-menu/parts/FocusScope.js.map +0 -1
  193. package/cjs/overlays/overlay/hooks/useEventCallback.js.map +0 -1
  194. package/cjs/overlays/overlay/hooks/useLatestRef.js.map +0 -1
  195. package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
  196. package/esm/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
  197. package/esm/overlays/floating-menu/parts/FocusScope.js +0 -62
  198. package/esm/overlays/floating-menu/parts/FocusScope.js.map +0 -1
  199. package/esm/overlays/overlay/hooks/useEventCallback.js.map +0 -1
  200. package/esm/overlays/overlay/hooks/useLatestRef.js.map +0 -1
  201. package/esm/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
  202. package/src/overlays/floating-menu/parts/FocusScope.tsx +0 -83
  203. /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
  204. /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
  205. /package/cjs/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
  206. /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
  207. /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
  208. /package/esm/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
  209. /package/esm/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
  210. /package/esm/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
  211. /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
  212. /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
  213. /package/src/{overlays/overlay → util}/hooks/useEventCallback.ts +0 -0
  214. /package/src/{overlays/overlay → util}/hooks/useRefWithInit.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollButtons.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/useScrollButtons.ts"],"names":[],"mappings":";;AAGA,4CAmEC;AAtED,iCAAqD;AACrD,wCAAyC;AAEzC,SAAgB,gBAAgB,CAC9B,OAA+C;IAE/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC;QACjD,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,IAAA,eAAO,EACrC,GAAG,EAAE,CACH,IAAA,eAAQ,EAAC,GAAG,EAAE;QACZ,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA;YAAE,OAAO;QAC9B,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C,6DAA6D;QAC7D,MAAM,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;QAEjE,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpC,eAAe,KAAK,gBAAgB,CAAC,KAAK;YAC1C,aAAa,KAAK,gBAAgB,CAAC,GAAG;YACpC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,aAAa,mCAAI,QAAQ,mCAAI,MAAM,CAAC;QACjE,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE7C,IAAI,cAA8B,CAAC;QAEnC,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7D,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAChD,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,EAAE,CAAC;YAC7B,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEvC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,uBAAuB,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,KAAK;QAC9C,UAAU,EAAE,GAAG,EAAE;YACf,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useScrollButtons.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/useScrollButtons.ts"],"names":[],"mappings":";;AAIA,4CAmEC;AAvED,iCAAqD;AACrD,wCAAyC;AACzC,+CAAoD;AAEpD,SAAgB,gBAAgB,CAC9B,OAA+C;IAE/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC;QACjD,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,IAAA,eAAO,EACrC,GAAG,EAAE,CACH,IAAA,eAAQ,EAAC,GAAG,EAAE;QACZ,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA;YAAE,OAAO;QAC9B,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C,6DAA6D;QAC7D,MAAM,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;QAEjE,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpC,eAAe,KAAK,gBAAgB,CAAC,KAAK;YAC1C,aAAa,KAAK,gBAAgB,CAAC,GAAG;YACpC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAElD,IAAI,cAA8B,CAAC;QAEnC,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7D,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACrD,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,EAAE,CAAC;YAC7B,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEvC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,uBAAuB,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,KAAK;QAC9C,UAAU,EAAE,GAAG,EAAE;YACf,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -53,6 +53,7 @@ const react_dom_1 = __importDefault(require("react-dom"));
53
53
  const hooks_1 = require("../util/hooks");
54
54
  const debounce_1 = __importDefault(require("./debounce"));
55
55
  const useMergeRefs_1 = require("./hooks/useMergeRefs");
56
+ const owner_1 = require("./owner");
56
57
  const checkState = (prevState, newState, renders) => {
57
58
  const { outerHeightStyle, overflow } = newState;
58
59
  // Need a large enough difference to update the height.
@@ -69,14 +70,6 @@ const checkState = (prevState, newState, renders) => {
69
70
  }
70
71
  return prevState;
71
72
  };
72
- /**
73
- * https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/ownerDocument/ownerDocument.ts
74
- * https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/ownerWindow/ownerWindow.ts
75
- */
76
- const ownerWindow = (node) => {
77
- const doc = (node === null || node === void 0 ? void 0 : node.ownerDocument) || document;
78
- return doc.defaultView || window;
79
- };
80
73
  function getStyleValue(value) {
81
74
  return parseInt(value, 10) || 0;
82
75
  }
@@ -91,7 +84,7 @@ const TextareaAutosize = (0, react_1.forwardRef)((_a, ref) => {
91
84
  const [state, setState] = (0, react_1.useState)({ outerHeightStyle: 0 });
92
85
  const getUpdatedState = react_1.default.useCallback(() => {
93
86
  const input = inputRef.current;
94
- const containerWindow = ownerWindow(input);
87
+ const containerWindow = (0, owner_1.ownerWindow)(input);
95
88
  const computedStyle = containerWindow.getComputedStyle(input);
96
89
  // If input's width is shrunk and it's not visible, don't sync height.
97
90
  if (computedStyle.width === "0px") {
@@ -164,7 +157,7 @@ const TextareaAutosize = (0, react_1.forwardRef)((_a, ref) => {
164
157
  syncHeightWithFlushSync();
165
158
  }, 166, true);
166
159
  const input = inputRef.current;
167
- const containerWindow = ownerWindow(input);
160
+ const containerWindow = (0, owner_1.ownerWindow)(input);
168
161
  containerWindow.addEventListener("resize", handleResize);
169
162
  let resizeObserver;
170
163
  if (typeof ResizeObserver !== "undefined") {
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaAutoSize.js","sourceRoot":"","sources":["../../src/util/TextareaAutoSize.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextareaAutoSize.js","sourceRoot":"","sources":["../../src/util/TextareaAutoSize.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ export interface CreateContextOptions<T> {
11
11
  errorMessage?: string;
12
12
  name?: string;
13
13
  defaultValue?: T;
14
- strict?: boolean;
15
14
  }
16
15
  type ProviderProps<T> = T & {
17
16
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../src/util/create-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,sCAkDC;AA7ED;;;;;GAKG;AACH,+CAIe;AAaf,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;IACrD,OAAO,GAAG,IAAI,sEAAsE,QAAQ,EAAE,CAAC;AACjG,CAAC;AAED,SAAgB,aAAa,CAAI,UAAmC,EAAE;IACpE,MAAM,EACJ,IAAI,EACJ,QAAQ,GAAG,YAAY,EACvB,YAAY,GAAG,UAAU,EACzB,YAAY,EACZ,YAAY,GACb,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,IAAA,qBAAkB,EAAgB,YAAY,CAAC,CAAC;IAEhE;;;OAGG;IACH,MAAM,QAAQ,GAAG,IAAA,kBAAU,EACzB,CAAC,EAAwB,EAAE,GAAG,EAAE,EAAE;QAChC,0CAA0C;YAD3C,EAAE,QAAQ,OAAc,EAAT,OAAO,cAAtB,YAAwB,CAAF;QAGrB,6GAA6G;QAC7G,MAAM,KAAK,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAM,CAAC,CAAC,kDAAkD;QAE3H,OAAO,CACL,8BAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,CAAC,CAAC,iCAAM,KAAK,KAAE,GAAG,IAAG,CAAC,CAAC,KAAK,IACrD,QAAQ,CACQ,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,SAAS,UAAU,CACjB,SAAY,IAAS;;QAErB,MAAM,OAAO,GAAG,IAAA,kBAAe,EAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CACxD,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAA,KAAK,CAAC,iBAAiB,sDAAG,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,OAAwB,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAE3B,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../src/util/create-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,sCAkDC;AA5ED;;;;;GAKG;AACH,+CAIe;AAYf,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;IACrD,OAAO,GAAG,IAAI,sEAAsE,QAAQ,EAAE,CAAC;AACjG,CAAC;AAED,SAAgB,aAAa,CAAI,UAAmC,EAAE;IACpE,MAAM,EACJ,IAAI,EACJ,QAAQ,GAAG,YAAY,EACvB,YAAY,GAAG,UAAU,EACzB,YAAY,EACZ,YAAY,GACb,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,IAAA,qBAAkB,EAAgB,YAAY,CAAC,CAAC;IAEhE;;;OAGG;IACH,MAAM,QAAQ,GAAG,IAAA,kBAAU,EACzB,CAAC,EAAwB,EAAE,GAAG,EAAE,EAAE;QAChC,0CAA0C;YAD3C,EAAE,QAAQ,OAAc,EAAT,OAAO,cAAtB,YAAwB,CAAF;QAGrB,6GAA6G;QAC7G,MAAM,KAAK,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAM,CAAC,CAAC,kDAAkD;QAE3H,OAAO,CACL,8BAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,CAAC,CAAC,iCAAM,KAAK,KAAE,GAAG,IAAG,CAAC,CAAC,KAAK,IACrD,QAAQ,CACQ,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,SAAS,UAAU,CACjB,SAAY,IAAS;;QAErB,MAAM,OAAO,GAAG,IAAA,kBAAe,EAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CACxD,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAA,KAAK,CAAC,iBAAiB,sDAAG,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,OAAwB,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAE3B,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AACzC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export default function debounce<T extends unknown[]>(func: (...args: T) => void, wait?: number, leading?: boolean): {
2
2
  (this: any, ...args: T): void;
3
- clear(): void;
3
+ clear: () => void;
4
4
  };
@@ -2,23 +2,20 @@
2
2
  "use client";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.default = debounce;
5
+ const useTimeout_1 = require("./hooks/useTimeout");
5
6
  // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/debounce.js
6
7
  function debounce(func, wait = 166, leading = false) {
7
- let timeout;
8
+ const timeout = new useTimeout_1.Timeout();
8
9
  function debounced(...args) {
9
10
  const later = () => {
10
- timeout = undefined;
11
11
  func.apply(this, args);
12
12
  };
13
- if (!timeout && leading) {
13
+ if (!timeout.isStarted() && leading) {
14
14
  later();
15
15
  }
16
- clearTimeout(timeout);
17
- timeout = setTimeout(later, wait);
16
+ timeout.start(wait, later);
18
17
  }
19
- debounced.clear = () => {
20
- clearTimeout(timeout);
21
- };
18
+ debounced.clear = timeout.clear;
22
19
  return debounced;
23
20
  }
24
21
  //# sourceMappingURL=debounce.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/util/debounce.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAEb,2BAuBC;AAxBD,oFAAoF;AACpF,SAAwB,QAAQ,CAC9B,IAA0B,EAC1B,IAAI,GAAG,GAAG,EACV,OAAO,GAAG,KAAK;IAEf,IAAI,OAAkD,CAAC;IACvD,SAAS,SAAS,CAAY,GAAG,IAAO;QACtC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,OAAO,GAAG,SAAS,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,EAAE,CAAC;QACV,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/util/debounce.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAKb,2BAmBC;AAtBD,mDAA6C;AAE7C,oFAAoF;AACpF,SAAwB,QAAQ,CAC9B,IAA0B,EAC1B,IAAI,GAAG,GAAG,EACV,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,IAAI,oBAAO,EAAE,CAAC;IAC9B,SAAS,SAAS,CAAY,GAAG,IAAO;QACtC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,OAAO,EAAE,CAAC;YACpC,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAEhC,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const isSafari: boolean;
2
+ export { isSafari };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSafari = void 0;
4
+ const hasNavigator = typeof navigator !== "undefined";
5
+ const isSafari = hasNavigator && /apple/i.test(navigator.vendor);
6
+ exports.isSafari = isSafari;
7
+ //# sourceMappingURL=detectBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectBrowser.js","sourceRoot":"","sources":["../../src/util/detectBrowser.ts"],"names":[],"mappings":";;;AAAA,MAAM,YAAY,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC;AAEtD,MAAM,QAAQ,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAExD,4BAAQ"}
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ /**
3
+ * TODO:
4
+ * - owner(container) for corrent document
5
+ */
6
+ interface FocusBoundaryProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ /**
8
+ * FocusBoundary expects a single child element since its a slotted component.
9
+ */
10
+ children: React.ReactElement;
11
+ /**
12
+ * When `true`, tabbing from last item will focus first tabbable
13
+ * and shift+tab from first item will focus last tabbable element.
14
+ * This does not "trap" focus inside the boundary, it only loops it when
15
+ * tabbing. If focus is moved outside the boundary programmatically or by
16
+ * pointer, it will not be moved back.
17
+ *
18
+ * - Links (`<a>` elements), are not considered tabbable for the purpose of looping.
19
+ * - Hidden inputs (i.e. `<input type="hidden">`) are not considered tabbable.
20
+ * - Elements that are `display: none` or `visibility: hidden` are not considered tabbable.
21
+ * - Elements with `tabIndex < 0` are not considered tabbable.
22
+ * @defaultValue false
23
+ */
24
+ loop?: boolean;
25
+ /**
26
+ * When `true`, focus cannot escape the focus boundary via keyboard,
27
+ * pointer, or a programmatic focus.
28
+ * @defaultValue false
29
+ */
30
+ trapped?: boolean;
31
+ /**
32
+ * Event handler called when auto-focusing on mount.
33
+ * Can be prevented.
34
+ */
35
+ onMountAutoFocus?: (event: Event) => void;
36
+ /**
37
+ * Event handler called when auto-focusing on unmount.
38
+ * Can be prevented.
39
+ */
40
+ onUnmountAutoFocus?: (event: Event) => void;
41
+ }
42
+ declare const FocusBoundary: React.ForwardRefExoticComponent<FocusBoundaryProps & React.RefAttributes<HTMLDivElement>>;
43
+ export { FocusBoundary };
44
+ export type { FocusBoundaryProps };
@@ -0,0 +1,365 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __rest = (this && this.__rest) || function (s, e) {
36
+ var t = {};
37
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
+ t[p] = s[p];
39
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
+ t[p[i]] = s[p[i]];
43
+ }
44
+ return t;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.FocusBoundary = void 0;
48
+ const react_1 = __importStar(require("react"));
49
+ const Slot_1 = require("../../slot/Slot");
50
+ const hooks_1 = require("../../util/hooks");
51
+ const useEventCallback_1 = require("../hooks/useEventCallback");
52
+ const AUTOFOCUS_ON_MOUNT = "focusBoundary.autoFocusOnMount";
53
+ const AUTOFOCUS_ON_UNMOUNT = "focusBoundary.autoFocusOnUnmount";
54
+ const EVENT_OPTIONS = { bubbles: false, cancelable: true };
55
+ const FocusBoundary = (0, react_1.forwardRef)((_a, forwardedRef) => {
56
+ var { loop = false, trapped = false, onMountAutoFocus: onMountAutoFocusProp, onUnmountAutoFocus: onUnmountAutoFocusProp } = _a, restProps = __rest(_a, ["loop", "trapped", "onMountAutoFocus", "onUnmountAutoFocus"]);
57
+ const onMountAutoFocus = (0, useEventCallback_1.useEventCallback)(onMountAutoFocusProp);
58
+ const onUnmountAutoFocus = (0, useEventCallback_1.useEventCallback)(onUnmountAutoFocusProp);
59
+ const lastFocusedElementRef = (0, react_1.useRef)(null);
60
+ const [container, setContainer] = (0, react_1.useState)(null);
61
+ const mergedRefs = (0, hooks_1.useMergeRefs)(forwardedRef, setContainer);
62
+ const focusBoundary = (0, react_1.useRef)({
63
+ paused: false,
64
+ pause() {
65
+ this.paused = true;
66
+ },
67
+ resume() {
68
+ this.paused = false;
69
+ },
70
+ }).current;
71
+ /* Handles trapped state */
72
+ (0, react_1.useEffect)(() => {
73
+ if (!trapped || !container) {
74
+ return;
75
+ }
76
+ function handleFocusIn(event) {
77
+ if (focusBoundary.paused || container === null) {
78
+ return;
79
+ }
80
+ const target = event.target;
81
+ if (container.contains(target)) {
82
+ lastFocusedElementRef.current = target;
83
+ }
84
+ else {
85
+ focus(lastFocusedElementRef.current, { select: true });
86
+ }
87
+ }
88
+ function handleFocusOut(event) {
89
+ if (focusBoundary.paused || container === null) {
90
+ return;
91
+ }
92
+ const relatedTarget = event.relatedTarget;
93
+ /*
94
+ * `focusout` event with a `null` `relatedTarget` will happen in a few known cases:
95
+ * 1. When the user switches app/tabs/windows/the browser itself loses focus.
96
+ * 2. In Google Chrome, when the focused element is removed from the DOM.
97
+ * 3. When clicking on an element that cannot receive focus.
98
+ *
99
+ * We let the browser do its thing here because:
100
+ * 1. The browser already keeps a memory of what's focused for when the page gets refocused.
101
+ * 2. In Google Chrome, if we try to focus the deleted focused element (as per below), it
102
+ * throws the CPU to 100%, so we avoid doing anything for this reason here too.
103
+ */
104
+ if (relatedTarget === null) {
105
+ return;
106
+ }
107
+ /*
108
+ * If the focus has moved to an element outside the container, we move focus to the last valid focused element inside.
109
+ * This makes sure to "trap" focus inside the container.
110
+ * We handle focus on focusout instead of focusin to avoid elements recieving focusin events
111
+ * when they are not supposed to (like when clicking on elements outside the container
112
+ */
113
+ if (!container.contains(relatedTarget)) {
114
+ focus(lastFocusedElementRef.current, { select: true });
115
+ }
116
+ }
117
+ /**
118
+ * When the currently focused element is removed from the DOM, browsers move focus
119
+ * to the document.body. In this case, we move focus to the container
120
+ * to keep focus trapped correctly instead.
121
+ */
122
+ const handleMutations = (mutations) => {
123
+ if (document.activeElement !== document.body) {
124
+ return;
125
+ }
126
+ if (mutations.some((mutation) => mutation.removedNodes.length > 0)) {
127
+ focus(container);
128
+ }
129
+ };
130
+ document.addEventListener("focusin", handleFocusIn);
131
+ document.addEventListener("focusout", handleFocusOut);
132
+ const observer = new MutationObserver(handleMutations);
133
+ observer.observe(container, { childList: true, subtree: true });
134
+ return () => {
135
+ document.removeEventListener("focusin", handleFocusIn);
136
+ document.removeEventListener("focusout", handleFocusOut);
137
+ observer.disconnect();
138
+ };
139
+ }, [trapped, container, focusBoundary.paused]);
140
+ /* Handles autofocus on mount and unmount */
141
+ (0, react_1.useEffect)(() => {
142
+ if (!container) {
143
+ return;
144
+ }
145
+ focusBoundarysStack.add(focusBoundary);
146
+ const initialFocusedElement = document.activeElement;
147
+ const containsActiveElement = initialFocusedElement && container.contains(initialFocusedElement);
148
+ /*
149
+ * We only autofocus on mount if container does not contain active element.
150
+ * If container has an element with `autoFocus` attribute, browser will
151
+ * have already moved focus there before this effect runs.
152
+ */
153
+ if (!containsActiveElement) {
154
+ const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
155
+ container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
156
+ container.dispatchEvent(mountEvent);
157
+ /* If consumer does not manually prevent event and handle focus themselves */
158
+ if (!mountEvent.defaultPrevented) {
159
+ /**
160
+ * Attempts focusing the first element in a list of candidates.
161
+ * Stops when focus has actually moved.
162
+ */
163
+ const candidates = removeLinks(getTabbableCandidates(container));
164
+ const previouslyFocusedElement = document.activeElement;
165
+ for (const candidate of candidates) {
166
+ focus(candidate, { select: true });
167
+ if (document.activeElement !== previouslyFocusedElement) {
168
+ break;
169
+ }
170
+ }
171
+ /* focusFirst might not find any candidates, so we fall back to focusing container */
172
+ if (document.activeElement === initialFocusedElement) {
173
+ focus(container);
174
+ }
175
+ }
176
+ }
177
+ return () => {
178
+ container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
179
+ /**
180
+ * https://github.com/facebook/react/issues/17894
181
+ * We delay to next tick to avoid issues with React's event system
182
+ * where calling `focus` inside a effect cleanup causes React to not call onFocus handlers.
183
+ */
184
+ setTimeout(() => {
185
+ const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
186
+ container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
187
+ container.dispatchEvent(unmountEvent);
188
+ /* If consumer does not manually prevent event and handle focus themselves */
189
+ if (!unmountEvent.defaultPrevented) {
190
+ /* To avoid CPU-spikes on Chrome, we make sure element is still connected to the DOM. */
191
+ focus((initialFocusedElement === null || initialFocusedElement === void 0 ? void 0 : initialFocusedElement.isConnected)
192
+ ? initialFocusedElement
193
+ : document.body, {
194
+ select: true,
195
+ });
196
+ }
197
+ /* Since this is inside a cleanup, we need to instantly remove the listener ourselves */
198
+ container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
199
+ focusBoundarysStack.remove(focusBoundary);
200
+ }, 0);
201
+ };
202
+ }, [container, onMountAutoFocus, onUnmountAutoFocus, focusBoundary]);
203
+ /* Takes care of looping focus */
204
+ const handleKeyDown = (0, react_1.useCallback)((event) => {
205
+ if ((!loop && !trapped) || focusBoundary.paused) {
206
+ return;
207
+ }
208
+ const isTabKey = event.key === "Tab" &&
209
+ !event.altKey &&
210
+ !event.ctrlKey &&
211
+ !event.metaKey;
212
+ const focusedElement = document.activeElement;
213
+ if (isTabKey && focusedElement) {
214
+ const containerTarget = event.currentTarget;
215
+ const [first, last] = getTabbableEdges(containerTarget);
216
+ /* We can only wrap focus if we have tabbable edges */
217
+ if (!(first && last)) {
218
+ /*
219
+ * No need to do anything if active element is the expected focus-target
220
+ * Case: No tabbable elements, focus should stay on container. If we don't preventDefault, the container will lose focus
221
+ * and potentially lose controll of focus to browser (like focusing address bar).
222
+ */
223
+ if (focusedElement === containerTarget) {
224
+ event.preventDefault();
225
+ }
226
+ return;
227
+ }
228
+ /**
229
+ * Since we are either trapped + looping, or one of them we will do nothing when trapped and focus first element when looping.
230
+ */
231
+ if (!event.shiftKey && focusedElement === last) {
232
+ event.preventDefault();
233
+ if (loop) {
234
+ focus(first, { select: true });
235
+ }
236
+ }
237
+ else if (event.shiftKey && focusedElement === first) {
238
+ event.preventDefault();
239
+ if (loop) {
240
+ focus(last, { select: true });
241
+ }
242
+ }
243
+ }
244
+ }, [loop, trapped, focusBoundary.paused]);
245
+ return (react_1.default.createElement(Slot_1.Slot, Object.assign({ tabIndex: -1 }, restProps, { ref: mergedRefs, onKeyDown: handleKeyDown })));
246
+ });
247
+ exports.FocusBoundary = FocusBoundary;
248
+ /* ---------------------------- FocusBoundary utils ---------------------------- */
249
+ /**
250
+ * Returns the first and last tabbable elements inside a container as a tuple.
251
+ */
252
+ function getTabbableEdges(container) {
253
+ const candidates = getTabbableCandidates(container);
254
+ return [
255
+ findFirstVisible(candidates, container),
256
+ findFirstVisible(candidates.reverse(), container),
257
+ ];
258
+ }
259
+ /**
260
+ * Returns a list of potential tabbable candidates.
261
+ * We do not take into account tabindex values.
262
+ *
263
+ * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
264
+ * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
265
+ */
266
+ function getTabbableCandidates(container) {
267
+ const nodes = [];
268
+ const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
269
+ acceptNode: (node) => {
270
+ const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
271
+ if (node.disabled || node.hidden || isHiddenInput) {
272
+ return NodeFilter.FILTER_SKIP;
273
+ }
274
+ /**
275
+ * `.tabIndex` is not the same as the `tabindex` attribute. It works on the
276
+ * runtime's understanding of tabbability, so this automatically accounts
277
+ * for any kind of element that could be tabbed to.
278
+ */
279
+ return node.tabIndex >= 0
280
+ ? NodeFilter.FILTER_ACCEPT
281
+ : NodeFilter.FILTER_SKIP;
282
+ },
283
+ });
284
+ while (walker.nextNode()) {
285
+ nodes.push(walker.currentNode);
286
+ }
287
+ return nodes;
288
+ }
289
+ /**
290
+ * Returns the first visible element in a list.
291
+ * NOTE: Only checks visibility up to the `container`.
292
+ */
293
+ function findFirstVisible(elements, container) {
294
+ for (const element of elements) {
295
+ if (!isHidden(element, { upTo: container })) {
296
+ return element;
297
+ }
298
+ }
299
+ }
300
+ function isHidden(node, { upTo }) {
301
+ if (getComputedStyle(node).visibility === "hidden") {
302
+ return true;
303
+ }
304
+ while (node) {
305
+ /* we stop at `upTo` */
306
+ if (upTo !== undefined && node === upTo) {
307
+ return false;
308
+ }
309
+ if (getComputedStyle(node).display === "none") {
310
+ return true;
311
+ }
312
+ node = node.parentElement;
313
+ }
314
+ return false;
315
+ }
316
+ function focus(element, { select = false } = {}) {
317
+ if (!(element === null || element === void 0 ? void 0 : element.focus)) {
318
+ return;
319
+ }
320
+ const previouslyFocusedElement = document.activeElement;
321
+ /* Prevent scrolling on focus, to minimize jarring transitions */
322
+ element.focus({ preventScroll: true });
323
+ if (!select) {
324
+ return;
325
+ }
326
+ /* By default, inputs that gets focus should select its contents */
327
+ if (element !== previouslyFocusedElement &&
328
+ element instanceof HTMLInputElement &&
329
+ "select" in element)
330
+ element.select();
331
+ }
332
+ const focusBoundarysStack = createFocusBoundarysStack();
333
+ function createFocusBoundarysStack() {
334
+ /* A stack of focus-boundaries, with the active one at the top */
335
+ let stack = [];
336
+ return {
337
+ add(focusBoundary) {
338
+ /* Pause the currently active focus-boundary (at the top of the stack) */
339
+ const activeFocusBoundary = stack[0];
340
+ if (focusBoundary !== activeFocusBoundary) {
341
+ activeFocusBoundary === null || activeFocusBoundary === void 0 ? void 0 : activeFocusBoundary.pause();
342
+ }
343
+ /* remove in case it already exists (because we'll re-add it at the top of the stack) */
344
+ stack = arrayRemove(stack, focusBoundary);
345
+ stack.unshift(focusBoundary);
346
+ },
347
+ remove(focusBoundary) {
348
+ var _a;
349
+ stack = arrayRemove(stack, focusBoundary);
350
+ (_a = stack[0]) === null || _a === void 0 ? void 0 : _a.resume();
351
+ },
352
+ };
353
+ }
354
+ function arrayRemove(array, item) {
355
+ const updatedArray = [...array];
356
+ const index = updatedArray.indexOf(item);
357
+ if (index !== -1) {
358
+ updatedArray.splice(index, 1);
359
+ }
360
+ return updatedArray;
361
+ }
362
+ function removeLinks(items) {
363
+ return items.filter((item) => item.tagName !== "A");
364
+ }
365
+ //# sourceMappingURL=FocusBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusBoundary.js","sourceRoot":"","sources":["../../../src/util/focus-boundary/FocusBoundary.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type FocusGuardsProps = {
3
+ children: React.ReactNode;
4
+ startRef?: React.RefObject<HTMLSpanElement>;
5
+ endRef?: React.RefObject<HTMLSpanElement>;
6
+ };
7
+ declare function FocusGuards({ children, startRef: forwardedStartRef, endRef: forwardedEndRef, }: FocusGuardsProps): React.JSX.Element;
8
+ export { FocusGuards };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FocusGuards = FocusGuards;
7
+ const react_1 = __importDefault(require("react"));
8
+ const hooks_1 = require("../hooks");
9
+ const visuallyHidden = {
10
+ clip: "rect(0 0 0 0)",
11
+ overflow: "hidden",
12
+ whiteSpace: "nowrap",
13
+ position: "fixed",
14
+ top: 0,
15
+ left: 0,
16
+ border: 0,
17
+ padding: 0,
18
+ width: 1,
19
+ height: 1,
20
+ margin: -1,
21
+ };
22
+ function FocusGuards({ children, startRef: forwardedStartRef, endRef: forwardedEndRef, }) {
23
+ const startRef = react_1.default.useRef(null);
24
+ const endRef = react_1.default.useRef(null);
25
+ const startRefCombined = (0, hooks_1.useMergeRefs)(startRef, forwardedStartRef);
26
+ const endRefCombined = (0, hooks_1.useMergeRefs)(endRef, forwardedEndRef);
27
+ return (react_1.default.createElement(react_1.default.Fragment, null,
28
+ react_1.default.createElement("span", { ref: startRefCombined,
29
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
30
+ tabIndex: 0, style: visuallyHidden, "data-aksel-focus-guard": "" }),
31
+ children,
32
+ react_1.default.createElement("span", { ref: endRefCombined,
33
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
34
+ tabIndex: 0, style: visuallyHidden, "data-aksel-focus-guard": "" })));
35
+ }
36
+ //# sourceMappingURL=FocusGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusGuards.js","sourceRoot":"","sources":["../../../src/util/focus-guards/FocusGuards.tsx"],"names":[],"mappings":";;;;;AAuDS,kCAAW;AAvDpB,kDAA0B;AAC1B,oCAAwC;AAExC,MAAM,cAAc,GAAwB;IAC1C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAQF,SAAS,WAAW,CAAC,EACnB,QAAQ,EACR,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,eAAe,GACN;IACjB,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAyB,IAAI,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAyB,IAAI,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7D,OAAO,CACL,8BAAC,eAAK,CAAC,QAAQ;QACb,wCACE,GAAG,EAAE,gBAAgB;YACrB,+DAA+D;YAC/D,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,cAAc,4BACE,EAAE,GACzB;QACD,QAAQ;QACT,wCACE,GAAG,EAAE,cAAc;YACnB,+DAA+D;YAC/D,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,cAAc,4BACE,EAAE,GACzB,CACa,CAClB,CAAC;AACJ,CAAC"}