@envive-ai/react-hooks 0.3.40 → 0.3.42

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 (68) hide show
  1. package/dist/application/utils/elementObserver.d.ts +2 -2
  2. package/dist/atoms/app/index.d.cts +1 -1
  3. package/dist/atoms/app/index.d.ts +6 -6
  4. package/dist/atoms/app/variant.d.cts +1 -1
  5. package/dist/atoms/app/variant.d.ts +7 -7
  6. package/dist/atoms/chat/chatState.d.cts +18 -18
  7. package/dist/atoms/chat/chatState.d.ts +19 -19
  8. package/dist/atoms/chat/form.d.cts +2 -2
  9. package/dist/atoms/chat/form.d.ts +2 -2
  10. package/dist/atoms/chat/index.d.cts +3 -3
  11. package/dist/atoms/chat/index.d.ts +3 -3
  12. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  13. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  14. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  15. package/dist/atoms/chat/messageQueue.d.ts +7 -7
  16. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  17. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  18. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  19. package/dist/atoms/chat/renderedWidgetRefs.d.ts +3 -3
  20. package/dist/atoms/chat/replies.d.ts +2 -2
  21. package/dist/atoms/chat/suggestions.d.cts +2 -2
  22. package/dist/atoms/chat/suggestions.d.ts +3 -3
  23. package/dist/atoms/envive/enviveConfig.d.ts +13 -13
  24. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  25. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  26. package/dist/atoms/org/customerService.d.cts +6 -6
  27. package/dist/atoms/org/customerService.d.ts +6 -6
  28. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  29. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  30. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  31. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  32. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  33. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  34. package/dist/atoms/search/chatSearch.d.ts +17 -17
  35. package/dist/atoms/search/searchAPI.d.ts +13 -13
  36. package/dist/atoms/search/types.d.cts +1 -1
  37. package/dist/atoms/search/types.d.ts +1 -1
  38. package/dist/atoms/search/utils.d.ts +1 -1
  39. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  40. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  41. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +2 -1
  42. package/dist/contexts/enviveCssContext/enviveCssContext.js +2 -1
  43. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  44. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  45. package/dist/contexts/types.d.cts +1 -1
  46. package/dist/contexts/types.d.ts +1 -1
  47. package/dist/contexts/typesV3.cjs +2 -1
  48. package/dist/contexts/typesV3.d.cts +3 -1
  49. package/dist/contexts/typesV3.d.ts +3 -1
  50. package/dist/contexts/typesV3.js +2 -1
  51. package/dist/hooks/FocusTrap/index.cjs +3 -0
  52. package/dist/hooks/FocusTrap/index.d.cts +2 -0
  53. package/dist/hooks/FocusTrap/index.d.ts +2 -0
  54. package/dist/hooks/FocusTrap/index.js +3 -0
  55. package/dist/hooks/FocusTrap/useFocusTrap.cjs +105 -0
  56. package/dist/hooks/FocusTrap/useFocusTrap.d.cts +20 -0
  57. package/dist/hooks/FocusTrap/useFocusTrap.d.ts +20 -0
  58. package/dist/hooks/FocusTrap/useFocusTrap.js +104 -0
  59. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  60. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  61. package/dist/hooks/utils.d.cts +1 -1
  62. package/dist/hooks/utils.d.ts +1 -1
  63. package/package.json +5 -1
  64. package/src/contexts/enviveCssContext/enviveCssContext.tsx +1 -0
  65. package/src/contexts/typesV3.ts +2 -0
  66. package/src/hooks/FocusTrap/__tests__/useFocusTrap.test.tsx +236 -0
  67. package/src/hooks/FocusTrap/index.ts +1 -0
  68. package/src/hooks/FocusTrap/useFocusTrap.ts +125 -0
@@ -94,6 +94,7 @@ let ColorsNamesVars = /* @__PURE__ */ function(ColorsNamesVars$1) {
94
94
  }({});
95
95
  let ButtonColorsVars = /* @__PURE__ */ function(ButtonColorsVars$1) {
96
96
  ButtonColorsVars$1["LightButtonBackgroundColor"] = "envive-colors-button-light-background-color";
97
+ ButtonColorsVars$1["LightButtonBorderColor"] = "envive-colors-button-light-border-color";
97
98
  ButtonColorsVars$1["LightButtonIconColor"] = "envive-colors-button-light-icon-color";
98
99
  ButtonColorsVars$1["DarkButtonBackgroundColor"] = "envive-colors-button-dark-background-color";
99
100
  ButtonColorsVars$1["DarkButtonIconColor"] = "envive-colors-button-dark-icon-color";
@@ -125,4 +126,4 @@ let WidgetTypeV3 = /* @__PURE__ */ function(WidgetTypeV3$1) {
125
126
 
126
127
  //#endregion
127
128
  export { AspectRatioCSSVar, BorderRadiusCSSVar, ButtonColorsVars, ColorsNamesVars, ConfigVersionEnum, FontFamilyCSSVar, FontSizeCSSVar, FontWeightCSSVar, LetterSpacingCSSVar, LineHeightCSSVar, ThemeCSSVar, WidgetTypeV3 };
128
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXNWMy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbG9hdGluZ0J1dHRvbkxvY2F0aW9uIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL0Zsb2F0aW5nQnV0dG9uJztcbmltcG9ydCB7IEltYWdlR2FsbGVyeUltYWdlLCBJbWFnZUdhbGxlcnlMYXlvdXQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvSW1hZ2VHYWxsZXJ5JztcbmltcG9ydCB7IFByb21wdEJ1dHRvblZhcmlhbnQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvUHJvbXB0QnV0dG9uJztcbmltcG9ydCB7IEFuaW1hdGlvblNwZWVkLCBQcm9tcHRDYXJvdXNlbFJvd3MgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvUHJvbXB0Q2Fyb3VzZWwnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dCwgV2lkZ2V0S2luZCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Tb2NpYWxQcm9vZic7XG5pbXBvcnQgeyBUaGVtZSB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Ub2tlbnMnO1xuaW1wb3J0IHsgU3BhcmtsZUljb25Db2xvciB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9XZWxjb21lTWVzc2FnZSc7XG5pbXBvcnQgeyBXaWRnZXRXcmFwcGVyVmFyaWFudCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9XaWRnZXRXcmFwcGVyJztcbmltcG9ydCB7IENvbG9yTmFtZXMgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnVjMnO1xuaW1wb3J0IHsgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbWVyU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBMZXR0ZXJTcGFjaW5nQ1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDEnLFxuICBUMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MicsXG4gIFQzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDEnLFxuICBIMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMicsXG4gIEgzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjEnLFxuICBCMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMicsXG4gIEIzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjQnLFxuICBCNSA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNScsXG4gIEwxID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDInLFxufVxuXG5leHBvcnQgZW51bSBMaW5lSGVpZ2h0Q1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDEnLFxuICBUMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MicsXG4gIFQzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDEnLFxuICBIMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMicsXG4gIEgzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjEnLFxuICBCMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMicsXG4gIEIzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjQnLFxuICBCNSA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNScsXG4gIEwxID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDInLFxufVxuXG5leHBvcnQgZW51bSBGb250V2VpZ2h0Q1NTVmFyIHtcbiAgVGl0bGUgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdGl0bGUnLFxuICBIZWFkZXIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtaGVhZGVyJyxcbiAgQm9keUVtcGhhc2lzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LWJvZHktZW1waGFzaXMnLFxuICBCb2R5U3RhbmRhcmQgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1zdGFuZGFyZCcsXG59XG5cbmV4cG9ydCBlbnVtIEZvbnRTaXplQ1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQxJyxcbiAgVDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQyJyxcbiAgVDMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgxJyxcbiAgSDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgyJyxcbiAgSDMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIxJyxcbiAgQjIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIyJyxcbiAgQjMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI0JyxcbiAgQjUgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI1JyxcbiAgTDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwyJyxcbn1cblxuZXhwb3J0IGVudW0gRm9udEZhbWlseUNTU1ZhciB7XG4gIFRpdGxlID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXRpdGxlJyxcbiAgSGVhZGVyID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWhlYWRlcicsXG4gIEJvZHkgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1mYW1pbHktYm9keScsXG59XG5cbmV4cG9ydCBlbnVtIFRoZW1lQ1NTVmFyIHtcbiAgR2xvYmFsQ3VzdG9tID0gJ2Vudml2ZS1nbG9iYWwtY3VzdG9tLXRoZW1lJyxcbn1cblxuZXhwb3J0IGVudW0gQXNwZWN0UmF0aW9DU1NWYXIge1xuICBHbG9iYWxDdXN0b20gPSAnZW52aXZlLWdsb2JhbC1jdXN0b20tYXNwZWN0LXJhdGlvJyxcbn1cblxuZXhwb3J0IGVudW0gQm9yZGVyUmFkaXVzQ1NTVmFyIHtcbiAgR2xvYmFsQ3VzdG9tID0gJ2Vudml2ZS1nbG9iYWwtY3VzdG9tLWJvcmRlci1yYWRpdXMnLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb2xvcnNOYW1lc1ZhcnMge1xuICBUZXh0UHJpbWFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0UHJpbWFyeX1gLFxuICBUZXh0U2Vjb25kYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnl9YCxcbiAgVGV4dEFjY2VudCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0QWNjZW50fWAsXG4gIFRleHRMaW5rID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLlRleHRMaW5rfWAsXG4gIFRleHRMaWdodCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0TGlnaHR9YCxcbiAgQmFja2dyb3VuZFByaW1hcnkgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnl9YCxcbiAgQmFja2dyb3VuZFNlY29uZGFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5fWAsXG4gIEJhY2tncm91bmRUZXJ0aWFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnl9YCxcbiAgQmFja2dyb3VuZERhcmsgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmt9YCxcbiAgQmFja2dyb3VuZExpZ2h0ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodH1gLFxuICBCb3JkZXJMaWdodCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5Cb3JkZXJMaWdodH1gLFxuICBCb3JkZXJNZWRpdW0gPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQm9yZGVyTWVkaXVtfWAsXG4gIEJvcmRlckRhcmsgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQm9yZGVyRGFya31gLFxuICBBY2NlbnRQcmltYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkFjY2VudFByaW1hcnl9YCxcbiAgQWNjZW50U2Vjb25kYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkFjY2VudFNlY29uZGFyeX1gLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBCdXR0b25Db2xvcnNWYXJzIHtcbiAgTGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtYmFja2dyb3VuZC1jb2xvcicsXG4gIExpZ2h0QnV0dG9uSWNvbkNvbG9yID0gJ2Vudml2ZS1jb2xvcnMtYnV0dG9uLWxpZ2h0LWljb24tY29sb3InLFxuICBEYXJrQnV0dG9uQmFja2dyb3VuZENvbG9yID0gJ2Vudml2ZS1jb2xvcnMtYnV0dG9uLWRhcmstYmFja2dyb3VuZC1jb2xvcicsXG4gIERhcmtCdXR0b25JY29uQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1pY29uLWNvbG9yJyxcbn1cblxudHlwZSBJbWFnZUFzcGVjdFJhdGlvID0gJzEvMScgfCAnMy80JztcblxudHlwZSBCdXR0b25Db2xvcnMgPSB7XG4gIGxpZ2h0QnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGxpZ2h0QnV0dG9uSWNvbkNvbG9yOiBzdHJpbmc7XG4gIGRhcmtCdXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgZGFya0J1dHRvbkljb25Db2xvcjogc3RyaW5nO1xufTtcblxuLy8gVE9ETzogU2V0IGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgdHlwb2dyYXBoeSBjb25maWdzXG50eXBlIFR5cG9ncmFwaHkgPSB7XG4gIHRpdGxlRm9udEZhbWlseTogc3RyaW5nO1xuICBoZWFkZXJGb250RmFtaWx5OiBzdHJpbmc7XG4gIGJvZHlGb250RmFtaWx5OiBzdHJpbmc7XG5cbiAgZm9udFNpemU/OiB7XG4gICAgdDE6IHN0cmluZztcbiAgICB0Mjogc3RyaW5nO1xuICAgIHQzOiBzdHJpbmc7XG4gICAgaDE6IHN0cmluZztcbiAgICBoMjogc3RyaW5nO1xuICAgIGgzOiBzdHJpbmc7XG4gICAgYjE6IHN0cmluZztcbiAgICBiMjogc3RyaW5nO1xuICAgIGIzOiBzdHJpbmc7XG4gICAgYjQ6IHN0cmluZztcbiAgICBiNTogc3RyaW5nO1xuICAgIGwxOiBzdHJpbmc7XG4gICAgbDI6IHN0cmluZztcbiAgfTtcblxuICBmb250V2VpZ2h0Pzoge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyOiBzdHJpbmc7XG4gICAgYm9keUVtcGhhc2lzOiBzdHJpbmc7XG4gICAgYm9keVN0YW5kYXJkOiBzdHJpbmc7XG4gIH07XG5cbiAgbGV0dGVyU3BhY2luZz86IHtcbiAgICB0MTogc3RyaW5nO1xuICAgIHQyOiBzdHJpbmc7XG4gICAgdDM6IHN0cmluZztcbiAgICBoMTogc3RyaW5nO1xuICAgIGgyOiBzdHJpbmc7XG4gICAgaDM6IHN0cmluZztcbiAgICBiMTogc3RyaW5nO1xuICAgIGIyOiBzdHJpbmc7XG4gICAgYjM6IHN0cmluZztcbiAgICBiNDogc3RyaW5nO1xuICAgIGI1OiBzdHJpbmc7XG4gICAgbDE6IHN0cmluZztcbiAgICBsMjogc3RyaW5nO1xuICB9O1xuXG4gIGxpbmVIZWlnaHQ/OiB7XG4gICAgdDE6IG51bWJlcjtcbiAgICB0MjogbnVtYmVyO1xuICAgIHQzOiBudW1iZXI7XG4gICAgaDE6IG51bWJlcjtcbiAgICBoMjogbnVtYmVyO1xuICAgIGgzOiBudW1iZXI7XG4gICAgYjE6IG51bWJlcjtcbiAgICBiMjogbnVtYmVyO1xuICAgIGIzOiBudW1iZXI7XG4gICAgYjQ6IG51bWJlcjtcbiAgICBiNTogbnVtYmVyO1xuICAgIGwxOiBudW1iZXI7XG4gICAgbDI6IG51bWJlcjtcbiAgfTtcbn07XG5cbnR5cGUgTG9va0FuZEZlZWxDb25maWcgPSB7XG4gIHRoZW1lOiBUaGVtZTtcbiAgYWdlbnROYW1lOiBzdHJpbmc7XG4gIGNoYXRIZWFkZXJMb2dvRGFya1NyYzogc3RyaW5nO1xuICBjaGF0SGVhZGVyTG9nb0xpZ2h0U3JjOiBzdHJpbmc7XG4gIHdpZGdldExvZ29TcmM6IHN0cmluZztcbiAgaGlkZVdpZGdldExvZ286IGJvb2xlYW47XG4gIHZvaWNlSW5wdXRFbmFibGVkPzogYm9vbGVhbjtcbiAgZWxlbWVudFJhZGl1czogbnVtYmVyO1xuICBpbWFnZUFzcGVjdFJhdGlvOiBJbWFnZUFzcGVjdFJhdGlvO1xuICBidXR0b25Db2xvcnM6IEJ1dHRvbkNvbG9ycztcbiAgdHlwb2dyYXBoeTogVHlwb2dyYXBoeTtcbn07XG5cbmV4cG9ydCBlbnVtIENvbmZpZ1ZlcnNpb25FbnVtIHtcbiAgVjMgPSAndjMnLFxuICBEZXByZWNhdGVkID0gJ2RlcHJlY2F0ZWQnLFxufVxuXG50eXBlIENvbmZpZ1ZlcnNpb24gPSBDb25maWdWZXJzaW9uRW51bS5WMyB8IENvbmZpZ1ZlcnNpb25FbnVtLkRlcHJlY2F0ZWQgfCB1bmRlZmluZWQ7XG5cbnR5cGUgTW9kZSA9ICdkYXJrJyB8ICdsaWdodCc7XG5cbnR5cGUgU2hvd09wdGlvbnMgPSAnYWx3YXlzJyB8ICdwb3N0SW50ZXJhY3Rpb24nIHwgJ25vbmUnO1xuXG50eXBlIFN0eWxlID0gJ2F0dGFjaGVkJyB8ICdkZXRhY2hlZCc7XG5cbnR5cGUgRmxvYXRpbmdCdXR0b25Db25maWcgPSB7XG4gIHBvc2l0aW9uOiBGbG9hdGluZ0J1dHRvbkxvY2F0aW9uO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIG1vZGU6IE1vZGU7XG4gIHNob3dPcHRpb246IFNob3dPcHRpb25zO1xuICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICBzdHlsZTogU3R5bGU7XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcnJlclBvcHVwVHJpZ2dlciA9IHtcbiAgdHlwZTogJ3JlZmVycmVyJztcbiAgcmVmZXJyZXJzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEF1dG9tYXRpY1BvcHVwVHJpZ2dlciA9IHtcbiAgdHlwZTogJ2F1dG9tYXRpYyc7XG59O1xuZXhwb3J0IHR5cGUgUG9wdXBUcmlnZ2VyID0gUmVmZXJyZXJQb3B1cFRyaWdnZXIgfCBBdXRvbWF0aWNQb3B1cFRyaWdnZXI7XG5leHBvcnQgdHlwZSBBdXRvUG9wdXBUcmlnZ2VyID0ge1xuICBkZWxheTogbnVtYmVyO1xuICB0cmlnZ2VyOiBQb3B1cFRyaWdnZXI7XG59O1xuZXhwb3J0IGludGVyZmFjZSBBdXRvUG9wdXBDb25maWcge1xuICB0cmlnZ2VyczogQXV0b1BvcHVwVHJpZ2dlcltdO1xufVxuXG50eXBlIEZsb2F0aW5nQ2hhdENvbmZpZyA9IHtcbiAgaGVhZGVyQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBoZWFkZXJNb2RlOiBNb2RlO1xuICB3ZWxjb21lTWVzc2FnZUljb25Db2xvcjogU3BhcmtsZUljb25Db2xvcjtcbiAgc2hvd1ZlcmlmaWVkQnV5ZXI6IGJvb2xlYW47XG4gIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgc2hvd0Vudml2ZUxvZ286IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHdlbGNvbWVNZXNzYWdlVGl0bGU6IHN0cmluZztcbiAgd2VsY29tZU1lc3NhZ2VUZXh0OiBzdHJpbmc7XG4gIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6IHN0cmluZztcbiAgYXV0b1BvcHVwQ29uZmlnPzogQXV0b1BvcHVwQ29uZmlnO1xufTtcblxudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHN1cHByZXNzTWVyY2hhbnRCdXR0b24/OiBib29sZWFuO1xufTtcblxudHlwZSBTUEFTZXR0aW5ncyA9IHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xufTtcblxudHlwZSBPcmdVSUNvbmZpZ1YzID0ge1xuICBpZD86IHN0cmluZztcblxuICB2ZXJzaW9uOiBDb25maWdWZXJzaW9uO1xuXG4gIHNob3J0TmFtZTogc3RyaW5nO1xuXG4gIGxvb2tBbmRGZWVsOiBMb29rQW5kRmVlbENvbmZpZztcblxuICBmbG9hdGluZ0J1dHRvbjogRmxvYXRpbmdCdXR0b25Db25maWc7XG5cbiAgZmxvYXRpbmdDaGF0OiBGbG9hdGluZ0NoYXRDb25maWc7XG5cbiAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcblxuICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbj86IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuXG4gIHNpbmdsZVBhZ2VBcHBsaWNhdGlvblNldHRpbmdzPzogU1BBU2V0dGluZ3M7XG5cbiAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnO1xufTtcblxuZXhwb3J0IGVudW0gV2lkZ2V0VHlwZVYzIHtcbiAgUHJvbXB0Q2Fyb3VzZWxWMyA9ICdQcm9tcHRDYXJvdXNlbFYzJyxcbiAgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWMyA9ICdUaXRsZWRQcm9tcHRDYXJvdXNlbFYzJyxcbiAgU29jaWFsUHJvb2ZWMyA9ICdTb2NpYWxQcm9vZlYzJyxcbiAgVHlwaW5nQW5pbWF0aW9uVjMgPSAnVHlwaW5nQW5pbWF0aW9uVjMnLFxuICBDaGF0UHJldmlld1YzID0gJ0NoYXRQcmV2aWV3VjMnLFxuICBDaGF0UHJldmlld0NvbXBhcmlzb25WMyA9ICdDaGF0UHJldmlld0NvbXBhcmlzb25WMycsXG4gIENoYXRQcmV2aWV3TG9hZGluZ1YzID0gJ0NoYXRQcmV2aWV3TG9hZGluZ1YzJyxcbiAgSW1hZ2VQcm9tcHRDYXJkVjMgPSAnSW1hZ2VQcm9tcHRDYXJkVjMnLFxuICBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzID0gJ1Byb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlVjMnLFxuICBJbWFnZUJhbm5lclYzID0gJ0ltYWdlQmFubmVyVjMnLFxuICBTaW5nbGVJbWFnZVByb21wdFYzID0gJ1NpbmdsZUltYWdlUHJvbXB0VjMnLFxuICBGbG9hdGluZ0NoYXRWMyA9ICdGbG9hdGluZ0NoYXRWMycsXG4gIEZsb2F0aW5nQnV0dG9uVjMgPSAnRmxvYXRpbmdCdXR0b25WMycsXG4gIFByb2R1Y3RDYXJkVjMgPSAnUHJvZHVjdENhcmRWMycsXG4gIEZ1bGxQYWdlU2FsZXNBZ2VudFYzID0gJ0Z1bGxQYWdlU2FsZXNBZ2VudFYzJyxcbn1cblxuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGVWMz4ge1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xuICB0eXBlOiBUO1xuICBjb250ZW50SWQ/OiBzdHJpbmc7IC8vIFdpZGdldCBJRFxufVxuXG5pbnRlcmZhY2UgUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb21wdENhcm91c2VsVjM+IHtcbiAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgYW5pbWF0aW9uU3BlZWQ/OiBBbmltYXRpb25TcGVlZDtcbn1cblxuaW50ZXJmYWNlIFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5UaXRsZWRQcm9tcHRDYXJvdXNlbFYzPiB7XG4gIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gIGFuaW1hdGlvblNwZWVkPzogQW5pbWF0aW9uU3BlZWQ7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlNvY2lhbFByb29mVjM+IHtcbiAga2luZDogV2lkZ2V0S2luZDtcbiAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgcHJvbXB0Q2Fyb3VzZWxSb3dzOiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gIGhpZGVJbWFnZT86IGJvb2xlYW47XG4gIGltYWdlR2FsbGVyeUxheW91dDogRXhjbHVkZTxJbWFnZUdhbGxlcnlMYXlvdXQsICdUV09fU0lERSc+O1xuICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgcHJpbWFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICBzZWNvbmRhcnlCdXR0b25WYXJpYW50OiBFeGNsdWRlPFByb21wdEJ1dHRvblZhcmlhbnQsICdzdWdnZXN0ZWRSZXNwb25zZScgfCAnZ2hvc3QnPjtcbiAgZHluYW1pY0xheW91dD86IER5bmFtaWNMYXlvdXQ7XG4gIGltYWdlcz86IEltYWdlR2FsbGVyeUltYWdlW107XG59XG5cbmludGVyZmFjZSBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlR5cGluZ0FuaW1hdGlvblYzPiB7XG4gIHdpZGdldFZhcmlhbnQ/OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgY2FyZENvbG9yPzogc3RyaW5nO1xuICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICBzaG93VGV4dEZpZWxkPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdDb21wYXJpc29uVjM+IHtcbiAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzPiB7XG4gIHZhcmlhbnQ6IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjM+IHtcbiAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWMz4ge1xuICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgaW1hZ2U/OiBJbWFnZUdhbGxlcnlJbWFnZTtcbiAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG4gIGlzRHluYW1pYz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkZsb2F0aW5nQ2hhdFYzPiB7fVxuXG5pbnRlcmZhY2UgUHJvZHVjdENhcmRXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb2R1Y3RDYXJkVjM+IHtcbiAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gIGl0YWxpY2l6ZUhlYWRsaW5lPzogYm9vbGVhbjtcbiAgZmFsbGJhY2tDb2xvcj86IHN0cmluZztcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gIG1vZGU/OiBNb2RlO1xufVxuXG5pbnRlcmZhY2UgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWMz4ge1xuICBoZWFkZXJDb250YWluZXI/OiBzdHJpbmc7XG4gIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuICBzcGFya2xlQ29sb3I/OiBzdHJpbmc7XG4gIHVzZUJhY2tncm91bmRJbWFnZT86IGJvb2xlYW47XG4gIG1vYmlsZUJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgZGVza3RvcEJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBzdWdnZXN0aW9uQnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG59XG5cbnR5cGUgV2lkZ2V0Q29uZmlnVjMgPVxuICB8IFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWdcbiAgfCBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnXG4gIHwgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZ1xuICB8IENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnXG4gIHwgQ2hhdFByZXZpZXdMb2FkaW5nV2lkZ2V0VjNDb25maWdcbiAgfCBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZ1xuICB8IENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWdcbiAgfCBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVdpZGdldFYzQ29uZmlnXG4gIHwgRmxvYXRpbmdDaGF0V2lkZ2V0VjNDb25maWdcbiAgfCBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnXG4gIHwgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcsXG4gIENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnLFxuICBDaGF0UHJldmlld1dpZGdldFYzQ29uZmlnLFxuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgRmxvYXRpbmdCdXR0b25Db25maWcsXG4gIEZsb2F0aW5nQ2hhdENvbmZpZyxcbiAgRmxvYXRpbmdDaGF0V2lkZ2V0VjNDb25maWcsXG4gIEZ1bGxQYWdlU2FsZXNBZ2VudFdpZGdldFYzQ29uZmlnLFxuICBMb29rQW5kRmVlbENvbmZpZyxcbiAgT3JnVUlDb25maWdWMyxcbiAgUHJvZHVjdENhcmRXaWRnZXRWM0NvbmZpZyxcbiAgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VXaWRnZXRWM0NvbmZpZyxcbiAgUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyxcbiAgU29jaWFsUHJvb2ZXaWRnZXRWM0NvbmZpZyxcbiAgU1BBU2V0dGluZ3MsXG4gIFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcsXG4gIFR5cGluZ0FuaW1hdGlvbldpZGdldFYzQ29uZmlnLFxuICBXaWRnZXRDb25maWdWMyxcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQVlBLElBQVksc0VBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLGdFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksNERBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSxzREFBTDtBQUNMOzs7QUFHRixJQUFZLGtFQUFMO0FBQ0w7OztBQUdGLElBQVksb0VBQUw7QUFDTDs7O0FBR0YsSUFBa0IsOERBQVg7QUFDTCxvQ0FBYyxpQkFBaUIsV0FBVztBQUMxQyxzQ0FBZ0IsaUJBQWlCLFdBQVc7QUFDNUMsbUNBQWEsaUJBQWlCLFdBQVc7QUFDekMsaUNBQVcsaUJBQWlCLFdBQVc7QUFDdkMsa0NBQVksaUJBQWlCLFdBQVc7QUFDeEMsMENBQW9CLGlCQUFpQixXQUFXO0FBQ2hELDRDQUFzQixpQkFBaUIsV0FBVztBQUNsRCwyQ0FBcUIsaUJBQWlCLFdBQVc7QUFDakQsdUNBQWlCLGlCQUFpQixXQUFXO0FBQzdDLHdDQUFrQixpQkFBaUIsV0FBVztBQUM5QyxvQ0FBYyxpQkFBaUIsV0FBVztBQUMxQyxxQ0FBZSxpQkFBaUIsV0FBVztBQUMzQyxtQ0FBYSxpQkFBaUIsV0FBVztBQUN6QyxzQ0FBZ0IsaUJBQWlCLFdBQVc7QUFDNUMsd0NBQWtCLGlCQUFpQixXQUFXOzs7QUFHaEQsSUFBa0IsZ0VBQVg7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBd0ZGLElBQVksa0VBQUw7QUFDTDtBQUNBOzs7QUFxRkYsSUFBWSx3REFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSJ9
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXNWMy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbG9hdGluZ0J1dHRvbkxvY2F0aW9uIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL0Zsb2F0aW5nQnV0dG9uJztcbmltcG9ydCB7IEltYWdlR2FsbGVyeUltYWdlLCBJbWFnZUdhbGxlcnlMYXlvdXQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvSW1hZ2VHYWxsZXJ5JztcbmltcG9ydCB7IFByb21wdEJ1dHRvblZhcmlhbnQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvUHJvbXB0QnV0dG9uJztcbmltcG9ydCB7IEFuaW1hdGlvblNwZWVkLCBQcm9tcHRDYXJvdXNlbFJvd3MgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvUHJvbXB0Q2Fyb3VzZWwnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dCwgV2lkZ2V0S2luZCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Tb2NpYWxQcm9vZic7XG5pbXBvcnQgeyBUaGVtZSB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Ub2tlbnMnO1xuaW1wb3J0IHsgU3BhcmtsZUljb25Db2xvciB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9XZWxjb21lTWVzc2FnZSc7XG5pbXBvcnQgeyBXaWRnZXRXcmFwcGVyVmFyaWFudCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9XaWRnZXRXcmFwcGVyJztcbmltcG9ydCB7IENvbG9yTmFtZXMgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnVjMnO1xuaW1wb3J0IHsgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbWVyU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBMZXR0ZXJTcGFjaW5nQ1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDEnLFxuICBUMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MicsXG4gIFQzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDEnLFxuICBIMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMicsXG4gIEgzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjEnLFxuICBCMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMicsXG4gIEIzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjQnLFxuICBCNSA9ICdlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNScsXG4gIEwxID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDInLFxufVxuXG5leHBvcnQgZW51bSBMaW5lSGVpZ2h0Q1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDEnLFxuICBUMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MicsXG4gIFQzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDEnLFxuICBIMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMicsXG4gIEgzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjEnLFxuICBCMiA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMicsXG4gIEIzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjQnLFxuICBCNSA9ICdlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNScsXG4gIEwxID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDInLFxufVxuXG5leHBvcnQgZW51bSBGb250V2VpZ2h0Q1NTVmFyIHtcbiAgVGl0bGUgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdGl0bGUnLFxuICBIZWFkZXIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtaGVhZGVyJyxcbiAgQm9keUVtcGhhc2lzID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LWJvZHktZW1waGFzaXMnLFxuICBCb2R5U3RhbmRhcmQgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1zdGFuZGFyZCcsXG59XG5cbmV4cG9ydCBlbnVtIEZvbnRTaXplQ1NTVmFyIHtcbiAgVDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQxJyxcbiAgVDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQyJyxcbiAgVDMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQzJyxcbiAgSDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgxJyxcbiAgSDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgyJyxcbiAgSDMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgzJyxcbiAgQjEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIxJyxcbiAgQjIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIyJyxcbiAgQjMgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIzJyxcbiAgQjQgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI0JyxcbiAgQjUgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI1JyxcbiAgTDEgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwxJyxcbiAgTDIgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwyJyxcbn1cblxuZXhwb3J0IGVudW0gRm9udEZhbWlseUNTU1ZhciB7XG4gIFRpdGxlID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXRpdGxlJyxcbiAgSGVhZGVyID0gJ2Vudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWhlYWRlcicsXG4gIEJvZHkgPSAnZW52aXZlLXR5cG9ncmFwaHktZm9udC1mYW1pbHktYm9keScsXG59XG5cbmV4cG9ydCBlbnVtIFRoZW1lQ1NTVmFyIHtcbiAgR2xvYmFsQ3VzdG9tID0gJ2Vudml2ZS1nbG9iYWwtY3VzdG9tLXRoZW1lJyxcbn1cblxuZXhwb3J0IGVudW0gQXNwZWN0UmF0aW9DU1NWYXIge1xuICBHbG9iYWxDdXN0b20gPSAnZW52aXZlLWdsb2JhbC1jdXN0b20tYXNwZWN0LXJhdGlvJyxcbn1cblxuZXhwb3J0IGVudW0gQm9yZGVyUmFkaXVzQ1NTVmFyIHtcbiAgR2xvYmFsQ3VzdG9tID0gJ2Vudml2ZS1nbG9iYWwtY3VzdG9tLWJvcmRlci1yYWRpdXMnLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb2xvcnNOYW1lc1ZhcnMge1xuICBUZXh0UHJpbWFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0UHJpbWFyeX1gLFxuICBUZXh0U2Vjb25kYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnl9YCxcbiAgVGV4dEFjY2VudCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0QWNjZW50fWAsXG4gIFRleHRMaW5rID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLlRleHRMaW5rfWAsXG4gIFRleHRMaWdodCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5UZXh0TGlnaHR9YCxcbiAgQmFja2dyb3VuZFByaW1hcnkgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnl9YCxcbiAgQmFja2dyb3VuZFNlY29uZGFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5fWAsXG4gIEJhY2tncm91bmRUZXJ0aWFyeSA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnl9YCxcbiAgQmFja2dyb3VuZERhcmsgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmt9YCxcbiAgQmFja2dyb3VuZExpZ2h0ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodH1gLFxuICBCb3JkZXJMaWdodCA9IGBlbnZpdmUtY29sb3JzLSR7Q29sb3JOYW1lcy5Cb3JkZXJMaWdodH1gLFxuICBCb3JkZXJNZWRpdW0gPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQm9yZGVyTWVkaXVtfWAsXG4gIEJvcmRlckRhcmsgPSBgZW52aXZlLWNvbG9ycy0ke0NvbG9yTmFtZXMuQm9yZGVyRGFya31gLFxuICBBY2NlbnRQcmltYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkFjY2VudFByaW1hcnl9YCxcbiAgQWNjZW50U2Vjb25kYXJ5ID0gYGVudml2ZS1jb2xvcnMtJHtDb2xvck5hbWVzLkFjY2VudFNlY29uZGFyeX1gLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBCdXR0b25Db2xvcnNWYXJzIHtcbiAgTGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtYmFja2dyb3VuZC1jb2xvcicsXG4gIExpZ2h0QnV0dG9uQm9yZGVyQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtYm9yZGVyLWNvbG9yJyxcbiAgTGlnaHRCdXR0b25JY29uQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtaWNvbi1jb2xvcicsXG4gIERhcmtCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSAnZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1iYWNrZ3JvdW5kLWNvbG9yJyxcbiAgRGFya0J1dHRvbkljb25Db2xvciA9ICdlbnZpdmUtY29sb3JzLWJ1dHRvbi1kYXJrLWljb24tY29sb3InLFxufVxuXG50eXBlIEltYWdlQXNwZWN0UmF0aW8gPSAnMS8xJyB8ICczLzQnO1xuXG50eXBlIEJ1dHRvbkNvbG9ycyA9IHtcbiAgbGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgbGlnaHRCdXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgbGlnaHRCdXR0b25JY29uQ29sb3I6IHN0cmluZztcbiAgZGFya0J1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBkYXJrQnV0dG9uSWNvbkNvbG9yOiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPOiBTZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSB0eXBvZ3JhcGh5IGNvbmZpZ3NcbnR5cGUgVHlwb2dyYXBoeSA9IHtcbiAgdGl0bGVGb250RmFtaWx5OiBzdHJpbmc7XG4gIGhlYWRlckZvbnRGYW1pbHk6IHN0cmluZztcbiAgYm9keUZvbnRGYW1pbHk6IHN0cmluZztcblxuICBmb250U2l6ZT86IHtcbiAgICB0MTogc3RyaW5nO1xuICAgIHQyOiBzdHJpbmc7XG4gICAgdDM6IHN0cmluZztcbiAgICBoMTogc3RyaW5nO1xuICAgIGgyOiBzdHJpbmc7XG4gICAgaDM6IHN0cmluZztcbiAgICBiMTogc3RyaW5nO1xuICAgIGIyOiBzdHJpbmc7XG4gICAgYjM6IHN0cmluZztcbiAgICBiNDogc3RyaW5nO1xuICAgIGI1OiBzdHJpbmc7XG4gICAgbDE6IHN0cmluZztcbiAgICBsMjogc3RyaW5nO1xuICB9O1xuXG4gIGZvbnRXZWlnaHQ/OiB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoZWFkZXI6IHN0cmluZztcbiAgICBib2R5RW1waGFzaXM6IHN0cmluZztcbiAgICBib2R5U3RhbmRhcmQ6IHN0cmluZztcbiAgfTtcblxuICBsZXR0ZXJTcGFjaW5nPzoge1xuICAgIHQxOiBzdHJpbmc7XG4gICAgdDI6IHN0cmluZztcbiAgICB0Mzogc3RyaW5nO1xuICAgIGgxOiBzdHJpbmc7XG4gICAgaDI6IHN0cmluZztcbiAgICBoMzogc3RyaW5nO1xuICAgIGIxOiBzdHJpbmc7XG4gICAgYjI6IHN0cmluZztcbiAgICBiMzogc3RyaW5nO1xuICAgIGI0OiBzdHJpbmc7XG4gICAgYjU6IHN0cmluZztcbiAgICBsMTogc3RyaW5nO1xuICAgIGwyOiBzdHJpbmc7XG4gIH07XG5cbiAgbGluZUhlaWdodD86IHtcbiAgICB0MTogbnVtYmVyO1xuICAgIHQyOiBudW1iZXI7XG4gICAgdDM6IG51bWJlcjtcbiAgICBoMTogbnVtYmVyO1xuICAgIGgyOiBudW1iZXI7XG4gICAgaDM6IG51bWJlcjtcbiAgICBiMTogbnVtYmVyO1xuICAgIGIyOiBudW1iZXI7XG4gICAgYjM6IG51bWJlcjtcbiAgICBiNDogbnVtYmVyO1xuICAgIGI1OiBudW1iZXI7XG4gICAgbDE6IG51bWJlcjtcbiAgICBsMjogbnVtYmVyO1xuICB9O1xufTtcblxudHlwZSBMb29rQW5kRmVlbENvbmZpZyA9IHtcbiAgdGhlbWU6IFRoZW1lO1xuICBhZ2VudE5hbWU6IHN0cmluZztcbiAgY2hhdEhlYWRlckxvZ29EYXJrU3JjOiBzdHJpbmc7XG4gIGNoYXRIZWFkZXJMb2dvTGlnaHRTcmM6IHN0cmluZztcbiAgd2lkZ2V0TG9nb1NyYzogc3RyaW5nO1xuICBoaWRlV2lkZ2V0TG9nbzogYm9vbGVhbjtcbiAgdm9pY2VJbnB1dEVuYWJsZWQ/OiBib29sZWFuO1xuICBlbGVtZW50UmFkaXVzOiBudW1iZXI7XG4gIGltYWdlQXNwZWN0UmF0aW86IEltYWdlQXNwZWN0UmF0aW87XG4gIGJ1dHRvbkNvbG9yczogQnV0dG9uQ29sb3JzO1xuICB0eXBvZ3JhcGh5OiBUeXBvZ3JhcGh5O1xufTtcblxuZXhwb3J0IGVudW0gQ29uZmlnVmVyc2lvbkVudW0ge1xuICBWMyA9ICd2MycsXG4gIERlcHJlY2F0ZWQgPSAnZGVwcmVjYXRlZCcsXG59XG5cbnR5cGUgQ29uZmlnVmVyc2lvbiA9IENvbmZpZ1ZlcnNpb25FbnVtLlYzIHwgQ29uZmlnVmVyc2lvbkVudW0uRGVwcmVjYXRlZCB8IHVuZGVmaW5lZDtcblxudHlwZSBNb2RlID0gJ2RhcmsnIHwgJ2xpZ2h0JztcblxudHlwZSBTaG93T3B0aW9ucyA9ICdhbHdheXMnIHwgJ3Bvc3RJbnRlcmFjdGlvbicgfCAnbm9uZSc7XG5cbnR5cGUgU3R5bGUgPSAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcblxudHlwZSBGbG9hdGluZ0J1dHRvbkNvbmZpZyA9IHtcbiAgcG9zaXRpb246IEZsb2F0aW5nQnV0dG9uTG9jYXRpb247XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgbW9kZTogTW9kZTtcbiAgc2hvd09wdGlvbjogU2hvd09wdGlvbnM7XG4gIGljb25TVkdTcmM/OiBzdHJpbmc7XG4gIHN0eWxlOiBTdHlsZTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlZmVycmVyUG9wdXBUcmlnZ2VyID0ge1xuICB0eXBlOiAncmVmZXJyZXInO1xuICByZWZlcnJlcnM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQXV0b21hdGljUG9wdXBUcmlnZ2VyID0ge1xuICB0eXBlOiAnYXV0b21hdGljJztcbn07XG5leHBvcnQgdHlwZSBQb3B1cFRyaWdnZXIgPSBSZWZlcnJlclBvcHVwVHJpZ2dlciB8IEF1dG9tYXRpY1BvcHVwVHJpZ2dlcjtcbmV4cG9ydCB0eXBlIEF1dG9Qb3B1cFRyaWdnZXIgPSB7XG4gIGRlbGF5OiBudW1iZXI7XG4gIHRyaWdnZXI6IFBvcHVwVHJpZ2dlcjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Qb3B1cENvbmZpZyB7XG4gIHRyaWdnZXJzOiBBdXRvUG9wdXBUcmlnZ2VyW107XG59XG5cbnR5cGUgRmxvYXRpbmdDaGF0Q29uZmlnID0ge1xuICBoZWFkZXJCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIGhlYWRlck1vZGU6IE1vZGU7XG4gIHdlbGNvbWVNZXNzYWdlSWNvbkNvbG9yOiBTcGFya2xlSWNvbkNvbG9yO1xuICBzaG93VmVyaWZpZWRCdXllcjogYm9vbGVhbjtcbiAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICBzaG93RW52aXZlTG9nbzogYm9vbGVhbjtcbiAgaWdub3JlRmlyc3RNb2RlbFJlc3BvbnNlPzogYm9vbGVhbjtcbiAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgd2VsY29tZU1lc3NhZ2VUaXRsZTogc3RyaW5nO1xuICB3ZWxjb21lTWVzc2FnZVRleHQ6IHN0cmluZztcbiAgY2hhdEZvb3RlclRleHRGaWVsZFBsYWNlaG9sZGVyVGV4dDogc3RyaW5nO1xuICBhdXRvUG9wdXBDb25maWc/OiBBdXRvUG9wdXBDb25maWc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgc3VwcHJlc3NNZXJjaGFudEJ1dHRvbj86IGJvb2xlYW47XG59O1xuXG50eXBlIFNQQVNldHRpbmdzID0ge1xuICBlbmFibGVkOiBib29sZWFuO1xuICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7XG59O1xuXG50eXBlIE9yZ1VJQ29uZmlnVjMgPSB7XG4gIGlkPzogc3RyaW5nO1xuXG4gIHZlcnNpb246IENvbmZpZ1ZlcnNpb247XG5cbiAgc2hvcnROYW1lOiBzdHJpbmc7XG5cbiAgbG9va0FuZEZlZWw6IExvb2tBbmRGZWVsQ29uZmlnO1xuXG4gIGZsb2F0aW5nQnV0dG9uOiBGbG9hdGluZ0J1dHRvbkNvbmZpZztcblxuICBmbG9hdGluZ0NoYXQ6IEZsb2F0aW5nQ2hhdENvbmZpZztcblxuICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuXG4gIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uPzogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbiAgc2luZ2xlUGFnZUFwcGxpY2F0aW9uU2V0dGluZ3M/OiBTUEFTZXR0aW5ncztcblxuICBzZWFyY2hDb25maWc/OiBTZWFyY2hDb25maWc7XG59O1xuXG5leHBvcnQgZW51bSBXaWRnZXRUeXBlVjMge1xuICBQcm9tcHRDYXJvdXNlbFYzID0gJ1Byb21wdENhcm91c2VsVjMnLFxuICBUaXRsZWRQcm9tcHRDYXJvdXNlbFYzID0gJ1RpdGxlZFByb21wdENhcm91c2VsVjMnLFxuICBTb2NpYWxQcm9vZlYzID0gJ1NvY2lhbFByb29mVjMnLFxuICBUeXBpbmdBbmltYXRpb25WMyA9ICdUeXBpbmdBbmltYXRpb25WMycsXG4gIENoYXRQcmV2aWV3VjMgPSAnQ2hhdFByZXZpZXdWMycsXG4gIENoYXRQcmV2aWV3Q29tcGFyaXNvblYzID0gJ0NoYXRQcmV2aWV3Q29tcGFyaXNvblYzJyxcbiAgQ2hhdFByZXZpZXdMb2FkaW5nVjMgPSAnQ2hhdFByZXZpZXdMb2FkaW5nVjMnLFxuICBJbWFnZVByb21wdENhcmRWMyA9ICdJbWFnZVByb21wdENhcmRWMycsXG4gIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlVjMgPSAnUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWMycsXG4gIEltYWdlQmFubmVyVjMgPSAnSW1hZ2VCYW5uZXJWMycsXG4gIFNpbmdsZUltYWdlUHJvbXB0VjMgPSAnU2luZ2xlSW1hZ2VQcm9tcHRWMycsXG4gIEZsb2F0aW5nQ2hhdFYzID0gJ0Zsb2F0aW5nQ2hhdFYzJyxcbiAgRmxvYXRpbmdCdXR0b25WMyA9ICdGbG9hdGluZ0J1dHRvblYzJyxcbiAgUHJvZHVjdENhcmRWMyA9ICdQcm9kdWN0Q2FyZFYzJyxcbiAgRnVsbFBhZ2VTYWxlc0FnZW50VjMgPSAnRnVsbFBhZ2VTYWxlc0FnZW50VjMnLFxufVxuXG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZVYzPiB7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gIHR5cGU6IFQ7XG4gIGNvbnRlbnRJZD86IHN0cmluZzsgLy8gV2lkZ2V0IElEXG59XG5cbmludGVyZmFjZSBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvbXB0Q2Fyb3VzZWxWMz4ge1xuICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICBhbmltYXRpb25TcGVlZD86IEFuaW1hdGlvblNwZWVkO1xufVxuXG5pbnRlcmZhY2UgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjM+IHtcbiAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgYW5pbWF0aW9uU3BlZWQ/OiBBbmltYXRpb25TcGVlZDtcbn1cbmludGVyZmFjZSBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuU29jaWFsUHJvb2ZWMz4ge1xuICBraW5kOiBXaWRnZXRLaW5kO1xuICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICBwcm9tcHRDYXJvdXNlbFJvd3M6IFByb21wdENhcm91c2VsUm93cztcbiAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgaW1hZ2VHYWxsZXJ5TGF5b3V0OiBFeGNsdWRlPEltYWdlR2FsbGVyeUxheW91dCwgJ1RXT19TSURFJz47XG4gIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xuICBwcmltYXJ5QnV0dG9uVmFyaWFudDogRXhjbHVkZTxQcm9tcHRCdXR0b25WYXJpYW50LCAnc3VnZ2VzdGVkUmVzcG9uc2UnIHwgJ2dob3N0Jz47XG4gIHNlY29uZGFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICBkeW5hbWljTGF5b3V0PzogRHluYW1pY0xheW91dDtcbiAgaW1hZ2VzPzogSW1hZ2VHYWxsZXJ5SW1hZ2VbXTtcbn1cblxuaW50ZXJmYWNlIFR5cGluZ0FuaW1hdGlvbldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuVHlwaW5nQW5pbWF0aW9uVjM+IHtcbiAgd2lkZ2V0VmFyaWFudD86IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICBjYXJkQ29sb3I/OiBzdHJpbmc7XG4gIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gIHNob3dUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5DaGF0UHJldmlld0NvbXBhcmlzb25WMz4ge1xuICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICBoaWRlSW1hZ2U/OiBib29sZWFuO1xuICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdMb2FkaW5nVjM+IHtcbiAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdWMz4ge1xuICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Qcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzPiB7XG4gIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICBpbWFnZT86IEltYWdlR2FsbGVyeUltYWdlO1xuICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgaXNEeW5hbWljPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuRmxvYXRpbmdDaGF0VjM+IHt9XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWMz4ge1xuICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgaXRhbGljaXplSGVhZGxpbmU/OiBib29sZWFuO1xuICBmYWxsYmFja0NvbG9yPzogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgbW9kZT86IE1vZGU7XG59XG5cbmludGVyZmFjZSBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkZ1bGxQYWdlU2FsZXNBZ2VudFYzPiB7XG4gIGhlYWRlckNvbnRhaW5lcj86IHN0cmluZztcbiAgYXV0b0hlaWdodD86IGJvb2xlYW47XG4gIHNwYXJrbGVDb2xvcj86IHN0cmluZztcbiAgdXNlQmFja2dyb3VuZEltYWdlPzogYm9vbGVhbjtcbiAgbW9iaWxlQmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICBkZXNrdG9wQmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHN1Z2dlc3Rpb25CdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbn1cblxudHlwZSBXaWRnZXRDb25maWdWMyA9XG4gIHwgUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZ1xuICB8IFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWdcbiAgfCBUaXRsZWRQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnXG4gIHwgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWdcbiAgfCBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZ1xuICB8IFR5cGluZ0FuaW1hdGlvbldpZGdldFYzQ29uZmlnXG4gIHwgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZ1xuICB8IFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWdcbiAgfCBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZ1xuICB8IFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWdcbiAgfCBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZztcblxuZXhwb3J0IHR5cGUge1xuICBDaGF0UHJldmlld0NvbXBhcmlzb25XaWRnZXRWM0NvbmZpZyxcbiAgQ2hhdFByZXZpZXdMb2FkaW5nV2lkZ2V0VjNDb25maWcsXG4gIENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWcsXG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBGbG9hdGluZ0J1dHRvbkNvbmZpZyxcbiAgRmxvYXRpbmdDaGF0Q29uZmlnLFxuICBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZyxcbiAgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcsXG4gIExvb2tBbmRGZWVsQ29uZmlnLFxuICBPcmdVSUNvbmZpZ1YzLFxuICBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnLFxuICBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVdpZGdldFYzQ29uZmlnLFxuICBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnLFxuICBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnLFxuICBTUEFTZXR0aW5ncyxcbiAgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyxcbiAgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcsXG4gIFdpZGdldENvbmZpZ1YzLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsSUFBWSxzRUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLGdFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSw0REFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLGdFQUFMO0FBQ0w7QUFDQTtBQUNBOzs7QUFHRixJQUFZLHNEQUFMO0FBQ0w7OztBQUdGLElBQVksa0VBQUw7QUFDTDs7O0FBR0YsSUFBWSxvRUFBTDtBQUNMOzs7QUFHRixJQUFrQiw4REFBWDtBQUNMLG9DQUFjLGlCQUFpQixXQUFXO0FBQzFDLHNDQUFnQixpQkFBaUIsV0FBVztBQUM1QyxtQ0FBYSxpQkFBaUIsV0FBVztBQUN6QyxpQ0FBVyxpQkFBaUIsV0FBVztBQUN2QyxrQ0FBWSxpQkFBaUIsV0FBVztBQUN4QywwQ0FBb0IsaUJBQWlCLFdBQVc7QUFDaEQsNENBQXNCLGlCQUFpQixXQUFXO0FBQ2xELDJDQUFxQixpQkFBaUIsV0FBVztBQUNqRCx1Q0FBaUIsaUJBQWlCLFdBQVc7QUFDN0Msd0NBQWtCLGlCQUFpQixXQUFXO0FBQzlDLG9DQUFjLGlCQUFpQixXQUFXO0FBQzFDLHFDQUFlLGlCQUFpQixXQUFXO0FBQzNDLG1DQUFhLGlCQUFpQixXQUFXO0FBQ3pDLHNDQUFnQixpQkFBaUIsV0FBVztBQUM1Qyx3Q0FBa0IsaUJBQWlCLFdBQVc7OztBQUdoRCxJQUFrQixnRUFBWDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQXlGRixJQUFZLGtFQUFMO0FBQ0w7QUFDQTs7O0FBcUZGLElBQVksd0RBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EifQ==
@@ -0,0 +1,3 @@
1
+ const require_useFocusTrap = require('./useFocusTrap.cjs');
2
+
3
+ exports.useFocusTrap = require_useFocusTrap.useFocusTrap;
@@ -0,0 +1,2 @@
1
+ import { useFocusTrap } from "./useFocusTrap.cjs";
2
+ export { useFocusTrap };
@@ -0,0 +1,2 @@
1
+ import { useFocusTrap } from "./useFocusTrap.js";
2
+ export { useFocusTrap };
@@ -0,0 +1,3 @@
1
+ import { useFocusTrap } from "./useFocusTrap.js";
2
+
3
+ export { useFocusTrap };
@@ -0,0 +1,105 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ let react = require("react");
3
+
4
+ //#region src/hooks/FocusTrap/useFocusTrap.ts
5
+ const FOCUSABLE_SELECTOR = [
6
+ "a[href]",
7
+ "button:not([disabled])",
8
+ "input:not([disabled]):not([type=\"hidden\"])",
9
+ "textarea:not([disabled])",
10
+ "select:not([disabled])",
11
+ "[tabindex]:not([tabindex=\"-1\"])"
12
+ ].join(",");
13
+ const isElementVisible = (el) => {
14
+ if (el.hasAttribute("hidden")) return false;
15
+ if (typeof window === "undefined") return true;
16
+ const style = window.getComputedStyle(el);
17
+ return style.display !== "none" && style.visibility !== "hidden";
18
+ };
19
+ const getFocusableElements = (container) => Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR)).filter(isElementVisible);
20
+ /**
21
+ * Returns the deepest active element across (possibly nested) shadow roots,
22
+ * starting from the document. Plain `document.activeElement` returns the shadow
23
+ * host when focus is inside an open shadow root, so we recurse into shadowRoot
24
+ * to find the truly focused element.
25
+ */
26
+ const getDeepActiveElement = () => {
27
+ if (typeof document === "undefined") return null;
28
+ let active = document.activeElement;
29
+ while (active && active.shadowRoot && active.shadowRoot.activeElement) active = active.shadowRoot.activeElement;
30
+ return active;
31
+ };
32
+ /**
33
+ * Trap keyboard focus inside `containerRef` while `enabled` is true.
34
+ *
35
+ * On enable: moves focus to the first focusable element inside the container.
36
+ * If the container is empty (e.g. lazy-loaded content), waits for DOM mutations
37
+ * and focuses the first focusable as soon as it appears.
38
+ *
39
+ * While enabled: Tab and Shift+Tab wrap around so focus stays inside.
40
+ *
41
+ * On disable: restores focus to the previously focused element if it is still
42
+ * present in the document.
43
+ */
44
+ const useFocusTrap = (containerRef, enabled) => {
45
+ (0, react.useEffect)(() => {
46
+ if (!enabled || typeof document === "undefined") return void 0;
47
+ const container = containerRef.current;
48
+ if (!container) return void 0;
49
+ const root = container.getRootNode();
50
+ const previouslyFocused = getDeepActiveElement();
51
+ const getActiveElement = () => root.activeElement;
52
+ const focusFirst = () => {
53
+ const first = getFocusableElements(container)[0];
54
+ if (first) {
55
+ first.focus();
56
+ return true;
57
+ }
58
+ return false;
59
+ };
60
+ let observer = null;
61
+ if (!focusFirst()) {
62
+ observer = new MutationObserver(() => {
63
+ if (focusFirst()) {
64
+ observer?.disconnect();
65
+ observer = null;
66
+ }
67
+ });
68
+ observer.observe(container, {
69
+ childList: true,
70
+ subtree: true
71
+ });
72
+ }
73
+ const handleKeyDown = (e) => {
74
+ if (e.key !== "Tab") return;
75
+ const focusables = getFocusableElements(container);
76
+ if (focusables.length === 0) {
77
+ e.preventDefault();
78
+ return;
79
+ }
80
+ const first = focusables[0];
81
+ const last = focusables[focusables.length - 1];
82
+ const active = getActiveElement();
83
+ const isInsideContainer = active ? container.contains(active) : false;
84
+ if (e.shiftKey) {
85
+ if (active === first || !isInsideContainer) {
86
+ e.preventDefault();
87
+ last.focus();
88
+ }
89
+ } else if (active === last || !isInsideContainer) {
90
+ e.preventDefault();
91
+ first.focus();
92
+ }
93
+ };
94
+ container.addEventListener("keydown", handleKeyDown);
95
+ return () => {
96
+ observer?.disconnect();
97
+ container.removeEventListener("keydown", handleKeyDown);
98
+ if (previouslyFocused && typeof previouslyFocused.focus === "function" && previouslyFocused.isConnected) previouslyFocused.focus();
99
+ };
100
+ }, [enabled, containerRef]);
101
+ };
102
+
103
+ //#endregion
104
+ exports.useFocusTrap = useFocusTrap;
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmNqcyIsIm5hbWVzIjpbIm9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9Gb2N1c1RyYXAvdXNlRm9jdXNUcmFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCBGT0NVU0FCTEVfU0VMRUNUT1IgPSBbXG4gICdhW2hyZWZdJyxcbiAgJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSknLFxuICAnaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbdHlwZT1cImhpZGRlblwiXSknLFxuICAndGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pJyxcbiAgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAnW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbl0uam9pbignLCcpO1xuXG5jb25zdCBpc0VsZW1lbnRWaXNpYmxlID0gKGVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xuICBpZiAoZWwuaGFzQXR0cmlidXRlKCdoaWRkZW4nKSkgcmV0dXJuIGZhbHNlO1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB0cnVlO1xuICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKTtcbiAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBzdHlsZS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJztcbn07XG5cbmNvbnN0IGdldEZvY3VzYWJsZUVsZW1lbnRzID0gKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFtdID0+XG4gIEFycmF5LmZyb20oY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KEZPQ1VTQUJMRV9TRUxFQ1RPUikpLmZpbHRlcihpc0VsZW1lbnRWaXNpYmxlKTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkZWVwZXN0IGFjdGl2ZSBlbGVtZW50IGFjcm9zcyAocG9zc2libHkgbmVzdGVkKSBzaGFkb3cgcm9vdHMsXG4gKiBzdGFydGluZyBmcm9tIHRoZSBkb2N1bWVudC4gUGxhaW4gYGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRgIHJldHVybnMgdGhlIHNoYWRvd1xuICogaG9zdCB3aGVuIGZvY3VzIGlzIGluc2lkZSBhbiBvcGVuIHNoYWRvdyByb290LCBzbyB3ZSByZWN1cnNlIGludG8gc2hhZG93Um9vdFxuICogdG8gZmluZCB0aGUgdHJ1bHkgZm9jdXNlZCBlbGVtZW50LlxuICovXG5jb25zdCBnZXREZWVwQWN0aXZlRWxlbWVudCA9ICgpOiBIVE1MRWxlbWVudCB8IG51bGwgPT4ge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGw7XG4gIGxldCBhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgd2hpbGUgKGFjdGl2ZSAmJiBhY3RpdmUuc2hhZG93Um9vdCAmJiBhY3RpdmUuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50KSB7XG4gICAgYWN0aXZlID0gYWN0aXZlLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuICByZXR1cm4gYWN0aXZlO1xufTtcblxuLyoqXG4gKiBUcmFwIGtleWJvYXJkIGZvY3VzIGluc2lkZSBgY29udGFpbmVyUmVmYCB3aGlsZSBgZW5hYmxlZGAgaXMgdHJ1ZS5cbiAqXG4gKiBPbiBlbmFibGU6IG1vdmVzIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci5cbiAqIElmIHRoZSBjb250YWluZXIgaXMgZW1wdHkgKGUuZy4gbGF6eS1sb2FkZWQgY29udGVudCksIHdhaXRzIGZvciBET00gbXV0YXRpb25zXG4gKiBhbmQgZm9jdXNlcyB0aGUgZmlyc3QgZm9jdXNhYmxlIGFzIHNvb24gYXMgaXQgYXBwZWFycy5cbiAqXG4gKiBXaGlsZSBlbmFibGVkOiBUYWIgYW5kIFNoaWZ0K1RhYiB3cmFwIGFyb3VuZCBzbyBmb2N1cyBzdGF5cyBpbnNpZGUuXG4gKlxuICogT24gZGlzYWJsZTogcmVzdG9yZXMgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IGlmIGl0IGlzIHN0aWxsXG4gKiBwcmVzZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUZvY3VzVHJhcCA9IChjb250YWluZXJSZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+LCBlbmFibGVkOiBib29sZWFuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIFRoZSBjb250YWluZXIgbWF5IGxpdmUgaW5zaWRlIGEgU2hhZG93IERPTSAodGhlIGluamVjdGlvbiBidW5kbGUgaG9zdHNcbiAgICAvLyB0aGUgY2hhdCB0aGF0IHdheSkuIFVzZSB0aGUgY29udGFpbmVyJ3Mgcm9vdCBzbyBjb250YWlubWVudCBjaGVja3MgYW5kXG4gICAgLy8gYWN0aXZlLWVsZW1lbnQgbG9va3VwcyB3b3JrIGJvdGggaW4gdGhlIGxpZ2h0IERPTSBhbmQgaW5zaWRlIHNoYWRvdyByb290cy5cbiAgICBjb25zdCByb290ID0gY29udGFpbmVyLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290O1xuICAgIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkID0gZ2V0RGVlcEFjdGl2ZUVsZW1lbnQoKTtcblxuICAgIGNvbnN0IGdldEFjdGl2ZUVsZW1lbnQgPSAoKTogSFRNTEVsZW1lbnQgfCBudWxsID0+IHJvb3QuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICBjb25zdCBmb2N1c0ZpcnN0ID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKGNvbnRhaW5lcik7XG4gICAgICBjb25zdCBmaXJzdCA9IGZvY3VzYWJsZXNbMF07XG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgZmlyc3QuZm9jdXMoKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcblxuICAgIGxldCBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICAgIGlmICghZm9jdXNGaXJzdCgpKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgaWYgKGZvY3VzRmlyc3QoKSkge1xuICAgICAgICAgIG9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgb2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyLCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSAhPT0gJ1RhYicpIHJldHVybjtcblxuICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKGNvbnRhaW5lcik7XG4gICAgICBpZiAoZm9jdXNhYmxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0ID0gZm9jdXNhYmxlc1swXTtcbiAgICAgIGNvbnN0IGxhc3QgPSBmb2N1c2FibGVzW2ZvY3VzYWJsZXMubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBhY3RpdmUgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgICBjb25zdCBpc0luc2lkZUNvbnRhaW5lciA9IGFjdGl2ZSA/IGNvbnRhaW5lci5jb250YWlucyhhY3RpdmUpIDogZmFsc2U7XG5cbiAgICAgIGlmIChlLnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChhY3RpdmUgPT09IGZpcnN0IHx8ICFpc0luc2lkZUNvbnRhaW5lcikge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBsYXN0LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoYWN0aXZlID09PSBsYXN0IHx8ICFpc0luc2lkZUNvbnRhaW5lcikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGZpcnN0LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93bik7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93bik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgcHJldmlvdXNseUZvY3VzZWQgJiZcbiAgICAgICAgdHlwZW9mIHByZXZpb3VzbHlGb2N1c2VkLmZvY3VzID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHByZXZpb3VzbHlGb2N1c2VkLmlzQ29ubmVjdGVkXG4gICAgICApIHtcbiAgICAgICAgcHJldmlvdXNseUZvY3VzZWQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbZW5hYmxlZCwgY29udGFpbmVyUmVmXSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxxQkFBcUI7Q0FDekI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0QsQ0FBQyxLQUFLLElBQUk7QUFFWCxNQUFNLG9CQUFvQixPQUE2QjtBQUNyRCxLQUFJLEdBQUcsYUFBYSxTQUFTLENBQUUsUUFBTztBQUN0QyxLQUFJLE9BQU8sV0FBVyxZQUFhLFFBQU87Q0FDMUMsTUFBTSxRQUFRLE9BQU8saUJBQWlCLEdBQUc7QUFDekMsUUFBTyxNQUFNLFlBQVksVUFBVSxNQUFNLGVBQWU7O0FBRzFELE1BQU0sd0JBQXdCLGNBQzVCLE1BQU0sS0FBSyxVQUFVLGlCQUE4QixtQkFBbUIsQ0FBQyxDQUFDLE9BQU8saUJBQWlCOzs7Ozs7O0FBUWxHLE1BQU0sNkJBQWlEO0FBQ3JELEtBQUksT0FBTyxhQUFhLFlBQWEsUUFBTztDQUM1QyxJQUFJLFNBQVMsU0FBUztBQUN0QixRQUFPLFVBQVUsT0FBTyxjQUFjLE9BQU8sV0FBVyxjQUN0RCxVQUFTLE9BQU8sV0FBVztBQUU3QixRQUFPOzs7Ozs7Ozs7Ozs7OztBQWVULE1BQWEsZ0JBQWdCLGNBQTZDLFlBQXFCO0FBQzdGLDRCQUFnQjtBQUNkLE1BQUksQ0FBQyxXQUFXLE9BQU8sYUFBYSxZQUFhLFFBQU87RUFFeEQsTUFBTSxZQUFZLGFBQWE7QUFDL0IsTUFBSSxDQUFDLFVBQVcsUUFBTztFQUt2QixNQUFNLE9BQU8sVUFBVSxhQUFhO0VBQ3BDLE1BQU0sb0JBQW9CLHNCQUFzQjtFQUVoRCxNQUFNLHlCQUE2QyxLQUFLO0VBRXhELE1BQU0sbUJBQTRCO0dBRWhDLE1BQU0sUUFEYSxxQkFBcUIsVUFBVSxDQUN6QjtBQUN6QixPQUFJLE9BQU87QUFDVCxVQUFNLE9BQU87QUFDYixXQUFPOztBQUVULFVBQU87O0VBR1QsSUFBSUEsV0FBb0M7QUFDeEMsTUFBSSxDQUFDLFlBQVksRUFBRTtBQUNqQixjQUFXLElBQUksdUJBQXVCO0FBQ3BDLFFBQUksWUFBWSxFQUFFO0FBQ2hCLGVBQVUsWUFBWTtBQUN0QixnQkFBVzs7S0FFYjtBQUNGLFlBQVMsUUFBUSxXQUFXO0lBQUUsV0FBVztJQUFNLFNBQVM7SUFBTSxDQUFDOztFQUdqRSxNQUFNLGlCQUFpQixNQUFxQjtBQUMxQyxPQUFJLEVBQUUsUUFBUSxNQUFPO0dBRXJCLE1BQU0sYUFBYSxxQkFBcUIsVUFBVTtBQUNsRCxPQUFJLFdBQVcsV0FBVyxHQUFHO0FBQzNCLE1BQUUsZ0JBQWdCO0FBQ2xCOztHQUdGLE1BQU0sUUFBUSxXQUFXO0dBQ3pCLE1BQU0sT0FBTyxXQUFXLFdBQVcsU0FBUztHQUM1QyxNQUFNLFNBQVMsa0JBQWtCO0dBQ2pDLE1BQU0sb0JBQW9CLFNBQVMsVUFBVSxTQUFTLE9BQU8sR0FBRztBQUVoRSxPQUFJLEVBQUUsVUFDSjtRQUFJLFdBQVcsU0FBUyxDQUFDLG1CQUFtQjtBQUMxQyxPQUFFLGdCQUFnQjtBQUNsQixVQUFLLE9BQU87O2NBRUwsV0FBVyxRQUFRLENBQUMsbUJBQW1CO0FBQ2hELE1BQUUsZ0JBQWdCO0FBQ2xCLFVBQU0sT0FBTzs7O0FBSWpCLFlBQVUsaUJBQWlCLFdBQVcsY0FBYztBQUVwRCxlQUFhO0FBQ1gsYUFBVSxZQUFZO0FBQ3RCLGFBQVUsb0JBQW9CLFdBQVcsY0FBYztBQUV2RCxPQUNFLHFCQUNBLE9BQU8sa0JBQWtCLFVBQVUsY0FDbkMsa0JBQWtCLFlBRWxCLG1CQUFrQixPQUFPOztJQUc1QixDQUFDLFNBQVMsYUFBYSxDQUFDIn0=
@@ -0,0 +1,20 @@
1
+ import { RefObject } from "react";
2
+
3
+ //#region src/hooks/FocusTrap/useFocusTrap.d.ts
4
+
5
+ /**
6
+ * Trap keyboard focus inside `containerRef` while `enabled` is true.
7
+ *
8
+ * On enable: moves focus to the first focusable element inside the container.
9
+ * If the container is empty (e.g. lazy-loaded content), waits for DOM mutations
10
+ * and focuses the first focusable as soon as it appears.
11
+ *
12
+ * While enabled: Tab and Shift+Tab wrap around so focus stays inside.
13
+ *
14
+ * On disable: restores focus to the previously focused element if it is still
15
+ * present in the document.
16
+ */
17
+ declare const useFocusTrap: (containerRef: RefObject<HTMLElement | null>, enabled: boolean) => void;
18
+ //#endregion
19
+ export { useFocusTrap };
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9Gb2N1c1RyYXAvdXNlRm9jdXNUcmFwLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBUcmFwIGtleWJvYXJkIGZvY3VzIGluc2lkZSBgY29udGFpbmVyUmVmYCB3aGlsZSBgZW5hYmxlZGAgaXMgdHJ1ZS5cbiAqXG4gKiBPbiBlbmFibGU6IG1vdmVzIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci5cbiAqIElmIHRoZSBjb250YWluZXIgaXMgZW1wdHkgKGUuZy4gbGF6eS1sb2FkZWQgY29udGVudCksIHdhaXRzIGZvciBET00gbXV0YXRpb25zXG4gKiBhbmQgZm9jdXNlcyB0aGUgZmlyc3QgZm9jdXNhYmxlIGFzIHNvb24gYXMgaXQgYXBwZWFycy5cbiAqXG4gKiBXaGlsZSBlbmFibGVkOiBUYWIgYW5kIFNoaWZ0K1RhYiB3cmFwIGFyb3VuZCBzbyBmb2N1cyBzdGF5cyBpbnNpZGUuXG4gKlxuICogT24gZGlzYWJsZTogcmVzdG9yZXMgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IGlmIGl0IGlzIHN0aWxsXG4gKiBwcmVzZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlRm9jdXNUcmFwOiAoY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPiwgZW5hYmxlZDogYm9vbGVhbikgPT4gdm9pZDtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBRSxlQUFBO0NBQUE7T0FBQTtPQUFBO0NBQUEifQ==
@@ -0,0 +1,20 @@
1
+ import { RefObject } from "react";
2
+
3
+ //#region src/hooks/FocusTrap/useFocusTrap.d.ts
4
+
5
+ /**
6
+ * Trap keyboard focus inside `containerRef` while `enabled` is true.
7
+ *
8
+ * On enable: moves focus to the first focusable element inside the container.
9
+ * If the container is empty (e.g. lazy-loaded content), waits for DOM mutations
10
+ * and focuses the first focusable as soon as it appears.
11
+ *
12
+ * While enabled: Tab and Shift+Tab wrap around so focus stays inside.
13
+ *
14
+ * On disable: restores focus to the previously focused element if it is still
15
+ * present in the document.
16
+ */
17
+ declare const useFocusTrap: (containerRef: RefObject<HTMLElement | null>, enabled: boolean) => void;
18
+ //#endregion
19
+ export { useFocusTrap };
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ZvY3VzVHJhcC91c2VGb2N1c1RyYXAuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG4vKipcbiAqIFRyYXAga2V5Ym9hcmQgZm9jdXMgaW5zaWRlIGBjb250YWluZXJSZWZgIHdoaWxlIGBlbmFibGVkYCBpcyB0cnVlLlxuICpcbiAqIE9uIGVuYWJsZTogbW92ZXMgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyLlxuICogSWYgdGhlIGNvbnRhaW5lciBpcyBlbXB0eSAoZS5nLiBsYXp5LWxvYWRlZCBjb250ZW50KSwgd2FpdHMgZm9yIERPTSBtdXRhdGlvbnNcbiAqIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBmb2N1c2FibGUgYXMgc29vbiBhcyBpdCBhcHBlYXJzLlxuICpcbiAqIFdoaWxlIGVuYWJsZWQ6IFRhYiBhbmQgU2hpZnQrVGFiIHdyYXAgYXJvdW5kIHNvIGZvY3VzIHN0YXlzIGluc2lkZS5cbiAqXG4gKiBPbiBkaXNhYmxlOiByZXN0b3JlcyBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgaWYgaXQgaXMgc3RpbGxcbiAqIHByZXNlbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VGb2N1c1RyYXA6IChjb250YWluZXJSZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+LCBlbmFibGVkOiBib29sZWFuKSA9PiB2b2lkO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFFLGVBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -0,0 +1,104 @@
1
+ import { useEffect } from "react";
2
+
3
+ //#region src/hooks/FocusTrap/useFocusTrap.ts
4
+ const FOCUSABLE_SELECTOR = [
5
+ "a[href]",
6
+ "button:not([disabled])",
7
+ "input:not([disabled]):not([type=\"hidden\"])",
8
+ "textarea:not([disabled])",
9
+ "select:not([disabled])",
10
+ "[tabindex]:not([tabindex=\"-1\"])"
11
+ ].join(",");
12
+ const isElementVisible = (el) => {
13
+ if (el.hasAttribute("hidden")) return false;
14
+ if (typeof window === "undefined") return true;
15
+ const style = window.getComputedStyle(el);
16
+ return style.display !== "none" && style.visibility !== "hidden";
17
+ };
18
+ const getFocusableElements = (container) => Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR)).filter(isElementVisible);
19
+ /**
20
+ * Returns the deepest active element across (possibly nested) shadow roots,
21
+ * starting from the document. Plain `document.activeElement` returns the shadow
22
+ * host when focus is inside an open shadow root, so we recurse into shadowRoot
23
+ * to find the truly focused element.
24
+ */
25
+ const getDeepActiveElement = () => {
26
+ if (typeof document === "undefined") return null;
27
+ let active = document.activeElement;
28
+ while (active && active.shadowRoot && active.shadowRoot.activeElement) active = active.shadowRoot.activeElement;
29
+ return active;
30
+ };
31
+ /**
32
+ * Trap keyboard focus inside `containerRef` while `enabled` is true.
33
+ *
34
+ * On enable: moves focus to the first focusable element inside the container.
35
+ * If the container is empty (e.g. lazy-loaded content), waits for DOM mutations
36
+ * and focuses the first focusable as soon as it appears.
37
+ *
38
+ * While enabled: Tab and Shift+Tab wrap around so focus stays inside.
39
+ *
40
+ * On disable: restores focus to the previously focused element if it is still
41
+ * present in the document.
42
+ */
43
+ const useFocusTrap = (containerRef, enabled) => {
44
+ useEffect(() => {
45
+ if (!enabled || typeof document === "undefined") return void 0;
46
+ const container = containerRef.current;
47
+ if (!container) return void 0;
48
+ const root = container.getRootNode();
49
+ const previouslyFocused = getDeepActiveElement();
50
+ const getActiveElement = () => root.activeElement;
51
+ const focusFirst = () => {
52
+ const first = getFocusableElements(container)[0];
53
+ if (first) {
54
+ first.focus();
55
+ return true;
56
+ }
57
+ return false;
58
+ };
59
+ let observer = null;
60
+ if (!focusFirst()) {
61
+ observer = new MutationObserver(() => {
62
+ if (focusFirst()) {
63
+ observer?.disconnect();
64
+ observer = null;
65
+ }
66
+ });
67
+ observer.observe(container, {
68
+ childList: true,
69
+ subtree: true
70
+ });
71
+ }
72
+ const handleKeyDown = (e) => {
73
+ if (e.key !== "Tab") return;
74
+ const focusables = getFocusableElements(container);
75
+ if (focusables.length === 0) {
76
+ e.preventDefault();
77
+ return;
78
+ }
79
+ const first = focusables[0];
80
+ const last = focusables[focusables.length - 1];
81
+ const active = getActiveElement();
82
+ const isInsideContainer = active ? container.contains(active) : false;
83
+ if (e.shiftKey) {
84
+ if (active === first || !isInsideContainer) {
85
+ e.preventDefault();
86
+ last.focus();
87
+ }
88
+ } else if (active === last || !isInsideContainer) {
89
+ e.preventDefault();
90
+ first.focus();
91
+ }
92
+ };
93
+ container.addEventListener("keydown", handleKeyDown);
94
+ return () => {
95
+ observer?.disconnect();
96
+ container.removeEventListener("keydown", handleKeyDown);
97
+ if (previouslyFocused && typeof previouslyFocused.focus === "function" && previouslyFocused.isConnected) previouslyFocused.focus();
98
+ };
99
+ }, [enabled, containerRef]);
100
+ };
101
+
102
+ //#endregion
103
+ export { useFocusTrap };
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmpzIiwibmFtZXMiOlsib2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ZvY3VzVHJhcC91c2VGb2N1c1RyYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IEZPQ1VTQUJMRV9TRUxFQ1RPUiA9IFtcbiAgJ2FbaHJlZl0nLFxuICAnYnV0dG9uOm5vdChbZGlzYWJsZWRdKScsXG4gICdpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0eXBlPVwiaGlkZGVuXCJdKScsXG4gICd0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSknLFxuICAnc2VsZWN0Om5vdChbZGlzYWJsZWRdKScsXG4gICdbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknLFxuXS5qb2luKCcsJyk7XG5cbmNvbnN0IGlzRWxlbWVudFZpc2libGUgPSAoZWw6IEhUTUxFbGVtZW50KTogYm9vbGVhbiA9PiB7XG4gIGlmIChlbC5oYXNBdHRyaWJ1dGUoJ2hpZGRlbicpKSByZXR1cm4gZmFsc2U7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHRydWU7XG4gIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpO1xuICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmIHN0eWxlLnZpc2liaWxpdHkgIT09ICdoaWRkZW4nO1xufTtcblxuY29uc3QgZ2V0Rm9jdXNhYmxlRWxlbWVudHMgPSAoY29udGFpbmVyOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50W10gPT5cbiAgQXJyYXkuZnJvbShjb250YWluZXIucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oRk9DVVNBQkxFX1NFTEVDVE9SKSkuZmlsdGVyKGlzRWxlbWVudFZpc2libGUpO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGRlZXBlc3QgYWN0aXZlIGVsZW1lbnQgYWNyb3NzIChwb3NzaWJseSBuZXN0ZWQpIHNoYWRvdyByb290cyxcbiAqIHN0YXJ0aW5nIGZyb20gdGhlIGRvY3VtZW50LiBQbGFpbiBgZG9jdW1lbnQuYWN0aXZlRWxlbWVudGAgcmV0dXJucyB0aGUgc2hhZG93XG4gKiBob3N0IHdoZW4gZm9jdXMgaXMgaW5zaWRlIGFuIG9wZW4gc2hhZG93IHJvb3QsIHNvIHdlIHJlY3Vyc2UgaW50byBzaGFkb3dSb290XG4gKiB0byBmaW5kIHRoZSB0cnVseSBmb2N1c2VkIGVsZW1lbnQuXG4gKi9cbmNvbnN0IGdldERlZXBBY3RpdmVFbGVtZW50ID0gKCk6IEhUTUxFbGVtZW50IHwgbnVsbCA9PiB7XG4gIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcbiAgbGV0IGFjdGl2ZSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICB3aGlsZSAoYWN0aXZlICYmIGFjdGl2ZS5zaGFkb3dSb290ICYmIGFjdGl2ZS5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICBhY3RpdmUgPSBhY3RpdmUuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICB9XG4gIHJldHVybiBhY3RpdmU7XG59O1xuXG4vKipcbiAqIFRyYXAga2V5Ym9hcmQgZm9jdXMgaW5zaWRlIGBjb250YWluZXJSZWZgIHdoaWxlIGBlbmFibGVkYCBpcyB0cnVlLlxuICpcbiAqIE9uIGVuYWJsZTogbW92ZXMgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyLlxuICogSWYgdGhlIGNvbnRhaW5lciBpcyBlbXB0eSAoZS5nLiBsYXp5LWxvYWRlZCBjb250ZW50KSwgd2FpdHMgZm9yIERPTSBtdXRhdGlvbnNcbiAqIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBmb2N1c2FibGUgYXMgc29vbiBhcyBpdCBhcHBlYXJzLlxuICpcbiAqIFdoaWxlIGVuYWJsZWQ6IFRhYiBhbmQgU2hpZnQrVGFiIHdyYXAgYXJvdW5kIHNvIGZvY3VzIHN0YXlzIGluc2lkZS5cbiAqXG4gKiBPbiBkaXNhYmxlOiByZXN0b3JlcyBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgaWYgaXQgaXMgc3RpbGxcbiAqIHByZXNlbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG5leHBvcnQgY29uc3QgdXNlRm9jdXNUcmFwID0gKGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD4sIGVuYWJsZWQ6IGJvb2xlYW4pID0+IHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghY29udGFpbmVyKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gVGhlIGNvbnRhaW5lciBtYXkgbGl2ZSBpbnNpZGUgYSBTaGFkb3cgRE9NICh0aGUgaW5qZWN0aW9uIGJ1bmRsZSBob3N0c1xuICAgIC8vIHRoZSBjaGF0IHRoYXQgd2F5KS4gVXNlIHRoZSBjb250YWluZXIncyByb290IHNvIGNvbnRhaW5tZW50IGNoZWNrcyBhbmRcbiAgICAvLyBhY3RpdmUtZWxlbWVudCBsb29rdXBzIHdvcmsgYm90aCBpbiB0aGUgbGlnaHQgRE9NIGFuZCBpbnNpZGUgc2hhZG93IHJvb3RzLlxuICAgIGNvbnN0IHJvb3QgPSBjb250YWluZXIuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3Q7XG4gICAgY29uc3QgcHJldmlvdXNseUZvY3VzZWQgPSBnZXREZWVwQWN0aXZlRWxlbWVudCgpO1xuXG4gICAgY29uc3QgZ2V0QWN0aXZlRWxlbWVudCA9ICgpOiBIVE1MRWxlbWVudCB8IG51bGwgPT4gcm9vdC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgIGNvbnN0IGZvY3VzRmlyc3QgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoY29udGFpbmVyKTtcbiAgICAgIGNvbnN0IGZpcnN0ID0gZm9jdXNhYmxlc1swXTtcbiAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICBmaXJzdC5mb2N1cygpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgbGV0IG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKCFmb2N1c0ZpcnN0KCkpIHtcbiAgICAgIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBpZiAoZm9jdXNGaXJzdCgpKSB7XG4gICAgICAgICAgb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBvYnNlcnZlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ICE9PSAnVGFiJykgcmV0dXJuO1xuXG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoY29udGFpbmVyKTtcbiAgICAgIGlmIChmb2N1c2FibGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlyc3QgPSBmb2N1c2FibGVzWzBdO1xuICAgICAgY29uc3QgbGFzdCA9IGZvY3VzYWJsZXNbZm9jdXNhYmxlcy5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGFjdGl2ZSA9IGdldEFjdGl2ZUVsZW1lbnQoKTtcbiAgICAgIGNvbnN0IGlzSW5zaWRlQ29udGFpbmVyID0gYWN0aXZlID8gY29udGFpbmVyLmNvbnRhaW5zKGFjdGl2ZSkgOiBmYWxzZTtcblxuICAgICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgICAgaWYgKGFjdGl2ZSA9PT0gZmlyc3QgfHwgIWlzSW5zaWRlQ29udGFpbmVyKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGxhc3QuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChhY3RpdmUgPT09IGxhc3QgfHwgIWlzSW5zaWRlQ29udGFpbmVyKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZmlyc3QuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcblxuICAgICAgaWYgKFxuICAgICAgICBwcmV2aW91c2x5Rm9jdXNlZCAmJlxuICAgICAgICB0eXBlb2YgcHJldmlvdXNseUZvY3VzZWQuZm9jdXMgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgcHJldmlvdXNseUZvY3VzZWQuaXNDb25uZWN0ZWRcbiAgICAgICkge1xuICAgICAgICBwcmV2aW91c2x5Rm9jdXNlZC5mb2N1cygpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtlbmFibGVkLCBjb250YWluZXJSZWZdKTtcbn07XG4iXSwibWFwcGluZ3Mi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
@@ -1,8 +1,8 @@
1
- import * as react0 from "react";
1
+ import * as react1 from "react";
2
2
 
3
3
  //#region src/hooks/GrabAndScroll/useGrabAndScroll.d.ts
4
4
  declare const useGrabAndScroll: (enabled: boolean, chunkWidth: number, speed?: number, offset?: number) => {
5
- containerRef: react0.RefObject<HTMLDivElement | null>;
5
+ containerRef: react1.RefObject<HTMLDivElement | null>;
6
6
  leftArrow: boolean;
7
7
  rightArrow: boolean;
8
8
  animationTrigger: () => void;
@@ -1,12 +1,12 @@
1
1
  import { GenerationParams } from "../../application/models/api/generationParams.cjs";
2
- import * as react1 from "react";
2
+ import * as react0 from "react";
3
3
 
4
4
  //#region src/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts
5
5
  declare const useSystemSettingsContext: () => {
6
6
  generationParams?: GenerationParams;
7
7
  showDebugBar?: boolean;
8
8
  endpointURL?: string;
9
- setGenerationParams: react1.Dispatch<react1.SetStateAction<GenerationParams | undefined>>;
9
+ setGenerationParams: react0.Dispatch<react0.SetStateAction<GenerationParams | undefined>>;
10
10
  };
11
11
  //#endregion
12
12
  export { useSystemSettingsContext };
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsU0FBUyxlQUFlO0FBQ2hFLElBQVcsdUJBQXVCLENBQUMsU0FBUyxVQUFVO0FBQ3RELElBQVcsdUJBQXVCO0NBQUM7T0FBUztPQUFrQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxFQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsRUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVM7T0FBb0I7Q0FBbUIifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsVUFBVSxlQUFlO0FBQ2pFLElBQVcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO0FBQ3ZELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxHQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsR0FBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVU7T0FBb0I7Q0FBbUIifQ==
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxTQUFTLGVBQWU7QUFDaEUsSUFBVyx1QkFBdUIsQ0FBQyxTQUFTLFVBQVU7QUFDdEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFTO09BQWtCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEVBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxFQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBUztPQUFvQjtDQUFtQiJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLGVBQWU7QUFDbEUsSUFBVyx1QkFBdUIsQ0FBQyxXQUFXLFVBQVU7QUFDeEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLElBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFvQjtDQUFtQiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envive-ai/react-hooks",
3
- "version": "0.3.40",
3
+ "version": "0.3.42",
4
4
  "description": "React hooks for connecting to Envive AI services.",
5
5
  "keywords": [
6
6
  "react",
@@ -306,6 +306,10 @@
306
306
  "import": "./dist/hooks/ElementObserver/index.js",
307
307
  "require": "./dist/hooks/ElementObserver/index.cjs"
308
308
  },
309
+ "./hooks/FocusTrap": {
310
+ "import": "./dist/hooks/FocusTrap/index.js",
311
+ "require": "./dist/hooks/FocusTrap/index.cjs"
312
+ },
309
313
  "./hooks/GrabAndScroll": {
310
314
  "import": "./dist/hooks/GrabAndScroll/index.js",
311
315
  "require": "./dist/hooks/GrabAndScroll/index.cjs"
@@ -71,6 +71,7 @@ export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({ children }
71
71
  --${ColorsNamesVars.AccentSecondary}: ${colorsConfig.accentSecondary};
72
72
 
73
73
  --${ButtonColorsVars.LightButtonBackgroundColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.lightButtonBackgroundColor};
74
+ ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.lightButtonBorderColor ? `--${ButtonColorsVars.LightButtonBorderColor}: ${configV3.uiConfigs.lookAndFeel.buttonColors.lightButtonBorderColor};` : ''}
74
75
  --${ButtonColorsVars.LightButtonIconColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.lightButtonIconColor};
75
76
  --${ButtonColorsVars.DarkButtonBackgroundColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.darkButtonBackgroundColor};
76
77
  --${ButtonColorsVars.DarkButtonIconColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.darkButtonIconColor};
@@ -103,6 +103,7 @@ export const enum ColorsNamesVars {
103
103
 
104
104
  export const enum ButtonColorsVars {
105
105
  LightButtonBackgroundColor = 'envive-colors-button-light-background-color',
106
+ LightButtonBorderColor = 'envive-colors-button-light-border-color',
106
107
  LightButtonIconColor = 'envive-colors-button-light-icon-color',
107
108
  DarkButtonBackgroundColor = 'envive-colors-button-dark-background-color',
108
109
  DarkButtonIconColor = 'envive-colors-button-dark-icon-color',
@@ -112,6 +113,7 @@ type ImageAspectRatio = '1/1' | '3/4';
112
113
 
113
114
  type ButtonColors = {
114
115
  lightButtonBackgroundColor: string;
116
+ lightButtonBorderColor?: string;
115
117
  lightButtonIconColor: string;
116
118
  darkButtonBackgroundColor: string;
117
119
  darkButtonIconColor: string;