@topwrite/reader 1.0.68-alpha.4 → 1.0.68

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 (108) hide show
  1. package/dist/267-efd799.js +1 -0
  2. package/dist/387-f82649.js +2 -0
  3. package/dist/387-f82649.js.map +1 -0
  4. package/dist/449-ad0329.js +2 -0
  5. package/dist/{809-2eaa99.js.map → 449-ad0329.js.map} +1 -1
  6. package/dist/454-b0e4b2.js +2 -0
  7. package/dist/{843-6bc79e.js.map → 454-b0e4b2.js.map} +1 -1
  8. package/dist/561-70f145.js +8 -0
  9. package/dist/561-70f145.js.map +1 -0
  10. package/dist/659-ecffed.js +2 -0
  11. package/dist/659-ecffed.js.map +1 -0
  12. package/dist/7-b07a36.js +1 -0
  13. package/dist/index.js +335 -16
  14. package/dist/index.js.map +1 -1
  15. package/package.json +3 -3
  16. package/types/components/anchor.d.ts +7 -7
  17. package/types/components/app.d.ts +1 -1
  18. package/types/components/article.d.ts +8 -8
  19. package/types/components/asset.d.ts +6 -6
  20. package/types/components/breadcrumb.d.ts +8 -8
  21. package/types/components/catalog.d.ts +35 -35
  22. package/types/components/html/a.d.ts +2 -2
  23. package/types/components/html/attachment.d.ts +2 -2
  24. package/types/components/html/audio.d.ts +2 -2
  25. package/types/components/html/img.d.ts +2 -2
  26. package/types/components/html/video.d.ts +2 -2
  27. package/types/components/link.d.ts +7 -7
  28. package/types/components/loading-bar/index.d.ts +1 -1
  29. package/types/components/loading-bar/loading-bar.d.ts +2 -2
  30. package/types/components/logo.d.ts +6 -6
  31. package/types/components/markdown.d.ts +5 -5
  32. package/types/components/menu.d.ts +14 -14
  33. package/types/components/nav-link.d.ts +7 -7
  34. package/types/components/page-loader.d.ts +1 -1
  35. package/types/components/page.d.ts +1 -1
  36. package/types/components/powered-by.d.ts +5 -5
  37. package/types/components/search/ask-box/form.d.ts +5 -5
  38. package/types/components/search/ask-box/index.d.ts +5 -5
  39. package/types/components/search/ask-box/screens/error-screen.d.ts +1 -1
  40. package/types/components/search/ask-box/screens/start-screen.d.ts +1 -1
  41. package/types/components/search/ask-box/state.d.ts +5 -5
  42. package/types/components/search/constants.d.ts +1 -1
  43. package/types/components/search/doc-search-button.d.ts +3 -3
  44. package/types/components/search/doc-search-modal.d.ts +4 -4
  45. package/types/components/search/doc-search.d.ts +8 -8
  46. package/types/components/search/footer.d.ts +1 -1
  47. package/types/components/search/hooks/use-keyboard-events.d.ts +9 -9
  48. package/types/components/search/hooks/use-trap-focus.d.ts +5 -5
  49. package/types/components/search/icons/ask-icon.d.ts +1 -1
  50. package/types/components/search/icons/content-icon.d.ts +1 -1
  51. package/types/components/search/icons/control-key-icon.d.ts +1 -1
  52. package/types/components/search/icons/error-icon.d.ts +1 -1
  53. package/types/components/search/icons/go-to-external-icon.d.ts +1 -1
  54. package/types/components/search/icons/index.d.ts +12 -12
  55. package/types/components/search/icons/loading-icon.d.ts +1 -1
  56. package/types/components/search/icons/no-results-icon.d.ts +1 -1
  57. package/types/components/search/icons/recent-icon.d.ts +1 -1
  58. package/types/components/search/icons/reset-icon.d.ts +1 -1
  59. package/types/components/search/icons/search-icon.d.ts +1 -1
  60. package/types/components/search/icons/select-icon.d.ts +1 -1
  61. package/types/components/search/icons/star-icon.d.ts +1 -1
  62. package/types/components/search/index.d.ts +2 -2
  63. package/types/components/search/mode-provider.d.ts +5 -5
  64. package/types/components/search/search-box/form.d.ts +5 -5
  65. package/types/components/search/search-box/index.d.ts +5 -5
  66. package/types/components/search/search-box/results.d.ts +13 -13
  67. package/types/components/search/search-box/screens/error-screen.d.ts +1 -1
  68. package/types/components/search/search-box/screens/no-result-screen.d.ts +1 -1
  69. package/types/components/search/search-box/screens/results-screen.d.ts +13 -13
  70. package/types/components/search/search-box/screens/start-screen.d.ts +5 -5
  71. package/types/components/search/search-box/state.d.ts +7 -7
  72. package/types/components/to-first-article.d.ts +2 -2
  73. package/types/hello.d.ts +1 -1
  74. package/types/index.d.ts +29 -28
  75. package/types/lib/bootstrap.d.ts +3 -3
  76. package/types/lib/date.d.ts +6 -6
  77. package/types/lib/extend-entities.d.ts +6 -6
  78. package/types/lib/history.d.ts +18 -18
  79. package/types/lib/use-article.d.ts +7 -7
  80. package/types/lib/use-asset-url.d.ts +1 -1
  81. package/types/lib/use-asset.d.ts +4 -4
  82. package/types/lib/use-css.d.ts +8 -8
  83. package/types/lib/use-file.d.ts +1 -1
  84. package/types/lib/use-in-preview.d.ts +1 -1
  85. package/types/lib/use-lock-body-scroll.d.ts +1 -1
  86. package/types/lib/use-logo.d.ts +7 -7
  87. package/types/lib/use-title.d.ts +1 -1
  88. package/types/lib/use-window-scroll.d.ts +2 -2
  89. package/types/lib/use-window-size.d.ts +4 -4
  90. package/types/models/ask.d.ts +18 -18
  91. package/types/models/book.d.ts +5 -5
  92. package/types/models/index.d.ts +4 -4
  93. package/types/models/page.d.ts +28 -28
  94. package/types/models/search.d.ts +22 -22
  95. package/types/typings.d.ts +39 -39
  96. package/dist/267-b06d72.js +0 -1
  97. package/dist/387-02d8b5.js +0 -2
  98. package/dist/387-02d8b5.js.map +0 -1
  99. package/dist/452-089cc0.js +0 -8
  100. package/dist/452-089cc0.js.map +0 -1
  101. package/dist/7-646b8c.js +0 -1
  102. package/dist/809-2eaa99.js +0 -2
  103. package/dist/843-6bc79e.js +0 -2
  104. package/dist/945-956f08.js +0 -2
  105. package/dist/945-956f08.js.map +0 -1
  106. /package/dist/{809.css → 449.css} +0 -0
  107. /package/dist/{843.css → 454.css} +0 -0
  108. /package/dist/{945.css → 659.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"843-6bc79e.js","mappings":"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","sources":["webpack://@topwrite/reader/./src/components/search/icons/loading-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/reset-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/search-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/select-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/content-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/error-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/no-results-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/control-key-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/ask-icon.tsx","webpack://@topwrite/reader/./src/components/search/doc-search-button.tsx","webpack://@topwrite/reader/./src/components/search/mode-provider.tsx","webpack://@topwrite/reader/./src/components/search/footer.tsx","webpack://@topwrite/reader/./src/components/search/constants.ts","webpack://@topwrite/reader/./src/components/search/search-box/form.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/error-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/start-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/no-result-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/results.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/results-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/state.tsx","webpack://@topwrite/reader/./src/components/search/search-box/index.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/form.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/screens/start-screen.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/state.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/index.tsx","webpack://@topwrite/reader/./src/components/search/doc-search-modal.tsx","webpack://@topwrite/reader/./src/components/search/hooks/use-trap-focus.ts","webpack://@topwrite/reader/./src/components/search/doc-search.tsx","webpack://@topwrite/reader/./src/components/search/hooks/use-keyboard-events.ts","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/delete-property-or-throw.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-ff-version.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-webkit-version.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/modules/es.array.sort.js"],"sourcesContent":["export function LoadingIcon() {\r\n return (\r\n <svg viewBox='0 0 38 38' stroke='currentColor' strokeOpacity='.5'>\r\n <g fill='none' fillRule='evenodd'>\r\n <g transform='translate(1 1)' strokeWidth='2'>\r\n <circle strokeOpacity='.3' cx='18' cy='18' r='18' />\r\n <path d='M36 18c0-9.94-8.06-18-18-18'>\r\n <animateTransform\r\n attributeName='transform'\r\n type='rotate'\r\n from='0 18 18'\r\n to='360 18 18'\r\n dur='1s'\r\n repeatCount='indefinite'\r\n />\r\n </path>\r\n </g>\r\n </g>\r\n </svg>\r\n );\r\n}\r\n","export function ResetIcon() {\r\n return (\r\n <svg width='20' height='20' viewBox='0 0 20 20'>\r\n <path\r\n d='M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function SearchIcon() {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n className='DocSearch-Search-Icon'\r\n viewBox='0 0 20 20'\r\n >\r\n <path\r\n d='M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function SelectIcon() {\r\n return (\r\n <svg\r\n className='DocSearch-Hit-Select-Icon'\r\n width='20'\r\n height='20'\r\n viewBox='0 0 20 20'\r\n >\r\n <g\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path d='M18 3v4c0 2-2 4-4 4H2' />\r\n <path d='M8 17l-6-6 6-6' />\r\n </g>\r\n </svg>\r\n );\r\n}\r\n","export function ContentIcon() {\r\n return (\r\n <svg width='20' height='20' viewBox='0 0 20 20'>\r\n <path\r\n d='M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function ErrorIcon() {\r\n return (\r\n <svg\r\n width='40'\r\n height='40'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n fillRule='evenodd'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path\r\n d='M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0'></path>\r\n </svg>\r\n );\r\n}\r\n","export function NoResultsIcon() {\r\n return (\r\n <svg\r\n width='40'\r\n height='40'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n fillRule='evenodd'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path\r\n d='M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2'></path>\r\n </svg>\r\n );\r\n}\r\n","export function ControlKeyIcon() {\r\n return (\r\n <svg width='15' height='15' className='DocSearch-Control-Key-Icon'>\r\n <path\r\n d='M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953'\r\n strokeWidth='1.2'\r\n stroke='currentColor'\r\n fill='none'\r\n strokeLinecap='square'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function AskIcon() {\r\n return <svg width='16' height='16' viewBox='0 0 16 16' fill='none' preserveAspectRatio='xMidYMid meet'>\r\n <path fillRule='evenodd' clipRule='evenodd' d='M8 2.491A1.246 1.246 0 108 0a1.246 1.246 0 000 2.491zm0 2.436a.858.858 0 100-1.716.858.858 0 000 1.716zm.858 7.004a.858.858 0 11-1.716 0 .858.858 0 011.716 0zM11.073 8a.858.858 0 101.716 0 .858.858 0 00-1.716 0zm-7.004.858a.858.858 0 110-1.716.858.858 0 010 1.716zm6.104-3.03a.858.858 0 101.213-1.214.858.858 0 00-1.213 1.213zm-4.346 5.558a.858.858 0 11-1.213-1.213.858.858 0 011.213 1.213zm4.346-1.213a.858.858 0 101.213 1.213.858.858 0 00-1.213-1.213zm-5.56-4.346a.858.858 0 111.214-1.213.858.858 0 01-1.213 1.213zM8 16a1.246 1.246 0 100-2.491A1.246 1.246 0 008 16zm6.754-6.754a1.246 1.246 0 110-2.492 1.246 1.246 0 010 2.492zM0 8a1.246 1.246 0 102.491 0A1.246 1.246 0 000 8zm14.472-2.298a1.246 1.246 0 11-1.245-2.158 1.246 1.246 0 011.245 2.158zM1.072 12a1.246 1.246 0 102.157-1.246A1.246 1.246 0 001.072 12zm9.226 2.472a1.246 1.246 0 112.158-1.245 1.246 1.246 0 01-2.158 1.245zM4 1.072a1.246 1.246 0 101.246 2.157A1.246 1.246 0 004 1.072zm8.456 1.701a1.246 1.246 0 11-2.158-1.245 1.246 1.246 0 012.158 1.245zM4 14.928a1.246 1.246 0 101.246-2.158A1.246 1.246 0 004 14.928zm9.226-2.472a1.246 1.246 0 111.246-2.157 1.246 1.246 0 01-1.245 2.157zM1.072 4a1.246 1.246 0 102.157 1.246A1.246 1.246 0 001.072 4z' fill='currentColor'></path>\r\n </svg>;\r\n}\r\n","import { ComponentProps, forwardRef, useEffect, useState } from 'react';\r\nimport { ControlKeyIcon, SearchIcon } from './icons';\r\nimport { styled, useIntl } from '@topwrite/common';\r\n\r\nexport type DocSearchButtonProps = ComponentProps<'button'>\r\n\r\nconst ACTION_KEY_DEFAULT = 'Ctrl' as const;\r\nconst ACTION_KEY_APPLE = '⌘' as const;\r\n\r\nfunction isAppleDevice() {\r\n return /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\r\n}\r\n\r\nexport const DocSearchButton = forwardRef<HTMLButtonElement, DocSearchButtonProps>(({ className, ...props }, ref) => {\r\n const [key, setKey] = useState<typeof ACTION_KEY_APPLE | typeof ACTION_KEY_DEFAULT | null>(null);\r\n\r\n useEffect(() => {\r\n if (typeof navigator !== 'undefined') {\r\n setKey(isAppleDevice() ? ACTION_KEY_APPLE : ACTION_KEY_DEFAULT);\r\n }\r\n }, []);\r\n\r\n const intl = useIntl();\r\n\r\n return <Button\r\n type='button'\r\n className='DocSearch DocSearch-Button'\r\n {...props}\r\n ref={ref}\r\n >\r\n <span className='DocSearch-Button-Container'>\r\n <SearchIcon />\r\n <span className='DocSearch-Button-Placeholder'>{intl.$t({ defaultMessage: '搜索' })}</span>\r\n </span>\r\n {key !== null && (\r\n <span className='DocSearch-Button-Keys'>\r\n <span className='DocSearch-Button-Key'>\r\n {key === ACTION_KEY_DEFAULT ? <ControlKeyIcon /> : key}\r\n </span>\r\n <span className='DocSearch-Button-Key'>K</span>\r\n </span>\r\n )}\r\n </Button>;\r\n});\r\n\r\nconst Button = styled.button`\r\n .DocSearch-Button-Keys {\r\n min-width: 0;\r\n padding: .125rem .25rem;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: .25rem;\r\n }\r\n\r\n .DocSearch-Button-Key {\r\n top: 1px;\r\n width: auto;\r\n height: 1.25rem;\r\n padding-right: .125rem;\r\n padding-left: .125rem;\r\n margin-right: 0;\r\n font-size: .875rem;\r\n background: none;\r\n box-shadow: none;\r\n }\r\n`\r\n","import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState } from 'react';\r\n\r\nconst Context = createContext<[string, Dispatch<SetStateAction<string>>]>(['search', () => (void 0)]);\r\n\r\nexport default function({ children }: { children: ReactNode }) {\r\n const [mode, setMode] = useState('search');\r\n\r\n return <Context.Provider value={[mode, setMode]}>\r\n {children}\r\n </Context.Provider>;\r\n}\r\n\r\nexport const useMode = () => {\r\n return useContext(Context);\r\n};\r\n","import React from 'react';\r\nimport { css, styled, useIntl, useSelector } from '@topwrite/common';\r\nimport { useMode } from './mode-provider';\r\n\r\ninterface CommandIconProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction CommandIcon(props: CommandIconProps) {\r\n return <svg width='15' height='15'>\r\n <g\r\n fill='none'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n strokeWidth='1.2'\r\n >\r\n {props.children}\r\n </g>\r\n </svg>;\r\n}\r\n\r\nexport function Footer() {\r\n const intl = useIntl();\r\n const [mode, setMode] = useMode();\r\n const { enable } = useSelector('ask');\r\n\r\n const commands = mode == 'search' ? [\r\n <li key='select'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '选中' })}</span>\r\n </li>,\r\n <li key='navigate'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M7.5 3.5v8M10.5 8.5l-3 3-3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M7.5 11.5v-8M10.5 6.5l-3-3-3 3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '导航' })}</span>\r\n </li>,\r\n ] : [\r\n <li key='send'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '发送' })}</span>\r\n </li>,\r\n ];\r\n\r\n commands.push(\r\n <li key='close'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path\r\n d='M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '关闭' })}</span>\r\n </li>\r\n );\r\n\r\n return <Container className='DocSearch-Footer'>\r\n <ul className='DocSearch-Commands'>\r\n {commands}\r\n </ul>\r\n {enable && <ModeSwitcher>\r\n <SwitcherButton $active={mode === 'search'} onClick={() => setMode('search')}>{intl.$t({ defaultMessage: '搜索' })}</SwitcherButton>\r\n <SwitcherButton $active={mode === 'ask'} onClick={() => setMode('ask')}>{intl.$t({ defaultMessage: '智问' })}</SwitcherButton>\r\n </ModeSwitcher>}\r\n </Container>;\r\n}\r\n\r\nconst SwitcherButton = styled.div<{ $active?: boolean }>`\r\n padding: 0 8px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-weight: 500;\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: var(--docsearch-muted-color);\r\n\r\n ${props => props.$active && css`\r\n background-color: rgba(0, 0, 0, 0.1);\r\n `};\r\n`;\r\n\r\nconst ModeSwitcher = styled.div`\r\n height: 32px;\r\n padding: 4px;\r\n border-radius: 2px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border: 1px solid rgb(212, 217, 225, 0.4);\r\n`;\r\n\r\nconst Container = styled.footer`\r\n flex-direction: row !important;\r\n`;\r\n","export const MAX_QUERY_SIZE = 64;\r\n","import { LoadingIcon, ResetIcon, SearchIcon } from '../icons';\r\nimport { MAX_QUERY_SIZE } from '../constants';\r\nimport React, { useCallback, useMemo, useRef } from 'react';\r\nimport { useIntl, useModel } from '@topwrite/common';\r\nimport { debounce } from 'lodash';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function Form({ onClose }: Props) {\r\n\r\n const [{ query, status }, { fetch }] = useModel('search');\r\n const intl = useIntl();\r\n const inputRef = useRef<HTMLInputElement | null>(null);\r\n const initialQuery = useRef(query).current;\r\n\r\n React.useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, []);\r\n\r\n const onReset = useCallback(() => {\r\n if (inputRef.current) {\r\n inputRef.current.value = '';\r\n fetch('');\r\n }\r\n }, [fetch]);\r\n\r\n const debounced = useMemo(() => debounce(fetch, 500), [fetch]);\r\n\r\n const handleSearch = useCallback((e) => {\r\n debounced(e.target.value);\r\n }, [debounced]);\r\n\r\n return <header className='DocSearch-SearchBar'>\r\n <form\r\n className={[\r\n 'DocSearch-Form',\r\n status === 'loading' && 'DocSearch-Container--Stalled',\r\n ].filter(Boolean).join(' ')}\r\n onSubmit={(event) => {\r\n event.preventDefault();\r\n }}\r\n >\r\n <label className='DocSearch-MagnifierLabel'>\r\n <SearchIcon />\r\n </label>\r\n <div className='DocSearch-LoadingIndicator'>\r\n <LoadingIcon />\r\n </div>\r\n <input\r\n defaultValue={initialQuery}\r\n placeholder={intl.$t({ defaultMessage: '搜索文档...' })}\r\n className='DocSearch-Input'\r\n enterKeyHint='done'\r\n ref={inputRef}\r\n autoFocus\r\n maxLength={MAX_QUERY_SIZE}\r\n onChange={handleSearch}\r\n />\r\n <button\r\n title='Clear the query'\r\n className='DocSearch-Reset'\r\n hidden={!query}\r\n onClick={onReset}\r\n >\r\n <ResetIcon />\r\n </button>\r\n </form>\r\n <button className='DocSearch-Cancel' onClick={onClose}>\r\n {intl.$t({ defaultMessage: '取消' })}\r\n </button>\r\n </header>;\r\n}\r\n","import { ErrorIcon } from '../../icons';\r\n\r\nexport function ErrorScreen() {\r\n return <div className='DocSearch-ErrorScreen'>\r\n <div className='DocSearch-Screen-Icon'>\r\n <ErrorIcon />\r\n </div>\r\n <p className='DocSearch-Title'>Unable to fetch results</p>\r\n <p className='DocSearch-Help'>\r\n You might want to check your network connection.\r\n </p>\r\n </div>;\r\n}\r\n","import { useIntl, useSelector } from '@topwrite/common';\r\n\r\ninterface StartScreenProps {\r\n hasCollections: boolean;\r\n}\r\n\r\nexport function StartScreen(props: StartScreenProps) {\r\n\r\n const { status } = useSelector('search');\r\n const intl = useIntl();\r\n\r\n if (status === 'idle' && !props.hasCollections) {\r\n return (\r\n <div className='DocSearch-StartScreen'>\r\n <p className='DocSearch-Help'>{intl.$t({ defaultMessage: '没有最近搜索' })}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import { NoResultsIcon } from '../../icons';\r\nimport { useIntl, useSelector } from '@topwrite/common';\r\n\r\nexport function NoResultsScreen() {\r\n\r\n const { query } = useSelector('search');\r\n const intl = useIntl();\r\n\r\n return (\r\n <div className='DocSearch-NoResults'>\r\n <div className='DocSearch-Screen-Icon'>\r\n <NoResultsIcon />\r\n </div>\r\n <p className='DocSearch-Title'>\r\n {intl.$t({ defaultMessage: '没有结果:' })} \"<strong>{query}</strong>\"\r\n </p>\r\n </div>\r\n );\r\n}\r\n","import { useCallback } from 'react';\r\nimport { SearchResult } from '../../../models/search';\r\nimport Link from '../../link';\r\nimport { ContentIcon, SelectIcon } from '../icons';\r\n\r\nexport interface ResultItem extends SearchResult {\r\n id: number;\r\n}\r\n\r\ninterface ResultsProps {\r\n items: ResultItem[];\r\n title: string;\r\n activeIndex?: number;\r\n\r\n onItemClick(item: ResultItem): void;\r\n\r\n onActive(index: number): void;\r\n}\r\n\r\nexport function Results({ title, items, ...props }: ResultsProps) {\r\n return <section className='DocSearch-Hits'>\r\n <div className='DocSearch-Hit-source'>{title}</div>\r\n <ul>\r\n {items.map((item, index) => {\r\n return <Result\r\n key={index}\r\n item={item}\r\n {...props}\r\n />;\r\n })}\r\n </ul>\r\n </section>;\r\n}\r\n\r\ninterface ResultProps {\r\n activeIndex?: number;\r\n\r\n onItemClick(item: ResultItem): void;\r\n\r\n onActive(index: number): void;\r\n\r\n item: ResultItem;\r\n}\r\n\r\nfunction Result({\r\n item,\r\n onItemClick,\r\n onActive,\r\n activeIndex\r\n}: ResultProps) {\r\n\r\n const onMouseMove = useCallback(() => {\r\n onActive(item.id);\r\n }, [onActive, item]);\r\n\r\n return <li\r\n className='DocSearch-Hit'\r\n onClick={() => {\r\n onItemClick(item);\r\n }}\r\n onMouseMove={onMouseMove}\r\n aria-selected={activeIndex === item.id}\r\n >\r\n <Link to={item.path}>\r\n <div className='DocSearch-Hit-Container'>\r\n <div className='DocSearch-Hit-icon'>\r\n <ContentIcon />\r\n </div>\r\n <div className='DocSearch-Hit-content-wrapper'>\r\n <span className='DocSearch-Hit-title'>{item.title}</span>\r\n {item.body && <span className='DocSearch-Hit-path'>{item.body}</span>}\r\n </div>\r\n <div className='DocSearch-Hit-action'>\r\n <SelectIcon />\r\n </div>\r\n </div>\r\n </Link>\r\n </li>;\r\n}\r\n","import { ResultItem, Results } from '../results';\r\nimport { SearchResult } from '../../../../models/search';\r\n\r\ninterface ResultsScreenProps {\r\n activeIndex?: number;\r\n onItemClick: (item: SearchResult) => void;\r\n onActive: (index: number) => void;\r\n collections: { title: string, items: ResultItem[] }[];\r\n}\r\n\r\nexport function ResultsScreen({ collections, ...props }: ResultsScreenProps) {\r\n return <div className='DocSearch-Dropdown-Container'>\r\n {collections.map((collection, index) => {\r\n return <Results\r\n key={index}\r\n title={collection.title}\r\n items={collection.items}\r\n {...props}\r\n />;\r\n })}\r\n </div>;\r\n}\r\n","import { useMemo } from 'react';\r\nimport { SearchResult } from '../../../models/search';\r\nimport { useBook, useIntl, useSelector } from '@topwrite/common';\r\nimport { ErrorScreen } from './screens/error-screen';\r\nimport { StartScreen } from './screens/start-screen';\r\nimport { NoResultsScreen } from './screens/no-result-screen';\r\nimport { ResultsScreen } from './screens/results-screen';\r\nimport { usePart } from '../../../lib/use-article';\r\n\r\nexport interface StateProps {\r\n activeIndex?: number;\r\n onItemClick: (item: SearchResult) => void;\r\n onActive: (index: number) => void;\r\n}\r\n\r\nexport default function State(props: StateProps) {\r\n\r\n const { status, part: searchPart, query, results } = useSelector('search');\r\n const currentPart = usePart();\r\n const { summary } = useBook();\r\n const intl = useIntl();\r\n\r\n const collections = useMemo(() => {\r\n let id = 0;\r\n let collections;\r\n if (summary.isSinglePart()) {\r\n collections = [{\r\n title: '',\r\n items: results,\r\n }];\r\n } else {\r\n let parts = summary.getParts();\r\n if (searchPart) {\r\n parts = parts.filter(part => part.level.toString() === searchPart);\r\n }\r\n\r\n collections = parts.map((part) => {\r\n return {\r\n level: part.level,\r\n title: searchPart ? '' : (part.title || intl.$t({ defaultMessage: '未命名分组' })),\r\n items: results.filter((result) => {\r\n const article = summary.getArticle(article => article.path === result.path);\r\n if (article) {\r\n const articlePart = summary.getArticlePart(article);\r\n return articlePart === part;\r\n }\r\n return false;\r\n })\r\n };\r\n });\r\n\r\n if (currentPart && !searchPart) {\r\n collections = collections.sort((a) => {\r\n return a.level === currentPart.level ? -1 : 1;\r\n });\r\n }\r\n }\r\n return collections.filter(collection => collection.items.length > 0).map((collection) => {\r\n return {\r\n ...collection,\r\n items: collection.items.map((item) => {\r\n return {\r\n ...item,\r\n id: id++\r\n };\r\n })\r\n };\r\n });\r\n }, [results]);\r\n\r\n if (status === 'error') {\r\n return <ErrorScreen />;\r\n }\r\n\r\n const hasCollections = collections.length > 0;\r\n\r\n if (!query) {\r\n return <StartScreen hasCollections={hasCollections} />;\r\n }\r\n\r\n if (!hasCollections) {\r\n return <NoResultsScreen />;\r\n }\r\n\r\n return <ResultsScreen {...props} collections={collections} />;\r\n}\r\n","import Form from './form';\r\nimport { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { useSelector } from '@topwrite/common';\r\nimport State from './state';\r\n\r\ninterface SearchBoxProps {\r\n onClose(): void;\r\n}\r\n\r\nexport default function SearchBox({ onClose }: SearchBoxProps) {\r\n const { query, results } = useSelector('search');\r\n const [activeIndex, setActiveIndex] = useState<number | undefined>(undefined);\r\n const dropdownRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const onActive = useCallback((index) => {\r\n setActiveIndex(index);\r\n }, [setActiveIndex]);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current.scrollTop = 0;\r\n }\r\n }, [query]);\r\n\r\n useEffect(() => {\r\n const getActiveItem = (activeIndex: number) => {\r\n return dropdownRef.current?.getElementsByClassName('DocSearch-Hit').item(activeIndex);\r\n };\r\n\r\n const onKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\r\n event.preventDefault();\r\n setActiveIndex((activeIndex = -1) => {\r\n if (event.key === 'ArrowUp') {\r\n --activeIndex;\r\n } else {\r\n ++activeIndex;\r\n }\r\n if (activeIndex < 0) {\r\n activeIndex = results.length - 1;\r\n }\r\n if (activeIndex >= results.length) {\r\n activeIndex = 0;\r\n }\r\n\r\n const activeItem = getActiveItem(activeIndex);\r\n if (activeItem) {\r\n if ((activeItem as any).scrollIntoViewIfNeeded) {\r\n (activeItem as any).scrollIntoViewIfNeeded(false);\r\n } else {\r\n activeItem.scrollIntoView(false);\r\n }\r\n }\r\n\r\n return activeIndex;\r\n });\r\n } else if (event.key === 'Enter') {\r\n event.preventDefault();\r\n setActiveIndex((activeIndex = -1) => {\r\n const activeItem = getActiveItem(activeIndex);\r\n if (activeItem) {\r\n requestAnimationFrame(() => {\r\n activeItem.getElementsByTagName('a').item(0)\r\n ?.dispatchEvent(new Event('click', { bubbles: true }));\r\n });\r\n }\r\n return activeIndex;\r\n });\r\n }\r\n };\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [setActiveIndex, results]);\r\n\r\n return <>\r\n <Form onClose={onClose} />\r\n <div className='DocSearch-Dropdown' ref={dropdownRef}>\r\n <State\r\n onActive={onActive}\r\n activeIndex={activeIndex}\r\n onItemClick={() => {\r\n onClose();\r\n }}\r\n />\r\n </div>\r\n </>;\r\n}\r\n","import { FormEvent, useCallback, useEffect, useRef } from 'react';\r\nimport { useIntl, useModel } from '@topwrite/common';\r\nimport { AskIcon, LoadingIcon } from '../icons';\r\nimport { MAX_QUERY_SIZE } from '../constants';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function Form({ onClose }: Props) {\r\n const [{ status }, { fetch }] = useModel('ask');\r\n const intl = useIntl();\r\n const inputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, []);\r\n\r\n const handleAsk = useCallback((event: FormEvent) => {\r\n event.preventDefault();\r\n if (inputRef.current) {\r\n fetch(inputRef.current.value);\r\n inputRef.current.value = '';\r\n }\r\n }, [inputRef, fetch]);\r\n\r\n return <header className='DocSearch-SearchBar'>\r\n <form\r\n className={[\r\n 'DocSearch-Form',\r\n status === 'loading' || status === 'stalled' && 'DocSearch-Container--Stalled',\r\n ].filter(Boolean).join(' ')}\r\n onSubmit={handleAsk}\r\n >\r\n <label className='DocSearch-MagnifierLabel'>\r\n <AskIcon />\r\n </label>\r\n <div className='DocSearch-LoadingIndicator'>\r\n <LoadingIcon />\r\n </div>\r\n <input\r\n placeholder={intl.$t({ defaultMessage: '问一个问题...' })}\r\n className='DocSearch-Input'\r\n ref={inputRef}\r\n autoFocus\r\n enterKeyHint='send'\r\n disabled={status === 'loading' || status === 'stalled'}\r\n maxLength={MAX_QUERY_SIZE}\r\n />\r\n </form>\r\n <button className='DocSearch-Cancel' onClick={onClose}>\r\n {intl.$t({ defaultMessage: '取消' })}\r\n </button>\r\n </header>;\r\n}\r\n","import { useIntl } from '@topwrite/common';\r\n\r\n\r\nexport function StartScreen() {\r\n\r\n const intl = useIntl();\r\n\r\n return <div className='DocSearch-StartScreen'>\r\n <p className='DocSearch-Help'>{intl.$t({ defaultMessage: '我是一个智能AI助理,你可以向我提问关于本文档的任何问题' })}</p>\r\n </div>;\r\n}\r\n","import { Markdown, styled, useSelector } from '@topwrite/common';\r\nimport { StartScreen } from './screens/start-screen';\r\nimport { ErrorScreen } from '../search-box/screens/error-screen';\r\nimport { LoadingIcon } from '../icons';\r\nimport { useMemo } from 'react';\r\nimport Anchor from '../../anchor';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function State({ onClose }: Props) {\r\n const { status, query, answer } = useSelector('ask');\r\n\r\n const components = useMemo(() => {\r\n return {\r\n a: Anchor\r\n };\r\n }, []);\r\n\r\n if (status === 'error') {\r\n return <ErrorScreen />;\r\n }\r\n\r\n if (!query) {\r\n return <StartScreen />;\r\n }\r\n\r\n return <div className='DocSearch-Dropdown-Container'>\r\n <Answer onClick={(e) => {\r\n if (e.target instanceof HTMLAnchorElement) {\r\n onClose();\r\n }\r\n }}>\r\n <h2>{query}</h2>\r\n {status === 'loading' ?\r\n <Loading><LoadingIcon /></Loading> :\r\n <Markdown\r\n aside={false}\r\n inject={false}\r\n components={components}\r\n >\r\n {answer}\r\n </Markdown>}\r\n </Answer>\r\n </div>;\r\n}\r\n\r\nconst Loading = styled.div`\r\n align-items: center;\r\n color: var(--docsearch-highlight-color);\r\n display: flex;\r\n justify-content: center;\r\n\r\n svg {\r\n height: 24px;\r\n width: 24px\r\n }\r\n`;\r\n\r\nconst Answer = styled.div`\r\n margin-top: 16px;\r\n margin-bottom: 16px;\r\n background: var(--docsearch-hit-background);\r\n padding: 16px;\r\n box-shadow: var(--docsearch-hit-shadow);\r\n border-radius: 4px;\r\n\r\n h2 {\r\n padding-bottom: .4em;\r\n font-size: 1.3em;\r\n line-height: 1.2;\r\n border-bottom: 1px solid #eeeeee;\r\n margin-top: 0;\r\n margin-bottom: 1em;\r\n }\r\n`;\r\n","import Form from './form';\r\nimport State from './state';\r\nimport { useEffect, useRef } from 'react';\r\nimport { styled, useSelector } from '@topwrite/common';\r\n\r\ninterface AskBoxProps {\r\n onClose(): void;\r\n}\r\n\r\nexport default function AskBox({ onClose }: AskBoxProps) {\r\n\r\n const { query, status, answer } = useSelector('ask');\r\n const dropdownRef = useRef<HTMLDivElement | null>(null);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current.scrollTop = 0;\r\n }\r\n }, [query]);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current && status === 'stalled') {\r\n dropdownRef.current.scrollTop = dropdownRef.current.scrollHeight;\r\n }\r\n }, [answer, status]);\r\n\r\n return <>\r\n <Form onClose={onClose} />\r\n <Container ref={dropdownRef}>\r\n <State onClose={onClose} />\r\n </Container>\r\n </>;\r\n}\r\n\r\nconst Container = styled.div`\r\n max-height: calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));\r\n min-height: var(--docsearch-spacing);\r\n overflow-y: auto;\r\n padding: 0 var(--docsearch-spacing);\r\n scrollbar-color: var(--docsearch-muted-color) var(--docsearch-modal-background);\r\n scrollbar-width: thin;\r\n\r\n @media (max-width: 768px) {\r\n max-height: calc(var(--docsearch-vh, 1vh) * 100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));\r\n }\r\n @media (max-width: 768px) {\r\n height: 100%;\r\n }\r\n`;\r\n","import { useEffect, useRef } from 'react';\r\nimport { Footer } from './footer';\r\nimport SearchBox from './search-box';\r\nimport { useTrapFocus } from './hooks/use-trap-focus';\r\nimport { styled } from '@topwrite/common';\r\nimport AskBox from './ask-box';\r\nimport { useMode } from './mode-provider';\r\n\r\nexport interface DocSearchModalProps {\r\n onClose(): void;\r\n}\r\n\r\nexport function DocSearchModal({ onClose }: DocSearchModalProps) {\r\n const [mode] = useMode();\r\n const containerRef = useRef<HTMLDivElement | null>(null);\r\n const modalRef = useRef<HTMLDivElement | null>(null);\r\n\r\n useTrapFocus({ container: containerRef.current });\r\n\r\n useEffect(() => {\r\n document.body.classList.add('DocSearch--active');\r\n\r\n return () => {\r\n document.body.classList.remove('DocSearch--active');\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n function setFullViewportHeight() {\r\n if (modalRef.current) {\r\n const vh = window.innerHeight * 0.01;\r\n modalRef.current.style.setProperty('--docsearch-vh', `${vh}px`);\r\n }\r\n }\r\n\r\n setFullViewportHeight();\r\n\r\n window.addEventListener('resize', setFullViewportHeight);\r\n\r\n return () => {\r\n window.removeEventListener('resize', setFullViewportHeight);\r\n };\r\n }, []);\r\n\r\n return <Container\r\n ref={containerRef}\r\n className='DocSearch DocSearch-Container'\r\n onMouseDown={(event) => {\r\n if (event.target === event.currentTarget) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <div className='DocSearch-Modal' ref={modalRef}>\r\n {mode === 'search' ? <SearchBox onClose={onClose} /> : <AskBox onClose={onClose} />}\r\n <Footer />\r\n </div>\r\n </Container>;\r\n}\r\n\r\nconst Container = styled.div`\r\n .DocSearch-Commands-Key {\r\n padding-left: 1px;\r\n font-size: .875rem;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n background-image: none;\r\n box-shadow: none;\r\n }\r\n\r\n .DocSearch-Title {\r\n &:not(:last-child) {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n\r\n .DocSearch-Hits {\r\n ul {\r\n box-shadow: var(--docsearch-hit-shadow);\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n margin-top: 3px;\r\n }\r\n }\r\n\r\n .DocSearch-Hit {\r\n padding-bottom: 0;\r\n border-radius: 0;\r\n\r\n a {\r\n border-radius: 0;\r\n border-top: 1px solid rgb(212, 217, 225, 0.4);\r\n box-shadow: none;\r\n }\r\n\r\n &:first-child {\r\n a {\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n border-top-width: 0;\r\n }\r\n }\r\n\r\n &:last-child {\r\n a {\r\n border-bottom-left-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n }\r\n }\r\n }\r\n\r\n .DocSearch-Hit-content-wrapper {\r\n line-height: 1.3;\r\n }\r\n\r\n .DocSearch-Hit-title {\r\n font-size: 1em;\r\n }\r\n\r\n .DocSearch-Help {\r\n font-size: 1em;\r\n }\r\n\r\n .DocSearch-Label {\r\n line-height: 1;\r\n }\r\n\r\n`;\r\n","import React from 'react';\r\n\r\ninterface UseTrapFocusProps {\r\n container: HTMLElement | null;\r\n}\r\n\r\nexport function useTrapFocus({ container }: UseTrapFocusProps) {\r\n React.useEffect(() => {\r\n if (!container) {\r\n return undefined;\r\n }\r\n\r\n const focusableElements = container.querySelectorAll<HTMLElement>(\r\n 'a[href]:not([disabled]), button:not([disabled]), input:not([disabled])'\r\n );\r\n const firstElement = focusableElements[0];\r\n const lastElement = focusableElements[focusableElements.length - 1];\r\n\r\n function trapFocus(event: KeyboardEvent) {\r\n if (event.key !== 'Tab') {\r\n return;\r\n }\r\n\r\n if (event.shiftKey) {\r\n if (document.activeElement === firstElement) {\r\n event.preventDefault();\r\n lastElement.focus();\r\n }\r\n } else if (document.activeElement === lastElement) {\r\n event.preventDefault();\r\n firstElement.focus();\r\n }\r\n }\r\n\r\n container.addEventListener('keydown', trapFocus);\r\n\r\n return () => {\r\n container.removeEventListener('keydown', trapFocus);\r\n };\r\n }, [container]);\r\n}\r\n","import { useKeyboardEvents } from './hooks/use-keyboard-events';\r\nimport { ElementType, useCallback, useEffect, useRef, useState } from 'react';\r\nimport { DocSearchButton } from './doc-search-button';\r\nimport { createPortal } from 'react-dom';\r\nimport { DocSearchModal } from './doc-search-modal';\r\nimport { createGlobalStyle, useActions } from '@topwrite/common';\r\nimport '@docsearch/css';\r\nimport ModeProvider from './mode-provider';\r\nimport { usePart } from '../../lib/use-article';\r\n\r\nexport interface DocSearchProps {\r\n as?: ElementType;\r\n className?: string;\r\n onlyCurrentPart?: boolean;\r\n}\r\n\r\nexport default function DocSearch({ as, className, onlyCurrentPart, ...props }: DocSearchProps) {\r\n const searchButtonRef = useRef<HTMLButtonElement>(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { setPart: setSearchPart } = useActions('search');\r\n const { setPart: setAskPart } = useActions('ask');\r\n const part = usePart();\r\n\r\n const onOpen = useCallback(() => {\r\n setIsOpen(true);\r\n }, [setIsOpen]);\r\n\r\n const onClose = useCallback(() => {\r\n setIsOpen(false);\r\n }, [setIsOpen]);\r\n\r\n const onInput = useCallback(() => {\r\n setIsOpen(true);\r\n }, [setIsOpen]);\r\n\r\n useKeyboardEvents({\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onInput,\r\n searchButtonRef,\r\n });\r\n\r\n useEffect(() => {\r\n setSearchPart(onlyCurrentPart ? part?.level.toString() : undefined);\r\n setAskPart(onlyCurrentPart ? part?.level.toString() : undefined);\r\n }, [onlyCurrentPart, part]);\r\n\r\n const Component = as || DocSearchButton;\r\n\r\n return <ModeProvider>\r\n <GlobalStyle />\r\n <Component onClick={onOpen} className={className} ref={searchButtonRef} />\r\n {isOpen && createPortal(\r\n <DocSearchModal\r\n {...props}\r\n onClose={onClose}\r\n />,\r\n document.body\r\n )}\r\n </ModeProvider>;\r\n}\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n :root:root {\r\n --docsearch-primary-color: var(--ttw-primary-color, #3c60ff);\r\n --docsearch-hit-height: 48px;\r\n --docsearch-searchbox-height: 48px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nexport interface UseDocSearchKeyboardEventsProps {\r\n isOpen: boolean;\r\n\r\n onOpen(): void;\r\n\r\n onClose(): void;\r\n\r\n onInput?(event: KeyboardEvent): void;\r\n\r\n searchButtonRef?: React.RefObject<HTMLButtonElement>;\r\n}\r\n\r\nfunction isEditingContent(event: KeyboardEvent): boolean {\r\n const element = event.target as HTMLElement;\r\n const tagName = element.tagName;\r\n\r\n return (\r\n element.isContentEditable ||\r\n tagName === 'INPUT' ||\r\n tagName === 'SELECT' ||\r\n tagName === 'TEXTAREA'\r\n );\r\n}\r\n\r\nexport function useKeyboardEvents({\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onInput,\r\n searchButtonRef,\r\n}: UseDocSearchKeyboardEventsProps) {\r\n React.useEffect(() => {\r\n function onKeyDown(event: KeyboardEvent) {\r\n function open() {\r\n // We check that no other DocSearch modal is showing before opening\r\n // another one.\r\n if (!document.body.classList.contains('DocSearch--active')) {\r\n onOpen();\r\n }\r\n }\r\n\r\n if (\r\n (event.keyCode === 27 && isOpen) ||\r\n // The `Cmd+K` shortcut both opens and closes the modal.\r\n (event.key === 'k' && (event.metaKey || event.ctrlKey)) ||\r\n // The `/` shortcut opens but doesn't close the modal because it's\r\n // a character.\r\n (!isEditingContent(event) && event.key === '/' && !isOpen)\r\n ) {\r\n event.preventDefault();\r\n\r\n if (isOpen) {\r\n onClose();\r\n } else if (!document.body.classList.contains('DocSearch--active')) {\r\n open();\r\n }\r\n }\r\n\r\n if (\r\n searchButtonRef &&\r\n searchButtonRef.current === document.activeElement &&\r\n onInput\r\n ) {\r\n if (/[a-zA-Z0-9]/.test(String.fromCharCode(event.keyCode))) {\r\n onInput(event);\r\n }\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [isOpen, onOpen, onClose, onInput, searchButtonRef]);\r\n}\r\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n"],"names":["LoadingIcon","_jsx","viewBox","stroke","strokeOpacity","children","fill","fillRule","_jsxs","transform","strokeWidth","cx","cy","r","d","attributeName","type","from","to","dur","repeatCount","ResetIcon","width","height","strokeLinecap","strokeLinejoin","SearchIcon","className","SelectIcon","ContentIcon","ErrorIcon","NoResultsIcon","ControlKeyIcon","AskIcon","preserveAspectRatio","clipRule","ACTION_KEY_DEFAULT","DocSearchButton","forwardRef","_ref","ref","props","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","key","setKey","useEffect","navigator","test","platform","intl","useIntl","Button","_objectSpread","$t","id","defaultMessage","styled","_templateObject","_taggedTemplateLiteral","Context","createContext","mode","setMode","Provider","value","useMode","useContext","CommandIcon","Footer","_useMode","_useMode2","enable","useSelector","commands","push","Container","ModeSwitcher","SwitcherButton","onClick","$active","css","_templateObject2","_templateObject3","_templateObject4","MAX_QUERY_SIZE","Form","onClose","_useModel","useModel","_useModel2","_useModel2$","query","status","fetch","inputRef","useRef","initialQuery","current","React","focus","onReset","useCallback","debounced","useMemo","debounce","handleSearch","e","target","filter","Boolean","join","onSubmit","event","preventDefault","defaultValue","placeholder","enterKeyHint","autoFocus","maxLength","onChange","title","hidden","ErrorScreen","StartScreen","hasCollections","NoResultsScreen","Results","items","map","item","index","Result","_ref2","onItemClick","onActive","activeIndex","onMouseMove","Link","path","body","ResultsScreen","collections","collection","State","_useSelector","searchPart","part","results","currentPart","usePart","summary","useBook","isSinglePart","parts","getParts","level","toString","result","article","getArticle","getArticlePart","sort","a","length","SearchBox","undefined","setActiveIndex","dropdownRef","scrollTop","getActiveItem","_dropdownRef$current","getElementsByClassName","onKeyDown","arguments","activeItem","scrollIntoViewIfNeeded","scrollIntoView","requestAnimationFrame","_activeItem$getElemen","getElementsByTagName","dispatchEvent","Event","bubbles","window","addEventListener","removeEventListener","_Fragment","handleAsk","disabled","answer","components","Anchor","Answer","HTMLAnchorElement","Loading","Markdown","aside","inject","AskBox","scrollHeight","DocSearchModal","containerRef","modalRef","container","focusableElements","querySelectorAll","firstElement","lastElement","trapFocus","shiftKey","document","activeElement","useTrapFocus","classList","add","remove","setFullViewportHeight","vh","innerHeight","style","setProperty","concat","onMouseDown","currentTarget","DocSearch","as","onlyCurrentPart","searchButtonRef","isOpen","setIsOpen","setSearchPart","useActions","setPart","setAskPart","onOpen","onInput","keyCode","metaKey","ctrlKey","element","tagName","isContentEditable","isEditingContent","contains","String","fromCharCode","useKeyboardEvents","Component","ModeProvider","GlobalStyle","createPortal","createGlobalStyle","tryToString","$TypeError","TypeError","module","exports","O","P","firefox","match","UA","webkit","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","deletePropertyOrThrow","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","k","v","b","charAt","proto","forced","comparefn","array","this","itemsLength","arrayLength","x","y","getSortCompare"],"sourceRoot":""}
1
+ {"version":3,"file":"454-b0e4b2.js","mappings":"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","sources":["webpack://@topwrite/reader/./src/components/search/icons/loading-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/reset-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/search-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/select-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/content-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/error-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/no-results-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/control-key-icon.tsx","webpack://@topwrite/reader/./src/components/search/icons/ask-icon.tsx","webpack://@topwrite/reader/./src/components/search/doc-search-button.tsx","webpack://@topwrite/reader/./src/components/search/mode-provider.tsx","webpack://@topwrite/reader/./src/components/search/footer.tsx","webpack://@topwrite/reader/./src/components/search/constants.ts","webpack://@topwrite/reader/./src/components/search/search-box/form.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/error-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/start-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/no-result-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/results.tsx","webpack://@topwrite/reader/./src/components/search/search-box/screens/results-screen.tsx","webpack://@topwrite/reader/./src/components/search/search-box/state.tsx","webpack://@topwrite/reader/./src/components/search/search-box/index.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/form.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/screens/start-screen.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/state.tsx","webpack://@topwrite/reader/./src/components/search/ask-box/index.tsx","webpack://@topwrite/reader/./src/components/search/doc-search-modal.tsx","webpack://@topwrite/reader/./src/components/search/hooks/use-trap-focus.ts","webpack://@topwrite/reader/./src/components/search/doc-search.tsx","webpack://@topwrite/reader/./src/components/search/hooks/use-keyboard-events.ts","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/delete-property-or-throw.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-ff-version.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/internals/engine-webkit-version.js","webpack://@topwrite/reader/../node_modules/.pnpm/core-js@3.31.0/node_modules/core-js/modules/es.array.sort.js"],"sourcesContent":["export function LoadingIcon() {\r\n return (\r\n <svg viewBox='0 0 38 38' stroke='currentColor' strokeOpacity='.5'>\r\n <g fill='none' fillRule='evenodd'>\r\n <g transform='translate(1 1)' strokeWidth='2'>\r\n <circle strokeOpacity='.3' cx='18' cy='18' r='18' />\r\n <path d='M36 18c0-9.94-8.06-18-18-18'>\r\n <animateTransform\r\n attributeName='transform'\r\n type='rotate'\r\n from='0 18 18'\r\n to='360 18 18'\r\n dur='1s'\r\n repeatCount='indefinite'\r\n />\r\n </path>\r\n </g>\r\n </g>\r\n </svg>\r\n );\r\n}\r\n","export function ResetIcon() {\r\n return (\r\n <svg width='20' height='20' viewBox='0 0 20 20'>\r\n <path\r\n d='M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function SearchIcon() {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n className='DocSearch-Search-Icon'\r\n viewBox='0 0 20 20'\r\n >\r\n <path\r\n d='M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function SelectIcon() {\r\n return (\r\n <svg\r\n className='DocSearch-Hit-Select-Icon'\r\n width='20'\r\n height='20'\r\n viewBox='0 0 20 20'\r\n >\r\n <g\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path d='M18 3v4c0 2-2 4-4 4H2' />\r\n <path d='M8 17l-6-6 6-6' />\r\n </g>\r\n </svg>\r\n );\r\n}\r\n","export function ContentIcon() {\r\n return (\r\n <svg width='20' height='20' viewBox='0 0 20 20'>\r\n <path\r\n d='M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4'\r\n stroke='currentColor'\r\n fill='none'\r\n fillRule='evenodd'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function ErrorIcon() {\r\n return (\r\n <svg\r\n width='40'\r\n height='40'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n fillRule='evenodd'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path\r\n d='M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0'></path>\r\n </svg>\r\n );\r\n}\r\n","export function NoResultsIcon() {\r\n return (\r\n <svg\r\n width='40'\r\n height='40'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n fillRule='evenodd'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n >\r\n <path\r\n d='M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2'></path>\r\n </svg>\r\n );\r\n}\r\n","export function ControlKeyIcon() {\r\n return (\r\n <svg width='15' height='15' className='DocSearch-Control-Key-Icon'>\r\n <path\r\n d='M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953'\r\n strokeWidth='1.2'\r\n stroke='currentColor'\r\n fill='none'\r\n strokeLinecap='square'\r\n />\r\n </svg>\r\n );\r\n}\r\n","export function AskIcon() {\r\n return <svg width='16' height='16' viewBox='0 0 16 16' fill='none' preserveAspectRatio='xMidYMid meet'>\r\n <path fillRule='evenodd' clipRule='evenodd' d='M8 2.491A1.246 1.246 0 108 0a1.246 1.246 0 000 2.491zm0 2.436a.858.858 0 100-1.716.858.858 0 000 1.716zm.858 7.004a.858.858 0 11-1.716 0 .858.858 0 011.716 0zM11.073 8a.858.858 0 101.716 0 .858.858 0 00-1.716 0zm-7.004.858a.858.858 0 110-1.716.858.858 0 010 1.716zm6.104-3.03a.858.858 0 101.213-1.214.858.858 0 00-1.213 1.213zm-4.346 5.558a.858.858 0 11-1.213-1.213.858.858 0 011.213 1.213zm4.346-1.213a.858.858 0 101.213 1.213.858.858 0 00-1.213-1.213zm-5.56-4.346a.858.858 0 111.214-1.213.858.858 0 01-1.213 1.213zM8 16a1.246 1.246 0 100-2.491A1.246 1.246 0 008 16zm6.754-6.754a1.246 1.246 0 110-2.492 1.246 1.246 0 010 2.492zM0 8a1.246 1.246 0 102.491 0A1.246 1.246 0 000 8zm14.472-2.298a1.246 1.246 0 11-1.245-2.158 1.246 1.246 0 011.245 2.158zM1.072 12a1.246 1.246 0 102.157-1.246A1.246 1.246 0 001.072 12zm9.226 2.472a1.246 1.246 0 112.158-1.245 1.246 1.246 0 01-2.158 1.245zM4 1.072a1.246 1.246 0 101.246 2.157A1.246 1.246 0 004 1.072zm8.456 1.701a1.246 1.246 0 11-2.158-1.245 1.246 1.246 0 012.158 1.245zM4 14.928a1.246 1.246 0 101.246-2.158A1.246 1.246 0 004 14.928zm9.226-2.472a1.246 1.246 0 111.246-2.157 1.246 1.246 0 01-1.245 2.157zM1.072 4a1.246 1.246 0 102.157 1.246A1.246 1.246 0 001.072 4z' fill='currentColor'></path>\r\n </svg>;\r\n}\r\n","import { ComponentProps, forwardRef, useEffect, useState } from 'react';\r\nimport { ControlKeyIcon, SearchIcon } from './icons';\r\nimport { styled, useIntl } from '@topwrite/common';\r\n\r\nexport type DocSearchButtonProps = ComponentProps<'button'>\r\n\r\nconst ACTION_KEY_DEFAULT = 'Ctrl' as const;\r\nconst ACTION_KEY_APPLE = '⌘' as const;\r\n\r\nfunction isAppleDevice() {\r\n return /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\r\n}\r\n\r\nexport const DocSearchButton = forwardRef<HTMLButtonElement, DocSearchButtonProps>(({ className, ...props }, ref) => {\r\n const [key, setKey] = useState<typeof ACTION_KEY_APPLE | typeof ACTION_KEY_DEFAULT | null>(null);\r\n\r\n useEffect(() => {\r\n if (typeof navigator !== 'undefined') {\r\n setKey(isAppleDevice() ? ACTION_KEY_APPLE : ACTION_KEY_DEFAULT);\r\n }\r\n }, []);\r\n\r\n const intl = useIntl();\r\n\r\n return <Button\r\n type='button'\r\n className='DocSearch DocSearch-Button'\r\n {...props}\r\n ref={ref}\r\n >\r\n <span className='DocSearch-Button-Container'>\r\n <SearchIcon />\r\n <span className='DocSearch-Button-Placeholder'>{intl.$t({ defaultMessage: '搜索' })}</span>\r\n </span>\r\n {key !== null && (\r\n <span className='DocSearch-Button-Keys'>\r\n <span className='DocSearch-Button-Key'>\r\n {key === ACTION_KEY_DEFAULT ? <ControlKeyIcon /> : key}\r\n </span>\r\n <span className='DocSearch-Button-Key'>K</span>\r\n </span>\r\n )}\r\n </Button>;\r\n});\r\n\r\nconst Button = styled.button`\r\n .DocSearch-Button-Keys {\r\n min-width: 0;\r\n padding: .125rem .25rem;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: .25rem;\r\n }\r\n\r\n .DocSearch-Button-Key {\r\n top: 1px;\r\n width: auto;\r\n height: 1.25rem;\r\n padding-right: .125rem;\r\n padding-left: .125rem;\r\n margin-right: 0;\r\n font-size: .875rem;\r\n background: none;\r\n box-shadow: none;\r\n }\r\n`\r\n","import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState } from 'react';\r\n\r\nconst Context = createContext<[string, Dispatch<SetStateAction<string>>]>(['search', () => (void 0)]);\r\n\r\nexport default function({ children }: { children: ReactNode }) {\r\n const [mode, setMode] = useState('search');\r\n\r\n return <Context.Provider value={[mode, setMode]}>\r\n {children}\r\n </Context.Provider>;\r\n}\r\n\r\nexport const useMode = () => {\r\n return useContext(Context);\r\n};\r\n","import React from 'react';\r\nimport { css, styled, useIntl, useSelector } from '@topwrite/common';\r\nimport { useMode } from './mode-provider';\r\n\r\ninterface CommandIconProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction CommandIcon(props: CommandIconProps) {\r\n return <svg width='15' height='15'>\r\n <g\r\n fill='none'\r\n stroke='currentColor'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n strokeWidth='1.2'\r\n >\r\n {props.children}\r\n </g>\r\n </svg>;\r\n}\r\n\r\nexport function Footer() {\r\n const intl = useIntl();\r\n const [mode, setMode] = useMode();\r\n const { enable } = useSelector('ask');\r\n\r\n const commands = mode == 'search' ? [\r\n <li key='select'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '选中' })}</span>\r\n </li>,\r\n <li key='navigate'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M7.5 3.5v8M10.5 8.5l-3 3-3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M7.5 11.5v-8M10.5 6.5l-3-3-3 3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '导航' })}</span>\r\n </li>,\r\n ] : [\r\n <li key='send'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path d='M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '发送' })}</span>\r\n </li>,\r\n ];\r\n\r\n commands.push(\r\n <li key='close'>\r\n <span className='DocSearch-Commands-Key'>\r\n <CommandIcon>\r\n <path\r\n d='M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956' />\r\n </CommandIcon>\r\n </span>\r\n <span className='DocSearch-Label'>{intl.$t({ defaultMessage: '关闭' })}</span>\r\n </li>\r\n );\r\n\r\n return <Container className='DocSearch-Footer'>\r\n <ul className='DocSearch-Commands'>\r\n {commands}\r\n </ul>\r\n {enable && <ModeSwitcher>\r\n <SwitcherButton $active={mode === 'search'} onClick={() => setMode('search')}>{intl.$t({ defaultMessage: '搜索' })}</SwitcherButton>\r\n <SwitcherButton $active={mode === 'ask'} onClick={() => setMode('ask')}>{intl.$t({ defaultMessage: '智问' })}</SwitcherButton>\r\n </ModeSwitcher>}\r\n </Container>;\r\n}\r\n\r\nconst SwitcherButton = styled.div<{ $active?: boolean }>`\r\n padding: 0 8px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-weight: 500;\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: var(--docsearch-muted-color);\r\n\r\n ${props => props.$active && css`\r\n background-color: rgba(0, 0, 0, 0.1);\r\n `};\r\n`;\r\n\r\nconst ModeSwitcher = styled.div`\r\n height: 32px;\r\n padding: 4px;\r\n border-radius: 2px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border: 1px solid rgb(212, 217, 225, 0.4);\r\n`;\r\n\r\nconst Container = styled.footer`\r\n flex-direction: row !important;\r\n`;\r\n","export const MAX_QUERY_SIZE = 64;\r\n","import { LoadingIcon, ResetIcon, SearchIcon } from '../icons';\r\nimport { MAX_QUERY_SIZE } from '../constants';\r\nimport React, { useCallback, useMemo, useRef } from 'react';\r\nimport { useIntl, useModel } from '@topwrite/common';\r\nimport { debounce } from 'lodash';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function Form({ onClose }: Props) {\r\n\r\n const [{ query, status }, { fetch }] = useModel('search');\r\n const intl = useIntl();\r\n const inputRef = useRef<HTMLInputElement | null>(null);\r\n const initialQuery = useRef(query).current;\r\n\r\n React.useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, []);\r\n\r\n const onReset = useCallback(() => {\r\n if (inputRef.current) {\r\n inputRef.current.value = '';\r\n fetch('');\r\n }\r\n }, [fetch]);\r\n\r\n const debounced = useMemo(() => debounce(fetch, 500), [fetch]);\r\n\r\n const handleSearch = useCallback((e) => {\r\n debounced(e.target.value);\r\n }, [debounced]);\r\n\r\n return <header className='DocSearch-SearchBar'>\r\n <form\r\n className={[\r\n 'DocSearch-Form',\r\n status === 'loading' && 'DocSearch-Container--Stalled',\r\n ].filter(Boolean).join(' ')}\r\n onSubmit={(event) => {\r\n event.preventDefault();\r\n }}\r\n >\r\n <label className='DocSearch-MagnifierLabel'>\r\n <SearchIcon />\r\n </label>\r\n <div className='DocSearch-LoadingIndicator'>\r\n <LoadingIcon />\r\n </div>\r\n <input\r\n defaultValue={initialQuery}\r\n placeholder={intl.$t({ defaultMessage: '搜索文档...' })}\r\n className='DocSearch-Input'\r\n enterKeyHint='done'\r\n ref={inputRef}\r\n autoFocus\r\n maxLength={MAX_QUERY_SIZE}\r\n onChange={handleSearch}\r\n />\r\n <button\r\n title='Clear the query'\r\n className='DocSearch-Reset'\r\n hidden={!query}\r\n onClick={onReset}\r\n >\r\n <ResetIcon />\r\n </button>\r\n </form>\r\n <button className='DocSearch-Cancel' onClick={onClose}>\r\n {intl.$t({ defaultMessage: '取消' })}\r\n </button>\r\n </header>;\r\n}\r\n","import { ErrorIcon } from '../../icons';\r\n\r\nexport function ErrorScreen() {\r\n return <div className='DocSearch-ErrorScreen'>\r\n <div className='DocSearch-Screen-Icon'>\r\n <ErrorIcon />\r\n </div>\r\n <p className='DocSearch-Title'>Unable to fetch results</p>\r\n <p className='DocSearch-Help'>\r\n You might want to check your network connection.\r\n </p>\r\n </div>;\r\n}\r\n","import { useIntl, useSelector } from '@topwrite/common';\r\n\r\ninterface StartScreenProps {\r\n hasCollections: boolean;\r\n}\r\n\r\nexport function StartScreen(props: StartScreenProps) {\r\n\r\n const { status } = useSelector('search');\r\n const intl = useIntl();\r\n\r\n if (status === 'idle' && !props.hasCollections) {\r\n return (\r\n <div className='DocSearch-StartScreen'>\r\n <p className='DocSearch-Help'>{intl.$t({ defaultMessage: '没有最近搜索' })}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import { NoResultsIcon } from '../../icons';\r\nimport { useIntl, useSelector } from '@topwrite/common';\r\n\r\nexport function NoResultsScreen() {\r\n\r\n const { query } = useSelector('search');\r\n const intl = useIntl();\r\n\r\n return (\r\n <div className='DocSearch-NoResults'>\r\n <div className='DocSearch-Screen-Icon'>\r\n <NoResultsIcon />\r\n </div>\r\n <p className='DocSearch-Title'>\r\n {intl.$t({ defaultMessage: '没有结果:' })} \"<strong>{query}</strong>\"\r\n </p>\r\n </div>\r\n );\r\n}\r\n","import { useCallback } from 'react';\r\nimport { SearchResult } from '../../../models/search';\r\nimport Link from '../../link';\r\nimport { ContentIcon, SelectIcon } from '../icons';\r\n\r\nexport interface ResultItem extends SearchResult {\r\n id: number;\r\n}\r\n\r\ninterface ResultsProps {\r\n items: ResultItem[];\r\n title: string;\r\n activeIndex?: number;\r\n\r\n onItemClick(item: ResultItem): void;\r\n\r\n onActive(index: number): void;\r\n}\r\n\r\nexport function Results({ title, items, ...props }: ResultsProps) {\r\n return <section className='DocSearch-Hits'>\r\n <div className='DocSearch-Hit-source'>{title}</div>\r\n <ul>\r\n {items.map((item, index) => {\r\n return <Result\r\n key={index}\r\n item={item}\r\n {...props}\r\n />;\r\n })}\r\n </ul>\r\n </section>;\r\n}\r\n\r\ninterface ResultProps {\r\n activeIndex?: number;\r\n\r\n onItemClick(item: ResultItem): void;\r\n\r\n onActive(index: number): void;\r\n\r\n item: ResultItem;\r\n}\r\n\r\nfunction Result({\r\n item,\r\n onItemClick,\r\n onActive,\r\n activeIndex\r\n}: ResultProps) {\r\n\r\n const onMouseMove = useCallback(() => {\r\n onActive(item.id);\r\n }, [onActive, item]);\r\n\r\n return <li\r\n className='DocSearch-Hit'\r\n onClick={() => {\r\n onItemClick(item);\r\n }}\r\n onMouseMove={onMouseMove}\r\n aria-selected={activeIndex === item.id}\r\n >\r\n <Link to={item.path}>\r\n <div className='DocSearch-Hit-Container'>\r\n <div className='DocSearch-Hit-icon'>\r\n <ContentIcon />\r\n </div>\r\n <div className='DocSearch-Hit-content-wrapper'>\r\n <span className='DocSearch-Hit-title'>{item.title}</span>\r\n {item.body && <span className='DocSearch-Hit-path'>{item.body}</span>}\r\n </div>\r\n <div className='DocSearch-Hit-action'>\r\n <SelectIcon />\r\n </div>\r\n </div>\r\n </Link>\r\n </li>;\r\n}\r\n","import { ResultItem, Results } from '../results';\r\nimport { SearchResult } from '../../../../models/search';\r\n\r\ninterface ResultsScreenProps {\r\n activeIndex?: number;\r\n onItemClick: (item: SearchResult) => void;\r\n onActive: (index: number) => void;\r\n collections: { title: string, items: ResultItem[] }[];\r\n}\r\n\r\nexport function ResultsScreen({ collections, ...props }: ResultsScreenProps) {\r\n return <div className='DocSearch-Dropdown-Container'>\r\n {collections.map((collection, index) => {\r\n return <Results\r\n key={index}\r\n title={collection.title}\r\n items={collection.items}\r\n {...props}\r\n />;\r\n })}\r\n </div>;\r\n}\r\n","import { useMemo } from 'react';\r\nimport { SearchResult } from '../../../models/search';\r\nimport { useBook, useIntl, useSelector } from '@topwrite/common';\r\nimport { ErrorScreen } from './screens/error-screen';\r\nimport { StartScreen } from './screens/start-screen';\r\nimport { NoResultsScreen } from './screens/no-result-screen';\r\nimport { ResultsScreen } from './screens/results-screen';\r\nimport { usePart } from '../../../lib/use-article';\r\n\r\nexport interface StateProps {\r\n activeIndex?: number;\r\n onItemClick: (item: SearchResult) => void;\r\n onActive: (index: number) => void;\r\n}\r\n\r\nexport default function State(props: StateProps) {\r\n\r\n const { status, part: searchPart, query, results } = useSelector('search');\r\n const currentPart = usePart();\r\n const { summary } = useBook();\r\n const intl = useIntl();\r\n\r\n const collections = useMemo(() => {\r\n let id = 0;\r\n let collections;\r\n if (summary.isSinglePart()) {\r\n collections = [{\r\n title: '',\r\n items: results,\r\n }];\r\n } else {\r\n let parts = summary.getParts();\r\n if (searchPart) {\r\n parts = parts.filter(part => part.level.toString() === searchPart);\r\n }\r\n\r\n collections = parts.map((part) => {\r\n return {\r\n level: part.level,\r\n title: searchPart ? '' : (part.title || intl.$t({ defaultMessage: '未命名分组' })),\r\n items: results.filter((result) => {\r\n const article = summary.getArticle(article => article.path === result.path);\r\n if (article) {\r\n const articlePart = summary.getArticlePart(article);\r\n return articlePart === part;\r\n }\r\n return false;\r\n })\r\n };\r\n });\r\n\r\n if (currentPart && !searchPart) {\r\n collections = collections.sort((a) => {\r\n return a.level === currentPart.level ? -1 : 1;\r\n });\r\n }\r\n }\r\n return collections.filter(collection => collection.items.length > 0).map((collection) => {\r\n return {\r\n ...collection,\r\n items: collection.items.map((item) => {\r\n return {\r\n ...item,\r\n id: id++\r\n };\r\n })\r\n };\r\n });\r\n }, [results]);\r\n\r\n if (status === 'error') {\r\n return <ErrorScreen />;\r\n }\r\n\r\n const hasCollections = collections.length > 0;\r\n\r\n if (!query) {\r\n return <StartScreen hasCollections={hasCollections} />;\r\n }\r\n\r\n if (!hasCollections) {\r\n return <NoResultsScreen />;\r\n }\r\n\r\n return <ResultsScreen {...props} collections={collections} />;\r\n}\r\n","import Form from './form';\r\nimport { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { useSelector } from '@topwrite/common';\r\nimport State from './state';\r\n\r\ninterface SearchBoxProps {\r\n onClose(): void;\r\n}\r\n\r\nexport default function SearchBox({ onClose }: SearchBoxProps) {\r\n const { query, results } = useSelector('search');\r\n const [activeIndex, setActiveIndex] = useState<number | undefined>(undefined);\r\n const dropdownRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const onActive = useCallback((index) => {\r\n setActiveIndex(index);\r\n }, [setActiveIndex]);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current.scrollTop = 0;\r\n }\r\n }, [query]);\r\n\r\n useEffect(() => {\r\n const getActiveItem = (activeIndex: number) => {\r\n return dropdownRef.current?.getElementsByClassName('DocSearch-Hit').item(activeIndex);\r\n };\r\n\r\n const onKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\r\n event.preventDefault();\r\n setActiveIndex((activeIndex = -1) => {\r\n if (event.key === 'ArrowUp') {\r\n --activeIndex;\r\n } else {\r\n ++activeIndex;\r\n }\r\n if (activeIndex < 0) {\r\n activeIndex = results.length - 1;\r\n }\r\n if (activeIndex >= results.length) {\r\n activeIndex = 0;\r\n }\r\n\r\n const activeItem = getActiveItem(activeIndex);\r\n if (activeItem) {\r\n if ((activeItem as any).scrollIntoViewIfNeeded) {\r\n (activeItem as any).scrollIntoViewIfNeeded(false);\r\n } else {\r\n activeItem.scrollIntoView(false);\r\n }\r\n }\r\n\r\n return activeIndex;\r\n });\r\n } else if (event.key === 'Enter') {\r\n event.preventDefault();\r\n setActiveIndex((activeIndex = -1) => {\r\n const activeItem = getActiveItem(activeIndex);\r\n if (activeItem) {\r\n requestAnimationFrame(() => {\r\n activeItem.getElementsByTagName('a').item(0)\r\n ?.dispatchEvent(new Event('click', { bubbles: true }));\r\n });\r\n }\r\n return activeIndex;\r\n });\r\n }\r\n };\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [setActiveIndex, results]);\r\n\r\n return <>\r\n <Form onClose={onClose} />\r\n <div className='DocSearch-Dropdown' ref={dropdownRef}>\r\n <State\r\n onActive={onActive}\r\n activeIndex={activeIndex}\r\n onItemClick={() => {\r\n onClose();\r\n }}\r\n />\r\n </div>\r\n </>;\r\n}\r\n","import { FormEvent, useCallback, useEffect, useRef } from 'react';\r\nimport { useIntl, useModel } from '@topwrite/common';\r\nimport { AskIcon, LoadingIcon } from '../icons';\r\nimport { MAX_QUERY_SIZE } from '../constants';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function Form({ onClose }: Props) {\r\n const [{ status }, { fetch }] = useModel('ask');\r\n const intl = useIntl();\r\n const inputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, []);\r\n\r\n const handleAsk = useCallback((event: FormEvent) => {\r\n event.preventDefault();\r\n if (inputRef.current) {\r\n fetch(inputRef.current.value);\r\n inputRef.current.value = '';\r\n }\r\n }, [inputRef, fetch]);\r\n\r\n return <header className='DocSearch-SearchBar'>\r\n <form\r\n className={[\r\n 'DocSearch-Form',\r\n status === 'loading' || status === 'stalled' && 'DocSearch-Container--Stalled',\r\n ].filter(Boolean).join(' ')}\r\n onSubmit={handleAsk}\r\n >\r\n <label className='DocSearch-MagnifierLabel'>\r\n <AskIcon />\r\n </label>\r\n <div className='DocSearch-LoadingIndicator'>\r\n <LoadingIcon />\r\n </div>\r\n <input\r\n placeholder={intl.$t({ defaultMessage: '问一个问题...' })}\r\n className='DocSearch-Input'\r\n ref={inputRef}\r\n autoFocus\r\n enterKeyHint='send'\r\n disabled={status === 'loading' || status === 'stalled'}\r\n maxLength={MAX_QUERY_SIZE}\r\n />\r\n </form>\r\n <button className='DocSearch-Cancel' onClick={onClose}>\r\n {intl.$t({ defaultMessage: '取消' })}\r\n </button>\r\n </header>;\r\n}\r\n","import { useIntl } from '@topwrite/common';\r\n\r\n\r\nexport function StartScreen() {\r\n\r\n const intl = useIntl();\r\n\r\n return <div className='DocSearch-StartScreen'>\r\n <p className='DocSearch-Help'>{intl.$t({ defaultMessage: '我是一个智能AI助理,你可以向我提问关于本文档的任何问题' })}</p>\r\n </div>;\r\n}\r\n","import { Markdown, styled, useSelector } from '@topwrite/common';\r\nimport { StartScreen } from './screens/start-screen';\r\nimport { ErrorScreen } from '../search-box/screens/error-screen';\r\nimport { LoadingIcon } from '../icons';\r\nimport { useMemo } from 'react';\r\nimport Anchor from '../../anchor';\r\n\r\ninterface Props {\r\n onClose(): void;\r\n}\r\n\r\nexport default function State({ onClose }: Props) {\r\n const { status, query, answer } = useSelector('ask');\r\n\r\n const components = useMemo(() => {\r\n return {\r\n a: Anchor\r\n };\r\n }, []);\r\n\r\n if (status === 'error') {\r\n return <ErrorScreen />;\r\n }\r\n\r\n if (!query) {\r\n return <StartScreen />;\r\n }\r\n\r\n return <div className='DocSearch-Dropdown-Container'>\r\n <Answer onClick={(e) => {\r\n if (e.target instanceof HTMLAnchorElement) {\r\n onClose();\r\n }\r\n }}>\r\n <h2>{query}</h2>\r\n {status === 'loading' ?\r\n <Loading><LoadingIcon /></Loading> :\r\n <Markdown\r\n aside={false}\r\n inject={false}\r\n components={components}\r\n >\r\n {answer}\r\n </Markdown>}\r\n </Answer>\r\n </div>;\r\n}\r\n\r\nconst Loading = styled.div`\r\n align-items: center;\r\n color: var(--docsearch-highlight-color);\r\n display: flex;\r\n justify-content: center;\r\n\r\n svg {\r\n height: 24px;\r\n width: 24px\r\n }\r\n`;\r\n\r\nconst Answer = styled.div`\r\n margin-top: 16px;\r\n margin-bottom: 16px;\r\n background: var(--docsearch-hit-background);\r\n padding: 16px;\r\n box-shadow: var(--docsearch-hit-shadow);\r\n border-radius: 4px;\r\n\r\n h2 {\r\n padding-bottom: .4em;\r\n font-size: 1.3em;\r\n line-height: 1.2;\r\n border-bottom: 1px solid #eeeeee;\r\n margin-top: 0;\r\n margin-bottom: 1em;\r\n }\r\n`;\r\n","import Form from './form';\r\nimport State from './state';\r\nimport { useEffect, useRef } from 'react';\r\nimport { styled, useSelector } from '@topwrite/common';\r\n\r\ninterface AskBoxProps {\r\n onClose(): void;\r\n}\r\n\r\nexport default function AskBox({ onClose }: AskBoxProps) {\r\n\r\n const { query, status, answer } = useSelector('ask');\r\n const dropdownRef = useRef<HTMLDivElement | null>(null);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current.scrollTop = 0;\r\n }\r\n }, [query]);\r\n\r\n useEffect(() => {\r\n if (dropdownRef.current && status === 'stalled') {\r\n dropdownRef.current.scrollTop = dropdownRef.current.scrollHeight;\r\n }\r\n }, [answer, status]);\r\n\r\n return <>\r\n <Form onClose={onClose} />\r\n <Container ref={dropdownRef}>\r\n <State onClose={onClose} />\r\n </Container>\r\n </>;\r\n}\r\n\r\nconst Container = styled.div`\r\n max-height: calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));\r\n min-height: var(--docsearch-spacing);\r\n overflow-y: auto;\r\n padding: 0 var(--docsearch-spacing);\r\n scrollbar-color: var(--docsearch-muted-color) var(--docsearch-modal-background);\r\n scrollbar-width: thin;\r\n\r\n @media (max-width: 768px) {\r\n max-height: calc(var(--docsearch-vh, 1vh) * 100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));\r\n }\r\n @media (max-width: 768px) {\r\n height: 100%;\r\n }\r\n`;\r\n","import { useEffect, useRef } from 'react';\r\nimport { Footer } from './footer';\r\nimport SearchBox from './search-box';\r\nimport { useTrapFocus } from './hooks/use-trap-focus';\r\nimport { styled } from '@topwrite/common';\r\nimport AskBox from './ask-box';\r\nimport { useMode } from './mode-provider';\r\n\r\nexport interface DocSearchModalProps {\r\n onClose(): void;\r\n}\r\n\r\nexport function DocSearchModal({ onClose }: DocSearchModalProps) {\r\n const [mode] = useMode();\r\n const containerRef = useRef<HTMLDivElement | null>(null);\r\n const modalRef = useRef<HTMLDivElement | null>(null);\r\n\r\n useTrapFocus({ container: containerRef.current });\r\n\r\n useEffect(() => {\r\n document.body.classList.add('DocSearch--active');\r\n\r\n return () => {\r\n document.body.classList.remove('DocSearch--active');\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n function setFullViewportHeight() {\r\n if (modalRef.current) {\r\n const vh = window.innerHeight * 0.01;\r\n modalRef.current.style.setProperty('--docsearch-vh', `${vh}px`);\r\n }\r\n }\r\n\r\n setFullViewportHeight();\r\n\r\n window.addEventListener('resize', setFullViewportHeight);\r\n\r\n return () => {\r\n window.removeEventListener('resize', setFullViewportHeight);\r\n };\r\n }, []);\r\n\r\n return <Container\r\n ref={containerRef}\r\n className='DocSearch DocSearch-Container'\r\n onMouseDown={(event) => {\r\n if (event.target === event.currentTarget) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <div className='DocSearch-Modal' ref={modalRef}>\r\n {mode === 'search' ? <SearchBox onClose={onClose} /> : <AskBox onClose={onClose} />}\r\n <Footer />\r\n </div>\r\n </Container>;\r\n}\r\n\r\nconst Container = styled.div`\r\n .DocSearch-Commands-Key {\r\n padding-left: 1px;\r\n font-size: .875rem;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n background-image: none;\r\n box-shadow: none;\r\n }\r\n\r\n .DocSearch-Title {\r\n &:not(:last-child) {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n\r\n .DocSearch-Hits {\r\n ul {\r\n box-shadow: var(--docsearch-hit-shadow);\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n margin-top: 3px;\r\n }\r\n }\r\n\r\n .DocSearch-Hit {\r\n padding-bottom: 0;\r\n border-radius: 0;\r\n\r\n a {\r\n border-radius: 0;\r\n border-top: 1px solid rgb(212, 217, 225, 0.4);\r\n box-shadow: none;\r\n }\r\n\r\n &:first-child {\r\n a {\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n border-top-width: 0;\r\n }\r\n }\r\n\r\n &:last-child {\r\n a {\r\n border-bottom-left-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n }\r\n }\r\n }\r\n\r\n .DocSearch-Hit-content-wrapper {\r\n line-height: 1.3;\r\n }\r\n\r\n .DocSearch-Hit-title {\r\n font-size: 1em;\r\n }\r\n\r\n .DocSearch-Help {\r\n font-size: 1em;\r\n }\r\n\r\n .DocSearch-Label {\r\n line-height: 1;\r\n }\r\n\r\n`;\r\n","import React from 'react';\r\n\r\ninterface UseTrapFocusProps {\r\n container: HTMLElement | null;\r\n}\r\n\r\nexport function useTrapFocus({ container }: UseTrapFocusProps) {\r\n React.useEffect(() => {\r\n if (!container) {\r\n return undefined;\r\n }\r\n\r\n const focusableElements = container.querySelectorAll<HTMLElement>(\r\n 'a[href]:not([disabled]), button:not([disabled]), input:not([disabled])'\r\n );\r\n const firstElement = focusableElements[0];\r\n const lastElement = focusableElements[focusableElements.length - 1];\r\n\r\n function trapFocus(event: KeyboardEvent) {\r\n if (event.key !== 'Tab') {\r\n return;\r\n }\r\n\r\n if (event.shiftKey) {\r\n if (document.activeElement === firstElement) {\r\n event.preventDefault();\r\n lastElement.focus();\r\n }\r\n } else if (document.activeElement === lastElement) {\r\n event.preventDefault();\r\n firstElement.focus();\r\n }\r\n }\r\n\r\n container.addEventListener('keydown', trapFocus);\r\n\r\n return () => {\r\n container.removeEventListener('keydown', trapFocus);\r\n };\r\n }, [container]);\r\n}\r\n","import { useKeyboardEvents } from './hooks/use-keyboard-events';\r\nimport { ElementType, useCallback, useEffect, useRef, useState } from 'react';\r\nimport { DocSearchButton } from './doc-search-button';\r\nimport { createPortal } from 'react-dom';\r\nimport { DocSearchModal } from './doc-search-modal';\r\nimport { createGlobalStyle, useActions } from '@topwrite/common';\r\nimport '@docsearch/css';\r\nimport ModeProvider from './mode-provider';\r\nimport { usePart } from '../../lib/use-article';\r\n\r\nexport interface DocSearchProps {\r\n as?: ElementType;\r\n className?: string;\r\n onlyCurrentPart?: boolean;\r\n}\r\n\r\nexport default function DocSearch({ as, className, onlyCurrentPart, ...props }: DocSearchProps) {\r\n const searchButtonRef = useRef<HTMLButtonElement>(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { setPart: setSearchPart } = useActions('search');\r\n const { setPart: setAskPart } = useActions('ask');\r\n const part = usePart();\r\n\r\n const onOpen = useCallback(() => {\r\n setIsOpen(true);\r\n }, [setIsOpen]);\r\n\r\n const onClose = useCallback(() => {\r\n setIsOpen(false);\r\n }, [setIsOpen]);\r\n\r\n const onInput = useCallback(() => {\r\n setIsOpen(true);\r\n }, [setIsOpen]);\r\n\r\n useKeyboardEvents({\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onInput,\r\n searchButtonRef,\r\n });\r\n\r\n useEffect(() => {\r\n setSearchPart(onlyCurrentPart ? part?.level.toString() : undefined);\r\n setAskPart(onlyCurrentPart ? part?.level.toString() : undefined);\r\n }, [onlyCurrentPart, part]);\r\n\r\n const Component = as || DocSearchButton;\r\n\r\n return <ModeProvider>\r\n <GlobalStyle />\r\n <Component onClick={onOpen} className={className} ref={searchButtonRef} />\r\n {isOpen && createPortal(\r\n <DocSearchModal\r\n {...props}\r\n onClose={onClose}\r\n />,\r\n document.body\r\n )}\r\n </ModeProvider>;\r\n}\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n :root:root {\r\n --docsearch-primary-color: var(--ttw-primary-color, #3c60ff);\r\n --docsearch-hit-height: 48px;\r\n --docsearch-searchbox-height: 48px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nexport interface UseDocSearchKeyboardEventsProps {\r\n isOpen: boolean;\r\n\r\n onOpen(): void;\r\n\r\n onClose(): void;\r\n\r\n onInput?(event: KeyboardEvent): void;\r\n\r\n searchButtonRef?: React.RefObject<HTMLButtonElement>;\r\n}\r\n\r\nfunction isEditingContent(event: KeyboardEvent): boolean {\r\n const element = event.target as HTMLElement;\r\n const tagName = element.tagName;\r\n\r\n return (\r\n element.isContentEditable ||\r\n tagName === 'INPUT' ||\r\n tagName === 'SELECT' ||\r\n tagName === 'TEXTAREA'\r\n );\r\n}\r\n\r\nexport function useKeyboardEvents({\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onInput,\r\n searchButtonRef,\r\n}: UseDocSearchKeyboardEventsProps) {\r\n React.useEffect(() => {\r\n function onKeyDown(event: KeyboardEvent) {\r\n function open() {\r\n // We check that no other DocSearch modal is showing before opening\r\n // another one.\r\n if (!document.body.classList.contains('DocSearch--active')) {\r\n onOpen();\r\n }\r\n }\r\n\r\n if (\r\n (event.keyCode === 27 && isOpen) ||\r\n // The `Cmd+K` shortcut both opens and closes the modal.\r\n (event.key === 'k' && (event.metaKey || event.ctrlKey)) ||\r\n // The `/` shortcut opens but doesn't close the modal because it's\r\n // a character.\r\n (!isEditingContent(event) && event.key === '/' && !isOpen)\r\n ) {\r\n event.preventDefault();\r\n\r\n if (isOpen) {\r\n onClose();\r\n } else if (!document.body.classList.contains('DocSearch--active')) {\r\n open();\r\n }\r\n }\r\n\r\n if (\r\n searchButtonRef &&\r\n searchButtonRef.current === document.activeElement &&\r\n onInput\r\n ) {\r\n if (/[a-zA-Z0-9]/.test(String.fromCharCode(event.keyCode))) {\r\n onInput(event);\r\n }\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [isOpen, onOpen, onClose, onInput, searchButtonRef]);\r\n}\r\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n"],"names":["LoadingIcon","_jsx","viewBox","stroke","strokeOpacity","children","fill","fillRule","_jsxs","transform","strokeWidth","cx","cy","r","d","attributeName","type","from","to","dur","repeatCount","ResetIcon","width","height","strokeLinecap","strokeLinejoin","SearchIcon","className","SelectIcon","ContentIcon","ErrorIcon","NoResultsIcon","ControlKeyIcon","AskIcon","preserveAspectRatio","clipRule","ACTION_KEY_DEFAULT","DocSearchButton","forwardRef","_ref","ref","props","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","key","setKey","useEffect","navigator","test","platform","intl","useIntl","Button","_objectSpread","$t","id","defaultMessage","styled","_templateObject","_taggedTemplateLiteral","Context","createContext","mode","setMode","Provider","value","useMode","useContext","CommandIcon","Footer","_useMode","_useMode2","enable","useSelector","commands","push","Container","ModeSwitcher","SwitcherButton","onClick","$active","css","_templateObject2","_templateObject3","_templateObject4","MAX_QUERY_SIZE","Form","onClose","_useModel","useModel","_useModel2","_useModel2$","query","status","fetch","inputRef","useRef","initialQuery","current","React","focus","onReset","useCallback","debounced","useMemo","debounce","handleSearch","e","target","filter","Boolean","join","onSubmit","event","preventDefault","defaultValue","placeholder","enterKeyHint","autoFocus","maxLength","onChange","title","hidden","ErrorScreen","StartScreen","hasCollections","NoResultsScreen","Results","items","map","item","index","Result","_ref2","onItemClick","onActive","activeIndex","onMouseMove","Link","path","body","ResultsScreen","collections","collection","State","_useSelector","searchPart","part","results","currentPart","usePart","summary","useBook","isSinglePart","parts","getParts","level","toString","result","article","getArticle","getArticlePart","sort","a","length","SearchBox","undefined","setActiveIndex","dropdownRef","scrollTop","getActiveItem","_dropdownRef$current","getElementsByClassName","onKeyDown","arguments","activeItem","scrollIntoViewIfNeeded","scrollIntoView","requestAnimationFrame","_activeItem$getElemen","getElementsByTagName","dispatchEvent","Event","bubbles","window","addEventListener","removeEventListener","_Fragment","handleAsk","disabled","answer","components","Anchor","Answer","HTMLAnchorElement","Loading","Markdown","aside","inject","AskBox","scrollHeight","DocSearchModal","containerRef","modalRef","container","focusableElements","querySelectorAll","firstElement","lastElement","trapFocus","shiftKey","document","activeElement","useTrapFocus","classList","add","remove","setFullViewportHeight","vh","innerHeight","style","setProperty","concat","onMouseDown","currentTarget","DocSearch","as","onlyCurrentPart","searchButtonRef","isOpen","setIsOpen","setSearchPart","useActions","setPart","setAskPart","onOpen","onInput","keyCode","metaKey","ctrlKey","element","tagName","isContentEditable","isEditingContent","contains","String","fromCharCode","useKeyboardEvents","Component","ModeProvider","GlobalStyle","createPortal","createGlobalStyle","tryToString","$TypeError","TypeError","module","exports","O","P","firefox","match","UA","webkit","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","deletePropertyOrThrow","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","k","v","b","charAt","proto","forced","comparefn","array","this","itemsLength","arrayLength","x","y","getSortCompare"],"sourceRoot":""}
@@ -0,0 +1,8 @@
1
+ (self.webpackChunk_topwrite_reader=self.webpackChunk_topwrite_reader||[]).push([[561],{26372:(e,t)=>{var n;
2
+ /*!
3
+ Copyright (c) 2018 Jed Watson.
4
+ Licensed under the MIT License (MIT), see
5
+ http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=r.apply(null,n);a&&e.push(a)}}else if("object"===i){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var u in n)o.call(n,u)&&n[u]&&e.push(u)}}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},37261:e=>{e.exports="function"==typeof Bun&&Bun&&"string"==typeof Bun.version},54994:(e,t,n)=>{"use strict";var o,r=n(92019),i=n(31152),a=n(17389),u=n(37261),c=n(75531),s=n(52980),l=n(13108),f=r.Function,p=/MSIE .\./.test(c)||u&&((o=r.Bun.version.split(".")).length<3||0==o[0]&&(o[1]<3||3==o[1]&&0==o[2]));e.exports=function(e,t){var n=t?2:1;return p?function(o,r){var u=l(arguments.length,1)>n,c=a(o)?o:f(o),p=u?s(arguments,n):[],d=u?function(){i(c,this,p)}:c;return t?e(d,r):e(d)}:e}},20363:(e,t,n)=>{var o=n(46367),r=n(92019),i=n(54994)(r.setInterval,!0);o({global:!0,bind:!0,forced:r.setInterval!==i},{setInterval:i})},47294:(e,t,n)=>{var o=n(46367),r=n(92019),i=n(54994)(r.setTimeout,!0);o({global:!0,bind:!0,forced:r.setTimeout!==i},{setTimeout:i})},62940:(e,t,n)=>{n(20363),n(47294)},88951:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Qn});var o=n(45675),r=n(24622),i=n(67666);function a(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=n(87363),c=n.n(u);function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var l=n(72320);function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(0,l.Z)(o.key),o)}}function p(e,t,n){return t&&f(e.prototype,t),n&&f(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=m(e);if(t){var i=m(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===(0,r.Z)(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}(this,n)}}var y=n(41470),w=n(61533),b=n.n(w),E=function(e){return+setTimeout(e,16)},O=function(e){return clearTimeout(e)};"undefined"!=typeof window&&"requestAnimationFrame"in window&&(E=function(e){return window.requestAnimationFrame(e)},O=function(e){return window.cancelAnimationFrame(e)});var x=0,k=new Map;function C(e){k.delete(e)}var T=function(e){var t=x+=1;return function n(o){if(0===o)C(t),e();else{var r=E((function(){n(o-1)}));k.set(t,r)}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1),t};T.cancel=function(e){var t=k.get(e);return C(t),O(t)};const M=T;function P(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}function _(e){return function(e){return e instanceof HTMLElement||e instanceof SVGElement}(e)?e:e instanceof c().Component?b().findDOMNode(e):null}var S=n(65566);function D(e,t){"function"==typeof e?e(t):"object"===(0,r.Z)(e)&&e&&"current"in e&&(e.current=t)}function A(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t.filter((function(e){return e}));return o.length<=1?o[0]:function(e){t.forEach((function(t){D(t,e)}))}}function Z(e){var t,n,o=(0,S.isMemo)(e)?e.type.type:e.type;return!!("function"!=typeof o||null!==(t=o.prototype)&&void 0!==t&&t.render)&&!!("function"!=typeof e||null!==(n=e.prototype)&&void 0!==n&&n.render)}function L(e,t,n,o){var r=b().unstable_batchedUpdates?function(e){b().unstable_batchedUpdates(n,e)}:n;return null!=e&&e.addEventListener&&e.addEventListener(t,r,o),{remove:function(){null!=e&&e.removeEventListener&&e.removeEventListener(t,r,o)}}}function R(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}const j=(0,u.forwardRef)((function(e,t){var n=e.didUpdate,o=e.getContainer,r=e.children,i=(0,u.useRef)(),a=(0,u.useRef)();(0,u.useImperativeHandle)(t,(function(){return{}}));var c=(0,u.useRef)(!1);return!c.current&&R()&&(a.current=o(),i.current=a.current.parentNode,c.current=!0),(0,u.useEffect)((function(){null==n||n(e)})),(0,u.useEffect)((function(){return null===a.current.parentNode&&null!==i.current&&i.current.appendChild(a.current),function(){var e,t;null===(e=a.current)||void 0===e||null===(t=e.parentNode)||void 0===t||t.removeChild(a.current)}}),[]),a.current?b().createPortal(r,a.current):null}));var N=n(26372),V=n.n(N);function H(e,t,n){return n?e[0]===t[0]:e[0]===t[0]&&e[1]===t[1]}function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,i,a,u=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(u.push(o.value),u.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}var I,z,Y,X=(I=R(),z="undefined"!=typeof window?window:{},Y={animationend:F("Animation","AnimationEnd"),transitionend:F("Transition","TransitionEnd")},I&&("AnimationEvent"in z||delete Y.animationend.animation,"TransitionEvent"in z||delete Y.transitionend.transition),Y),G={};if(R()){var q=document.createElement("div");G=q.style}var U={};function $(e){if(U[e])return U[e];var t=X[e];if(t)for(var n=Object.keys(t),o=n.length,r=0;r<o;r+=1){var i=n[r];if(Object.prototype.hasOwnProperty.call(t,i)&&i in G)return U[e]=t[i],U[e]}return""}var K=$("animationend"),J=$("transitionend"),Q=!(!K||!J),ee=K||"animationend",te=J||"transitionend";function ne(e,t){return e?"object"===(0,r.Z)(e)?e[t.replace(/-\w/g,(function(e){return e[1].toUpperCase()}))]:"".concat(e,"-").concat(t):null}var oe="none",re="appear",ie="enter",ae="leave",ue="none",ce="prepare",se="start",le="active",fe="end";function pe(e){var t=u.useRef(!1),n=B(u.useState(e),2),o=n[0],r=n[1];return u.useEffect((function(){return t.current=!1,function(){t.current=!0}}),[]),[o,function(e,n){n&&t.current||r(e)}]}const de=R()?u.useLayoutEffect:u.useEffect;var he=[ce,se,le,fe],ve=!1,me=!0;function ge(e){return e===le||e===fe}const ye=function(e,t){var n=B(pe(ue),2),o=n[0],r=n[1],i=function(){var e=u.useRef(null);function t(){M.cancel(e.current)}return u.useEffect((function(){return function(){t()}}),[]),[function n(o){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;t();var i=M((function(){r<=1?o({isCanceled:function(){return i!==e.current}}):n(o,r-1)}));e.current=i},t]}(),a=B(i,2),c=a[0],s=a[1];return de((function(){if(o!==ue&&o!==fe){var e=he.indexOf(o),n=he[e+1],i=t(o);i===ve?r(n,!0):c((function(e){function t(){e.isCanceled()||r(n,!0)}!0===i?t():Promise.resolve(i).then(t)}))}}),[e,o]),u.useEffect((function(){return function(){s()}}),[]),[function(){r(ce,!0)},o]},we=function(e){var t=(0,u.useRef)(),n=(0,u.useRef)(e);n.current=e;var o=u.useCallback((function(e){n.current(e)}),[]);function r(e){e&&(e.removeEventListener(te,o),e.removeEventListener(ee,o))}return u.useEffect((function(){return function(){r(t.current)}}),[]),[function(e){t.current&&t.current!==e&&r(t.current),e&&e!==t.current&&(e.addEventListener(te,o),e.addEventListener(ee,o),t.current=e)},r]};const be=function(e){v(n,e);var t=g(n);function n(){return s(this,n),t.apply(this,arguments)}return p(n,[{key:"render",value:function(){return this.props.children}}]),n}(u.Component);const Ee=function(e){var t=e;function n(e){return!(!e.motionName||!t)}"object"===(0,r.Z)(e)&&(t=e.transitionSupport);var o=u.forwardRef((function(e,t){var o=e.visible,r=void 0===o||o,a=e.removeOnLeave,c=void 0===a||a,s=e.forceRender,l=e.children,f=e.motionName,p=e.leavedClassName,d=e.eventProps,h=n(e),v=(0,u.useRef)(),m=(0,u.useRef)();var g=function(e,t,n,o){var r=o.motionEnter,a=void 0===r||r,c=o.motionAppear,s=void 0===c||c,l=o.motionLeave,f=void 0===l||l,p=o.motionDeadline,d=o.motionLeaveImmediately,h=o.onAppearPrepare,v=o.onEnterPrepare,m=o.onLeavePrepare,g=o.onAppearStart,w=o.onEnterStart,b=o.onLeaveStart,E=o.onAppearActive,O=o.onEnterActive,x=o.onLeaveActive,k=o.onAppearEnd,C=o.onEnterEnd,T=o.onLeaveEnd,M=o.onVisibleChanged,P=B(pe(),2),_=P[0],S=P[1],D=B(pe(oe),2),A=D[0],Z=D[1],L=B(pe(null),2),R=L[0],j=L[1],N=(0,u.useRef)(!1),V=(0,u.useRef)(null);function H(){return n()}var W=(0,u.useRef)(!1);function F(e){var t=H();if(!e||e.deadline||e.target===t){var n,o=W.current;A===re&&o?n=null==k?void 0:k(t,e):A===ie&&o?n=null==C?void 0:C(t,e):A===ae&&o&&(n=null==T?void 0:T(t,e)),A!==oe&&o&&!1!==n&&(Z(oe,!0),j(null,!0))}}var I=B(we(F),1)[0],z=u.useMemo((function(){var e,t,n;switch(A){case re:return e={},(0,y.Z)(e,ce,h),(0,y.Z)(e,se,g),(0,y.Z)(e,le,E),e;case ie:return t={},(0,y.Z)(t,ce,v),(0,y.Z)(t,se,w),(0,y.Z)(t,le,O),t;case ae:return n={},(0,y.Z)(n,ce,m),(0,y.Z)(n,se,b),(0,y.Z)(n,le,x),n;default:return{}}}),[A]),Y=B(ye(A,(function(e){if(e===ce){var t=z[ce];return t?t(H()):ve}var n;return G in z&&j((null===(n=z[G])||void 0===n?void 0:n.call(z,H(),null))||null),G===le&&(I(H()),p>0&&(clearTimeout(V.current),V.current=setTimeout((function(){F({deadline:!0})}),p))),me})),2),X=Y[0],G=Y[1],q=ge(G);W.current=q,de((function(){S(t);var n,o=N.current;N.current=!0,e&&(!o&&t&&s&&(n=re),o&&t&&a&&(n=ie),(o&&!t&&f||!o&&d&&!t&&f)&&(n=ae),n&&(Z(n),X()))}),[t]),(0,u.useEffect)((function(){(A===re&&!s||A===ie&&!a||A===ae&&!f)&&Z(oe)}),[s,a,f]),(0,u.useEffect)((function(){return function(){N.current=!1,clearTimeout(V.current)}}),[]);var U=u.useRef(!1);(0,u.useEffect)((function(){_&&(U.current=!0),void 0!==_&&A===oe&&((U.current||_)&&(null==M||M(_)),U.current=!0)}),[_,A]);var $=R;return z[ce]&&G===se&&($=(0,i.Z)({transition:"none"},$)),[A,G,$,null!=_?_:t]}(h,r,(function(){try{return v.current instanceof HTMLElement?v.current:_(m.current)}catch(e){return null}}),e),w=B(g,4),b=w[0],E=w[1],O=w[2],x=w[3],k=u.useRef(x);x&&(k.current=!0);var C,T=u.useCallback((function(e){v.current=e,D(t,e)}),[t]),M=(0,i.Z)((0,i.Z)({},d),{},{visible:r});if(l)if(b!==oe&&n(e)){var P,S;E===ce?S="prepare":ge(E)?S="active":E===se&&(S="start"),C=l((0,i.Z)((0,i.Z)({},M),{},{className:V()(ne(f,b),(P={},(0,y.Z)(P,ne(f,"".concat(b,"-").concat(S)),S),(0,y.Z)(P,f,"string"==typeof f),P)),style:O}),T)}else C=x?l((0,i.Z)({},M),T):!c&&k.current&&p?l((0,i.Z)((0,i.Z)({},M),{},{className:p}),T):s||!c&&!p?l((0,i.Z)((0,i.Z)({},M),{},{style:{display:"none"}}),T):null;else C=null;u.isValidElement(C)&&Z(C)&&(C.ref||(C=u.cloneElement(C,{ref:T})));return u.createElement(be,{ref:m},C)}));return o.displayName="CSSMotion",o}(Q);var Oe="add",xe="keep",ke="remove",Ce="removed";function Te(e){var t;return t=e&&"object"===(0,r.Z)(e)&&"key"in e?e:{key:e},(0,i.Z)((0,i.Z)({},t),{},{key:String(t.key)})}function Me(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(Te)}var Pe=["component","children","onVisibleChanged","onAllRemoved"],_e=["status"],Se=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ee,n=function(e){v(r,e);var n=g(r);function r(){var e;s(this,r);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),(0,y.Z)(d(e),"state",{keyEntities:[]}),(0,y.Z)(d(e),"removeKey",(function(t){var n=e.state.keyEntities.map((function(e){return e.key!==t?e:(0,i.Z)((0,i.Z)({},e),{},{status:Ce})}));return e.setState({keyEntities:n}),n.filter((function(e){return e.status!==Ce})).length})),e}return p(r,[{key:"render",value:function(){var e=this,n=this.state.keyEntities,r=this.props,i=r.component,c=r.children,s=r.onVisibleChanged,l=r.onAllRemoved,f=a(r,Pe),p=i||u.Fragment,d={};return Se.forEach((function(e){d[e]=f[e],delete f[e]})),delete f.keys,u.createElement(p,f,n.map((function(n){var r=n.status,i=a(n,_e),f=r===Oe||r===xe;return u.createElement(t,(0,o.Z)({},d,{key:i.key,visible:f,eventProps:i,onVisibleChanged:function(t){(null==s||s(t,{key:i.key}),t)||0===e.removeKey(i.key)&&l&&l()}}),c)})))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.keys,o=t.keyEntities,r=Me(n),a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],o=0,r=t.length,a=Me(e),u=Me(t);a.forEach((function(e){for(var t=!1,a=o;a<r;a+=1){var c=u[a];if(c.key===e.key){o<a&&(n=n.concat(u.slice(o,a).map((function(e){return(0,i.Z)((0,i.Z)({},e),{},{status:Oe})}))),o=a),n.push((0,i.Z)((0,i.Z)({},c),{},{status:xe})),o+=1,t=!0;break}}t||n.push((0,i.Z)((0,i.Z)({},e),{},{status:ke}))})),o<r&&(n=n.concat(u.slice(o).map((function(e){return(0,i.Z)((0,i.Z)({},e),{},{status:Oe})}))));var c={};return n.forEach((function(e){var t=e.key;c[t]=(c[t]||0)+1})),Object.keys(c).filter((function(e){return c[e]>1})).forEach((function(e){(n=n.filter((function(t){var n=t.key,o=t.status;return n!==e||o!==ke}))).forEach((function(t){t.key===e&&(t.status=xe)}))})),n}(o,r);return{keyEntities:a.filter((function(e){var t=o.find((function(t){var n=t.key;return e.key===n}));return!t||t.status!==Ce||e.status!==ke}))}}}]),r}(u.Component);(0,y.Z)(n,"defaultProps",{component:"div"})}(Q);const De=Ee;function Ae(e){var t=e.prefixCls,n=e.motion,o=e.animation,r=e.transitionName;return n||(o?{motionName:"".concat(t,"-").concat(o)}:r?{motionName:r}:null)}function Ze(e){var t=e.prefixCls,n=e.visible,r=e.zIndex,a=e.mask,c=e.maskMotion,s=e.maskAnimation,l=e.maskTransitionName;if(!a)return null;var f={};return(c||l||s)&&(f=(0,i.Z)({motionAppear:!0},Ae({motion:c,prefixCls:t,transitionName:l,animation:s}))),u.createElement(De,(0,o.Z)({},f,{visible:n,removeOnLeave:!0}),(function(e){var n=e.className;return u.createElement("div",{style:{zIndex:r},className:V()("".concat(t,"-mask"),n)})}))}function Le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Le(Object(n),!0).forEach((function(t){Ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Le(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function Ne(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ve,He={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function We(){if(void 0!==Ve)return Ve;Ve="";var e=document.createElement("p").style;for(var t in He)t+"Transform"in e&&(Ve=t);return Ve}function Be(){return We()?"".concat(We(),"TransitionProperty"):"transitionProperty"}function Fe(){return We()?"".concat(We(),"Transform"):"transform"}function Ie(e,t){var n=Be();n&&(e.style[n]=t,"transitionProperty"!==n&&(e.style.transitionProperty=t))}function ze(e,t){var n=Fe();n&&(e.style[n]=t,"transform"!==n&&(e.style.transform=t))}var Ye,Xe=/matrix\((.*)\)/,Ge=/matrix3d\((.*)\)/;function qe(e){var t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}function Ue(e,t,n){var o=n;if("object"!==je(t))return void 0!==o?("number"==typeof o&&(o="".concat(o,"px")),void(e.style[t]=o)):Ye(e,t);for(var r in t)t.hasOwnProperty(r)&&Ue(e,r,t[r])}function $e(e,t){var n=e["page".concat(t?"Y":"X","Offset")],o="scroll".concat(t?"Top":"Left");if("number"!=typeof n){var r=e.document;"number"!=typeof(n=r.documentElement[o])&&(n=r.body[o])}return n}function Ke(e){return $e(e)}function Je(e){return $e(e,!0)}function Qe(e){var t=function(e){var t,n,o,r=e.ownerDocument,i=r.body,a=r&&r.documentElement;return t=e.getBoundingClientRect(),n=Math.floor(t.left),o=Math.floor(t.top),{left:n-=a.clientLeft||i.clientLeft||0,top:o-=a.clientTop||i.clientTop||0}}(e),n=e.ownerDocument,o=n.defaultView||n.parentWindow;return t.left+=Ke(o),t.top+=Je(o),t}function et(e){return null!=e&&e==e.window}function tt(e){return et(e)?e.document:9===e.nodeType?e:e.ownerDocument}var nt=new RegExp("^(".concat(/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,")(?!px)[a-z%]+$"),"i"),ot=/^(top|right|bottom|left)$/,rt="currentStyle",it="runtimeStyle",at="left",ut="px";function ct(e,t){return"left"===e?t.useCssRight?"right":e:t.useCssBottom?"bottom":e}function st(e){return"left"===e?"right":"right"===e?"left":"top"===e?"bottom":"bottom"===e?"top":void 0}function lt(e,t,n){"static"===Ue(e,"position")&&(e.style.position="relative");var o=-999,r=-999,i=ct("left",n),a=ct("top",n),u=st(i),c=st(a);"left"!==i&&(o=999),"top"!==a&&(r=999);var s,l="",f=Qe(e);("left"in t||"top"in t)&&(l=(s=e).style.transitionProperty||s.style[Be()]||"",Ie(e,"none")),"left"in t&&(e.style[u]="",e.style[i]="".concat(o,"px")),"top"in t&&(e.style[c]="",e.style[a]="".concat(r,"px")),qe(e);var p=Qe(e),d={};for(var h in t)if(t.hasOwnProperty(h)){var v=ct(h,n),m="left"===h?o:r,g=f[h]-p[h];d[v]=v===h?m+g:m-g}Ue(e,d),qe(e),("left"in t||"top"in t)&&Ie(e,l);var y={};for(var w in t)if(t.hasOwnProperty(w)){var b=ct(w,n),E=t[w]-f[w];y[b]=w===b?d[b]+E:d[b]-E}Ue(e,y)}function ft(e,t){var n=Qe(e),o=function(e){var t=window.getComputedStyle(e,null),n=t.getPropertyValue("transform")||t.getPropertyValue(Fe());if(n&&"none"!==n){var o=n.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(o[12]||o[4],0),y:parseFloat(o[13]||o[5],0)}}return{x:0,y:0}}(e),r={x:o.x,y:o.y};"left"in t&&(r.x=o.x+t.left-n.left),"top"in t&&(r.y=o.y+t.top-n.top),function(e,t){var n=window.getComputedStyle(e,null),o=n.getPropertyValue("transform")||n.getPropertyValue(Fe());if(o&&"none"!==o){var r,i=o.match(Xe);i?((r=(i=i[1]).split(",").map((function(e){return parseFloat(e,10)})))[4]=t.x,r[5]=t.y,ze(e,"matrix(".concat(r.join(","),")"))):((r=o.match(Ge)[1].split(",").map((function(e){return parseFloat(e,10)})))[12]=t.x,r[13]=t.y,ze(e,"matrix3d(".concat(r.join(","),")")))}else ze(e,"translateX(".concat(t.x,"px) translateY(").concat(t.y,"px) translateZ(0)"))}(e,r)}function pt(e,t){for(var n=0;n<e.length;n++)t(e[n])}function dt(e){return"border-box"===Ye(e,"boxSizing")}"undefined"!=typeof window&&(Ye=window.getComputedStyle?function(e,t,n){var o=n,r="",i=tt(e);return(o=o||i.defaultView.getComputedStyle(e,null))&&(r=o.getPropertyValue(t)||o[t]),r}:function(e,t){var n=e[rt]&&e[rt][t];if(nt.test(n)&&!ot.test(t)){var o=e.style,r=o[at],i=e[it][at];e[it][at]=e[rt][at],o[at]="fontSize"===t?"1em":n||0,n=o.pixelLeft+ut,o[at]=r,e[it][at]=i}return""===n?"auto":n});var ht=["margin","border","padding"],vt=-1,mt=2,gt=1;function yt(e,t,n){var o,r,i,a=0;for(r=0;r<t.length;r++)if(o=t[r])for(i=0;i<n.length;i++){var u=void 0;u="border"===o?"".concat(o).concat(n[i],"Width"):o+n[i],a+=parseFloat(Ye(e,u))||0}return a}var wt={getParent:function(e){var t=e;do{t=11===t.nodeType&&t.host?t.host:t.parentNode}while(t&&1!==t.nodeType&&9!==t.nodeType);return t}};function bt(e,t,n){var o=n;if(et(e))return"width"===t?wt.viewportWidth(e):wt.viewportHeight(e);if(9===e.nodeType)return"width"===t?wt.docWidth(e):wt.docHeight(e);var r="width"===t?["Left","Right"]:["Top","Bottom"],i="width"===t?Math.floor(e.getBoundingClientRect().width):Math.floor(e.getBoundingClientRect().height),a=dt(e),u=0;(null==i||i<=0)&&(i=void 0,(null==(u=Ye(e,t))||Number(u)<0)&&(u=e.style[t]||0),u=Math.floor(parseFloat(u))||0),void 0===o&&(o=a?gt:vt);var c=void 0!==i||a,s=i||u;return o===vt?c?s-yt(e,["border","padding"],r):u:c?o===gt?s:s+(o===mt?-yt(e,["border"],r):yt(e,["margin"],r)):u+yt(e,ht.slice(o),r)}pt(["Width","Height"],(function(e){wt["doc".concat(e)]=function(t){var n=t.document;return Math.max(n.documentElement["scroll".concat(e)],n.body["scroll".concat(e)],wt["viewport".concat(e)](n))},wt["viewport".concat(e)]=function(t){var n="client".concat(e),o=t.document,r=o.body,i=o.documentElement[n];return"CSS1Compat"===o.compatMode&&i||r&&r[n]||i}}));var Et={position:"absolute",visibility:"hidden",display:"block"};function Ot(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,r=t[0];return 0!==r.offsetWidth?o=bt.apply(void 0,t):function(e,t,n){var o,r={},i=e.style;for(o in t)t.hasOwnProperty(o)&&(r[o]=i[o],i[o]=t[o]);for(o in n.call(e),t)t.hasOwnProperty(o)&&(i[o]=r[o])}(r,Et,(function(){o=bt.apply(void 0,t)})),o}function xt(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}pt(["width","height"],(function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);wt["outer".concat(t)]=function(t,n){return t&&Ot(t,e,n?0:gt)};var n="width"===e?["Left","Right"]:["Top","Bottom"];wt[e]=function(t,o){var r=o;return void 0!==r?t?(dt(t)&&(r+=yt(t,["padding","border"],n)),Ue(t,e,r)):void 0:t&&Ot(t,e,vt)}}));var kt={getWindow:function(e){if(e&&e.document&&e.setTimeout)return e;var t=e.ownerDocument||e;return t.defaultView||t.parentWindow},getDocument:tt,offset:function(e,t,n){if(void 0===t)return Qe(e);!function(e,t,n){if(n.ignoreShake){var o=Qe(e),r=o.left.toFixed(0),i=o.top.toFixed(0),a=t.left.toFixed(0),u=t.top.toFixed(0);if(r===a&&i===u)return}n.useCssRight||n.useCssBottom?lt(e,t,n):n.useCssTransform&&Fe()in document.body.style?ft(e,t):lt(e,t,n)}(e,t,n||{})},isWindow:et,each:pt,css:Ue,clone:function(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);if(e.overflow)for(t in e)e.hasOwnProperty(t)&&(n.overflow[t]=e.overflow[t]);return n},mix:xt,getWindowScrollLeft:function(e){return Ke(e)},getWindowScrollTop:function(e){return Je(e)},merge:function(){for(var e={},t=0;t<arguments.length;t++)kt.mix(e,t<0||arguments.length<=t?void 0:arguments[t]);return e},viewportWidth:0,viewportHeight:0};xt(kt,wt);var Ct=kt.getParent;function Tt(e){if(kt.isWindow(e)||9===e.nodeType)return null;var t,n=kt.getDocument(e).body,o=kt.css(e,"position");if(!("fixed"===o||"absolute"===o))return"html"===e.nodeName.toLowerCase()?null:Ct(e);for(t=Ct(e);t&&t!==n&&9!==t.nodeType;t=Ct(t))if("static"!==(o=kt.css(t,"position")))return t;return null}var Mt=kt.getParent;function Pt(e,t){for(var n={left:0,right:1/0,top:0,bottom:1/0},o=Tt(e),r=kt.getDocument(e),i=r.defaultView||r.parentWindow,a=r.body,u=r.documentElement;o;){if(-1!==navigator.userAgent.indexOf("MSIE")&&0===o.clientWidth||o===a||o===u||"visible"===kt.css(o,"overflow")){if(o===a||o===u)break}else{var c=kt.offset(o);c.left+=o.clientLeft,c.top+=o.clientTop,n.top=Math.max(n.top,c.top),n.right=Math.min(n.right,c.left+o.clientWidth),n.bottom=Math.min(n.bottom,c.top+o.clientHeight),n.left=Math.max(n.left,c.left)}o=Tt(o)}var s=null;kt.isWindow(e)||9===e.nodeType||(s=e.style.position,"absolute"===kt.css(e,"position")&&(e.style.position="fixed"));var l=kt.getWindowScrollLeft(i),f=kt.getWindowScrollTop(i),p=kt.viewportWidth(i),d=kt.viewportHeight(i),h=u.scrollWidth,v=u.scrollHeight,m=window.getComputedStyle(a);if("hidden"===m.overflowX&&(h=i.innerWidth),"hidden"===m.overflowY&&(v=i.innerHeight),e.style&&(e.style.position=s),t||function(e){if(kt.isWindow(e)||9===e.nodeType)return!1;var t=kt.getDocument(e),n=t.body,o=null;for(o=Mt(e);o&&o!==n&&o!==t;o=Mt(o))if("fixed"===kt.css(o,"position"))return!0;return!1}(e))n.left=Math.max(n.left,l),n.top=Math.max(n.top,f),n.right=Math.min(n.right,l+p),n.bottom=Math.min(n.bottom,f+d);else{var g=Math.max(h,l+p);n.right=Math.min(n.right,g);var y=Math.max(v,f+d);n.bottom=Math.min(n.bottom,y)}return n.top>=0&&n.left>=0&&n.bottom>n.top&&n.right>n.left?n:null}function _t(e){var t,n,o;if(kt.isWindow(e)||9===e.nodeType){var r=kt.getWindow(e);t={left:kt.getWindowScrollLeft(r),top:kt.getWindowScrollTop(r)},n=kt.viewportWidth(r),o=kt.viewportHeight(r)}else t=kt.offset(e),n=kt.outerWidth(e),o=kt.outerHeight(e);return t.width=n,t.height=o,t}function St(e,t){var n=t.charAt(0),o=t.charAt(1),r=e.width,i=e.height,a=e.left,u=e.top;return"c"===n?u+=i/2:"b"===n&&(u+=i),"c"===o?a+=r/2:"r"===o&&(a+=r),{left:a,top:u}}function Dt(e,t,n,o,r){var i=St(t,n[1]),a=St(e,n[0]),u=[a.left-i.left,a.top-i.top];return{left:Math.round(e.left-u[0]+o[0]-r[0]),top:Math.round(e.top-u[1]+o[1]-r[1])}}function At(e,t,n){return e.left<n.left||e.left+t.width>n.right}function Zt(e,t,n){return e.top<n.top||e.top+t.height>n.bottom}function Lt(e,t,n){var o=[];return kt.each(e,(function(e){o.push(e.replace(t,(function(e){return n[e]})))})),o}function Rt(e,t){return e[t]=-e[t],e}function jt(e,t){return(/%$/.test(e)?parseInt(e.substring(0,e.length-1),10)/100*t:parseInt(e,10))||0}function Nt(e,t){e[0]=jt(e[0],t.width),e[1]=jt(e[1],t.height)}function Vt(e,t,n,o){var r=n.points,i=n.offset||[0,0],a=n.targetOffset||[0,0],u=n.overflow,c=n.source||e;i=[].concat(i),a=[].concat(a);var s={},l=0,f=Pt(c,!(!(u=u||{})||!u.alwaysByViewport)),p=_t(c);Nt(i,p),Nt(a,t);var d=Dt(p,t,r,i,a),h=kt.merge(p,d);if(f&&(u.adjustX||u.adjustY)&&o){if(u.adjustX&&At(d,p,f)){var v=Lt(r,/[lr]/gi,{l:"r",r:"l"}),m=Rt(i,0),g=Rt(a,0);(function(e,t,n){return e.left>n.right||e.left+t.width<n.left})(Dt(p,t,v,m,g),p,f)||(l=1,r=v,i=m,a=g)}if(u.adjustY&&Zt(d,p,f)){var y=Lt(r,/[tb]/gi,{t:"b",b:"t"}),w=Rt(i,1),b=Rt(a,1);(function(e,t,n){return e.top>n.bottom||e.top+t.height<n.top})(Dt(p,t,y,w,b),p,f)||(l=1,r=y,i=w,a=b)}l&&(d=Dt(p,t,r,i,a),kt.mix(h,d));var E=At(d,p,f),O=Zt(d,p,f);if(E||O){var x=r;E&&(x=Lt(r,/[lr]/gi,{l:"r",r:"l"})),O&&(x=Lt(r,/[tb]/gi,{t:"b",b:"t"})),r=x,i=n.offset||[0,0],a=n.targetOffset||[0,0]}s.adjustX=u.adjustX&&E,s.adjustY=u.adjustY&&O,(s.adjustX||s.adjustY)&&(h=function(e,t,n,o){var r=kt.clone(e),i={width:t.width,height:t.height};return o.adjustX&&r.left<n.left&&(r.left=n.left),o.resizeWidth&&r.left>=n.left&&r.left+i.width>n.right&&(i.width-=r.left+i.width-n.right),o.adjustX&&r.left+i.width>n.right&&(r.left=Math.max(n.right-i.width,n.left)),o.adjustY&&r.top<n.top&&(r.top=n.top),o.resizeHeight&&r.top>=n.top&&r.top+i.height>n.bottom&&(i.height-=r.top+i.height-n.bottom),o.adjustY&&r.top+i.height>n.bottom&&(r.top=Math.max(n.bottom-i.height,n.top)),kt.mix(r,i)}(d,p,f,s))}return h.width!==p.width&&kt.css(c,"width",kt.width(c)+h.width-p.width),h.height!==p.height&&kt.css(c,"height",kt.height(c)+h.height-p.height),kt.offset(c,{left:h.left,top:h.top},{useCssRight:n.useCssRight,useCssBottom:n.useCssBottom,useCssTransform:n.useCssTransform,ignoreShake:n.ignoreShake}),{points:r,offset:i,targetOffset:a,overflow:s}}function Ht(e,t,n){var o=n.target||t,r=_t(o),i=!function(e,t){var n=Pt(e,t),o=_t(e);return!n||o.left+o.width<=n.left||o.top+o.height<=n.top||o.left>=n.right||o.top>=n.bottom}(o,n.overflow&&n.overflow.alwaysByViewport);return Vt(e,r,n,i)}Ht.__getOffsetParent=Tt,Ht.__getVisibleRectForElement=Pt;var Wt={},Bt=[];function Ft(e,t){}function It(e,t){}function zt(e,t,n){t||Wt[n]||(e(!1,n),Wt[n]=!0)}function Yt(e,t){zt(Ft,e,t)}Yt.preMessage=function(e){Bt.push(e)},Yt.resetWarned=function(){Wt={}},Yt.noteOnce=function(e,t){zt(It,e,t)};const Xt=Yt;const Gt=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=new Set;return function e(t,i){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,u=o.has(t);if(Xt(!u,"Warning: There may be circular references"),u)return!1;if(t===i)return!0;if(n&&a>1)return!1;o.add(t);var c=a+1;if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(var s=0;s<t.length;s++)if(!e(t[s],i[s],c))return!1;return!0}if(t&&i&&"object"===(0,r.Z)(t)&&"object"===(0,r.Z)(i)){var l=Object.keys(t);return l.length===Object.keys(i).length&&l.every((function(n){return e(t[n],i[n],c)}))}return!1}(e,t)};var qt=R()?u.useLayoutEffect:u.useEffect,Ut=function(e,t){var n=u.useRef(!0);qt((function(){return e(n.current)}),t),qt((function(){return n.current=!1,function(){n.current=!0}}),[])};const $t=Ut;var Kt=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,o){return e[0]===t&&(n=o,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(t,n){var o=e(this.__entries__,t);~o?this.__entries__[o][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,o=e(n,t);~o&&n.splice(o,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,o=this.__entries__;n<o.length;n++){var r=o[n];e.call(t,r[1],r[0])}},t}()}(),Jt="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Qt=void 0!==n.g&&n.g.Math===Math?n.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),en="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Qt):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},tn=2;var nn=20,on=["top","right","bottom","left","width","height","size","weight"],rn="undefined"!=typeof MutationObserver,an=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var n=!1,o=!1,r=0;function i(){n&&(n=!1,e()),o&&u()}function a(){en(i)}function u(){var e=Date.now();if(n){if(e-r<tn)return;o=!0}else n=!0,o=!1,setTimeout(a,t);r=e}return u}(this.refresh.bind(this),nn)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){Jt&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),rn?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){Jt&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;on.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),un=function(e,t){for(var n=0,o=Object.keys(t);n<o.length;n++){var r=o[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},cn=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||Qt},sn=vn(0,0,0,0);function ln(e){return parseFloat(e)||0}function fn(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){return t+ln(e["border-"+n+"-width"])}),0)}function pn(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return sn;var o=cn(e).getComputedStyle(e),r=function(e){for(var t={},n=0,o=["top","right","bottom","left"];n<o.length;n++){var r=o[n],i=e["padding-"+r];t[r]=ln(i)}return t}(o),i=r.left+r.right,a=r.top+r.bottom,u=ln(o.width),c=ln(o.height);if("border-box"===o.boxSizing&&(Math.round(u+i)!==t&&(u-=fn(o,"left","right")+i),Math.round(c+a)!==n&&(c-=fn(o,"top","bottom")+a)),!function(e){return e===cn(e).document.documentElement}(e)){var s=Math.round(u+i)-t,l=Math.round(c+a)-n;1!==Math.abs(s)&&(u-=s),1!==Math.abs(l)&&(c-=l)}return vn(r.left,r.top,u,c)}var dn="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof cn(e).SVGGraphicsElement}:function(e){return e instanceof cn(e).SVGElement&&"function"==typeof e.getBBox};function hn(e){return Jt?dn(e)?function(e){var t=e.getBBox();return vn(0,0,t.width,t.height)}(e):pn(e):sn}function vn(e,t,n,o){return{x:e,y:t,width:n,height:o}}var mn=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=vn(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=hn(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),gn=function(e,t){var n,o,r,i,a,u,c,s=(o=(n=t).x,r=n.y,i=n.width,a=n.height,u="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(u.prototype),un(c,{x:o,y:r,width:i,height:a,top:r,right:o+i,bottom:a+r,left:o}),c);un(this,{target:e,contentRect:s})},yn=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new Kt,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof cn(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new mn(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof cn(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new gn(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),wn="undefined"!=typeof WeakMap?new WeakMap:new Kt,bn=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=an.getInstance(),o=new yn(t,n,this);wn.set(this,o)};["observe","unobserve","disconnect"].forEach((function(e){bn.prototype[e]=function(){var t;return(t=wn.get(this))[e].apply(t,arguments)}}));const En=void 0!==Qt.ResizeObserver?Qt.ResizeObserver:bn;function On(e,t){var n=null,o=null;var r=new En((function(e){var r=B(e,1)[0].target;if(document.documentElement.contains(r)){var i=r.getBoundingClientRect(),a=i.width,u=i.height,c=Math.floor(a),s=Math.floor(u);n===c&&o===s||Promise.resolve().then((function(){t({width:c,height:s})})),n=c,o=s}}));return e&&r.observe(e),function(){r.disconnect()}}function xn(e){return"function"!=typeof e?null:e()}function kn(e){return"object"===(0,r.Z)(e)&&e?e:null}var Cn=function(e,t){var n=e.children,o=e.disabled,r=e.target,i=e.align,a=e.onAlign,u=e.monitorWindowResize,s=e.monitorBufferTime,l=void 0===s?0:s,f=c().useRef({}),p=c().useRef(),d=c().Children.only(n),h=c().useRef({});h.current.disabled=o,h.current.target=r,h.current.align=i,h.current.onAlign=a;var v=function(e,t){var n=c().useRef(!1),o=c().useRef(null);function r(){window.clearTimeout(o.current)}return[function i(a){if(r(),n.current&&!0!==a)o.current=window.setTimeout((function(){n.current=!1,i()}),t);else{if(!1===e(a))return;n.current=!0,o.current=window.setTimeout((function(){n.current=!1}),t)}},function(){n.current=!1,r()}]}((function(){var e=h.current,t=e.disabled,n=e.target,o=e.align,r=e.onAlign,i=p.current;if(!t&&n&&i){var a,u=xn(n),c=kn(n);f.current.element=u,f.current.point=c,f.current.align=o;var s=document.activeElement;return u&&function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,o=t.height;if(n||o)return!0}if(e.getBoundingClientRect){var r=e.getBoundingClientRect(),i=r.width,a=r.height;if(i||a)return!0}}return!1}(u)?a=Ht(i,u,o):c&&(a=function(e,t,n){var o,r,i=kt.getDocument(e),a=i.defaultView||i.parentWindow,u=kt.getWindowScrollLeft(a),c=kt.getWindowScrollTop(a),s=kt.viewportWidth(a),l=kt.viewportHeight(a),f={left:o="pageX"in t?t.pageX:u+t.clientX,top:r="pageY"in t?t.pageY:c+t.clientY,width:0,height:0},p=o>=0&&o<=u+s&&r>=0&&r<=c+l,d=[n.points[0],"cc"];return Vt(e,f,Re(Re({},n),{},{points:d}),p)}(i,c,o)),function(e,t){e!==document.activeElement&&P(t,e)&&"function"==typeof e.focus&&e.focus()}(s,i),r&&a&&r(i,a),!0}return!1}),l),m=B(v,2),g=m[0],y=m[1],w=B(c().useState(),2),b=w[0],E=w[1],O=B(c().useState(),2),x=O[0],k=O[1];return $t((function(){E(xn(r)),k(kn(r))})),c().useEffect((function(){var e,t;f.current.element===b&&((e=f.current.point)===(t=x)||e&&t&&("pageX"in t&&"pageY"in t?e.pageX===t.pageX&&e.pageY===t.pageY:"clientX"in t&&"clientY"in t&&e.clientX===t.clientX&&e.clientY===t.clientY))&&Gt(f.current.align,i)||g()})),c().useEffect((function(){return On(p.current,g)}),[p.current]),c().useEffect((function(){return On(b,g)}),[b]),c().useEffect((function(){o?y():g()}),[o]),c().useEffect((function(){if(u)return L(window,"resize",g).remove}),[u]),c().useEffect((function(){return function(){y()}}),[]),c().useImperativeHandle(t,(function(){return{forceAlign:function(){return g(!0)}}})),c().isValidElement(d)&&(d=c().cloneElement(d,{ref:A(d.ref,p)})),d},Tn=c().forwardRef(Cn);Tn.displayName="Align";const Mn=Tn;function Pn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
7
+ Pn=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=t&&t.prototype instanceof d?t:d,a=Object.create(i.prototype),u=new T(r||[]);return o(a,"_invoke",{value:O(e,n,u)}),a}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var p={};function d(){}function h(){}function v(){}var m={};s(m,a,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(M([])));y&&y!==t&&n.call(y,a)&&(m=y);var w=v.prototype=d.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function i(o,a,u,c){var s=f(e[o],e,a);if("throw"!==s.type){var l=s.arg,p=l.value;return p&&"object"==(0,r.Z)(p)&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){i("next",e,u,c)}),(function(e){i("throw",e,u,c)})):t.resolve(p).then((function(e){l.value=e,u(l)}),(function(e){return i("throw",e,u,c)}))}c(s.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){i(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function O(e,t,n){var o="suspendedStart";return function(r,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===r)throw i;return P()}for(n.method=r,n.arg=i;;){var a=n.delegate;if(a){var u=x(a,n);if(u){if(u===p)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var c=f(e,t,n);if("normal"===c.type){if(o=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o="completed",n.method="throw",n.arg=c.arg)}}}function x(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var r=f(o,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,p;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function M(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,r=function t(){for(;++o<e.length;)if(n.call(e,o))return t.value=e[o],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:P}}function P(){return{value:void 0,done:!0}}return h.prototype=v,o(w,"constructor",{value:v,configurable:!0}),o(v,"constructor",{value:h,configurable:!0}),h.displayName=s(v,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,s(e,c,"GeneratorFunction")),e.prototype=Object.create(w),e},e.awrap=function(e){return{__await:e}},b(E.prototype),s(E.prototype,u,(function(){return this})),e.AsyncIterator=E,e.async=function(t,n,o,r,i){void 0===i&&(i=Promise);var a=new E(l(t,n,o,r),i);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(w),s(w,c,"Generator"),s(w,a,(function(){return this})),s(w,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var o in t)n.push(o);return n.reverse(),function e(){for(;n.length;){var o=n.pop();if(o in t)return e.value=o,e.done=!1,e}return e.done=!0,e}},e.values=M,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function o(n,o){return a.type="throw",a.arg=e,t.next=n,o&&(t.method="next",t.arg=void 0),!!o}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],a=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var o=this.tryEntries.length-1;o>=0;--o){var r=this.tryEntries[o];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;C(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:M(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}function _n(e,t,n,o,r,i,a){try{var u=e[i](a),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(o,r)}function Sn(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){_n(i,o,r,a,u,"next",e)}function u(e){_n(i,o,r,a,u,"throw",e)}a(void 0)}))}}var Dn=["measure","alignPre","align",null,"motion"];var An=u.forwardRef((function(e,t){var n=e.visible,r=e.prefixCls,a=e.className,c=e.style,s=e.children,l=e.zIndex,f=e.stretch,p=e.destroyPopupOnHide,d=e.forceRender,h=e.align,v=e.point,m=e.getRootDomNode,g=e.getClassNameFromAlign,y=e.onAlign,w=e.onMouseEnter,b=e.onMouseLeave,E=e.onMouseDown,O=e.onTouchStart,x=e.onClick,k=(0,u.useRef)(),C=(0,u.useRef)(),T=B((0,u.useState)(),2),P=T[0],_=T[1],S=function(e){var t=B(u.useState({width:0,height:0}),2),n=t[0],o=t[1];return[u.useMemo((function(){var t={};if(e){var o=n.width,r=n.height;-1!==e.indexOf("height")&&r?t.height=r:-1!==e.indexOf("minHeight")&&r&&(t.minHeight=r),-1!==e.indexOf("width")&&o?t.width=o:-1!==e.indexOf("minWidth")&&o&&(t.minWidth=o)}return t}),[e,n]),function(e){var t=e.offsetWidth,n=e.offsetHeight,r=e.getBoundingClientRect(),i=r.width,a=r.height;Math.abs(t-i)<1&&Math.abs(n-a)<1&&(t=i,n=a),o({width:t,height:n})}]}(f),D=B(S,2),A=D[0],Z=D[1];var L=function(e,t){var n=B(pe(null),2),o=n[0],r=n[1],i=(0,u.useRef)();function a(e){r(e,!0)}function c(){M.cancel(i.current)}return(0,u.useEffect)((function(){a("measure")}),[e]),(0,u.useEffect)((function(){"measure"===o&&t(),o&&(i.current=M(Sn(Pn().mark((function e(){var t,n;return Pn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=Dn.indexOf(o),(n=Dn[t+1])&&-1!==t&&a(n);case 3:case"end":return e.stop()}}),e)})))))}),[o]),(0,u.useEffect)((function(){return function(){c()}}),[]),[o,function(e){c(),i.current=M((function(){a((function(e){switch(o){case"align":return"motion";case"motion":return"stable"}return e})),null==e||e()}))}]}(n,(function(){f&&Z(m())})),R=B(L,2),j=R[0],N=R[1],H=B((0,u.useState)(0),2),W=H[0],F=H[1],I=(0,u.useRef)();function z(){var e;null===(e=k.current)||void 0===e||e.forceAlign()}function Y(e,t){var n=g(t);P!==n&&_(n),F((function(e){return e+1})),"align"===j&&(null==y||y(e,t))}$t((function(){"alignPre"===j&&F(0)}),[j]),$t((function(){"align"===j&&(W<3?z():N((function(){var e;null===(e=I.current)||void 0===e||e.call(I)})))}),[W]);var X=(0,i.Z)({},Ae(e));function G(){return new Promise((function(e){I.current=e}))}["onAppearEnd","onEnterEnd","onLeaveEnd"].forEach((function(e){var t=X[e];X[e]=function(e,n){return N(),null==t?void 0:t(e,n)}})),u.useEffect((function(){X.motionName||"motion"!==j||N()}),[X.motionName,j]),u.useImperativeHandle(t,(function(){return{forceAlign:z,getElement:function(){return C.current}}}));var q=(0,i.Z)((0,i.Z)({},A),{},{zIndex:l,opacity:"motion"!==j&&"stable"!==j&&n?0:void 0,pointerEvents:n||"stable"===j?void 0:"none"},c),U=!0;null==h||!h.points||"align"!==j&&"stable"!==j||(U=!1);var $=s;return u.Children.count(s)>1&&($=u.createElement("div",{className:"".concat(r,"-content")},s)),u.createElement(De,(0,o.Z)({visible:n,ref:C,leavedClassName:"".concat(r,"-hidden")},X,{onAppearPrepare:G,onEnterPrepare:G,removeOnLeave:p,forceRender:d}),(function(e,t){var n=e.className,o=e.style,c=V()(r,a,P,n);return u.createElement(Mn,{target:v||m,key:"popup",ref:k,monitorWindowResize:!0,disabled:U,align:h,onAlign:Y},u.createElement("div",{ref:t,className:c,onMouseEnter:w,onMouseLeave:b,onMouseDownCapture:E,onTouchStartCapture:O,onClick:x,style:(0,i.Z)((0,i.Z)({},o),q)},$))}))}));An.displayName="PopupInner";const Zn=An;var Ln=u.forwardRef((function(e,t){var n=e.prefixCls,r=e.visible,a=e.zIndex,c=e.children,s=e.mobile,l=(s=void 0===s?{}:s).popupClassName,f=s.popupStyle,p=s.popupMotion,d=void 0===p?{}:p,h=s.popupRender,v=e.onClick,m=u.useRef();u.useImperativeHandle(t,(function(){return{forceAlign:function(){},getElement:function(){return m.current}}}));var g=(0,i.Z)({zIndex:a},f),y=c;return u.Children.count(c)>1&&(y=u.createElement("div",{className:"".concat(n,"-content")},c)),h&&(y=h(y)),u.createElement(De,(0,o.Z)({visible:r,ref:m,removeOnLeave:!0},d),(function(e,t){var o=e.className,r=e.style,a=V()(n,l,o);return u.createElement("div",{ref:t,className:a,onClick:v,style:(0,i.Z)((0,i.Z)({},r),g)},y)}))}));Ln.displayName="MobilePopupInner";const Rn=Ln;var jn=["visible","mobile"],Nn=u.forwardRef((function(e,t){var n=e.visible,r=e.mobile,c=a(e,jn),s=B((0,u.useState)(n),2),l=s[0],f=s[1],p=B((0,u.useState)(!1),2),d=p[0],h=p[1],v=(0,i.Z)((0,i.Z)({},c),{},{visible:l});(0,u.useEffect)((function(){f(n),n&&r&&h(function(){if("undefined"==typeof navigator||"undefined"==typeof window)return!1;var e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(null==e?void 0:e.substr(0,4))}())}),[n,r]);var m=d?u.createElement(Rn,(0,o.Z)({},v,{mobile:r,ref:t})):u.createElement(Zn,(0,o.Z)({},v,{ref:t}));return u.createElement("div",null,u.createElement(Ze,v),m)}));Nn.displayName="Popup";const Vn=Nn;const Hn=u.createContext(null);function Wn(){}function Bn(){return""}function Fn(e){return e?e.ownerDocument:window.document}var In=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"];const zn=(Yn=j,Xn=function(e){v(n,e);var t=g(n);function n(e){var r,i;return s(this,n),r=t.call(this,e),(0,y.Z)(d(r),"popupRef",u.createRef()),(0,y.Z)(d(r),"triggerRef",u.createRef()),(0,y.Z)(d(r),"portalContainer",void 0),(0,y.Z)(d(r),"attachId",void 0),(0,y.Z)(d(r),"clickOutsideHandler",void 0),(0,y.Z)(d(r),"touchOutsideHandler",void 0),(0,y.Z)(d(r),"contextMenuOutsideHandler1",void 0),(0,y.Z)(d(r),"contextMenuOutsideHandler2",void 0),(0,y.Z)(d(r),"mouseDownTimeout",void 0),(0,y.Z)(d(r),"focusTime",void 0),(0,y.Z)(d(r),"preClickTime",void 0),(0,y.Z)(d(r),"preTouchTime",void 0),(0,y.Z)(d(r),"delayTimer",void 0),(0,y.Z)(d(r),"hasPopupMouseDown",void 0),(0,y.Z)(d(r),"onMouseEnter",(function(e){var t=r.props.mouseEnterDelay;r.fireEvents("onMouseEnter",e),r.delaySetPopupVisible(!0,t,t?null:e)})),(0,y.Z)(d(r),"onMouseMove",(function(e){r.fireEvents("onMouseMove",e),r.setPoint(e)})),(0,y.Z)(d(r),"onMouseLeave",(function(e){r.fireEvents("onMouseLeave",e),r.delaySetPopupVisible(!1,r.props.mouseLeaveDelay)})),(0,y.Z)(d(r),"onPopupMouseEnter",(function(){r.clearDelayTimer()})),(0,y.Z)(d(r),"onPopupMouseLeave",(function(e){var t;e.relatedTarget&&!e.relatedTarget.setTimeout&&P(null===(t=r.popupRef.current)||void 0===t?void 0:t.getElement(),e.relatedTarget)||r.delaySetPopupVisible(!1,r.props.mouseLeaveDelay)})),(0,y.Z)(d(r),"onFocus",(function(e){r.fireEvents("onFocus",e),r.clearDelayTimer(),r.isFocusToShow()&&(r.focusTime=Date.now(),r.delaySetPopupVisible(!0,r.props.focusDelay))})),(0,y.Z)(d(r),"onMouseDown",(function(e){r.fireEvents("onMouseDown",e),r.preClickTime=Date.now()})),(0,y.Z)(d(r),"onTouchStart",(function(e){r.fireEvents("onTouchStart",e),r.preTouchTime=Date.now()})),(0,y.Z)(d(r),"onBlur",(function(e){r.fireEvents("onBlur",e),r.clearDelayTimer(),r.isBlurToHide()&&r.delaySetPopupVisible(!1,r.props.blurDelay)})),(0,y.Z)(d(r),"onContextMenu",(function(e){e.preventDefault(),r.fireEvents("onContextMenu",e),r.setPopupVisible(!0,e)})),(0,y.Z)(d(r),"onContextMenuClose",(function(){r.isContextMenuToShow()&&r.close()})),(0,y.Z)(d(r),"onClick",(function(e){if(r.fireEvents("onClick",e),r.focusTime){var t;if(r.preClickTime&&r.preTouchTime?t=Math.min(r.preClickTime,r.preTouchTime):r.preClickTime?t=r.preClickTime:r.preTouchTime&&(t=r.preTouchTime),Math.abs(t-r.focusTime)<20)return;r.focusTime=0}r.preClickTime=0,r.preTouchTime=0,r.isClickToShow()&&(r.isClickToHide()||r.isBlurToHide())&&e&&e.preventDefault&&e.preventDefault();var n=!r.state.popupVisible;(r.isClickToHide()&&!n||n&&r.isClickToShow())&&r.setPopupVisible(!r.state.popupVisible,e)})),(0,y.Z)(d(r),"onPopupMouseDown",(function(){var e;r.hasPopupMouseDown=!0,clearTimeout(r.mouseDownTimeout),r.mouseDownTimeout=window.setTimeout((function(){r.hasPopupMouseDown=!1}),0),r.context&&(e=r.context).onPopupMouseDown.apply(e,arguments)})),(0,y.Z)(d(r),"onDocumentClick",(function(e){if(!r.props.mask||r.props.maskClosable){var t=e.target,n=r.getRootDomNode(),o=r.getPopupDomNode();P(n,t)&&!r.isContextMenuOnly()||P(o,t)||r.hasPopupMouseDown||r.close()}})),(0,y.Z)(d(r),"getRootDomNode",(function(){var e=r.props.getTriggerDOMNode;if(e)return e(r.triggerRef.current);try{var t=_(r.triggerRef.current);if(t)return t}catch(e){}return b().findDOMNode(d(r))})),(0,y.Z)(d(r),"getPopupClassNameFromAlign",(function(e){var t=[],n=r.props,o=n.popupPlacement,i=n.builtinPlacements,a=n.prefixCls,u=n.alignPoint,c=n.getPopupClassNameFromAlign;return o&&i&&t.push(function(e,t,n,o){for(var r=n.points,i=Object.keys(e),a=0;a<i.length;a+=1){var u=i[a];if(H(e[u].points,r,o))return"".concat(t,"-placement-").concat(u)}return""}(i,a,e,u)),c&&t.push(c(e)),t.join(" ")})),(0,y.Z)(d(r),"getComponent",(function(){var e=r.props,t=e.prefixCls,n=e.destroyPopupOnHide,i=e.popupClassName,a=e.onPopupAlign,c=e.popupMotion,s=e.popupAnimation,l=e.popupTransitionName,f=e.popupStyle,p=e.mask,d=e.maskAnimation,h=e.maskTransitionName,v=e.maskMotion,m=e.zIndex,g=e.popup,y=e.stretch,w=e.alignPoint,b=e.mobile,E=e.forceRender,O=e.onPopupClick,x=r.state,k=x.popupVisible,C=x.point,T=r.getPopupAlign(),M={};return r.isMouseEnterToShow()&&(M.onMouseEnter=r.onPopupMouseEnter),r.isMouseLeaveToHide()&&(M.onMouseLeave=r.onPopupMouseLeave),M.onMouseDown=r.onPopupMouseDown,M.onTouchStart=r.onPopupMouseDown,u.createElement(Vn,(0,o.Z)({prefixCls:t,destroyPopupOnHide:n,visible:k,point:w&&C,className:i,align:T,onAlign:a,animation:s,getClassNameFromAlign:r.getPopupClassNameFromAlign},M,{stretch:y,getRootDomNode:r.getRootDomNode,style:f,mask:p,zIndex:m,transitionName:l,maskAnimation:d,maskTransitionName:h,maskMotion:v,ref:r.popupRef,motion:c,mobile:b,forceRender:E,onClick:O}),"function"==typeof g?g():g)})),(0,y.Z)(d(r),"attachParent",(function(e){M.cancel(r.attachId);var t,n=r.props,o=n.getPopupContainer,i=n.getDocument,a=r.getRootDomNode();o?(a||0===o.length)&&(t=o(a)):t=i(r.getRootDomNode()).body,t?t.appendChild(e):r.attachId=M((function(){r.attachParent(e)}))})),(0,y.Z)(d(r),"getContainer",(function(){if(!r.portalContainer){var e=(0,r.props.getDocument)(r.getRootDomNode()).createElement("div");e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",r.portalContainer=e}return r.attachParent(r.portalContainer),r.portalContainer})),(0,y.Z)(d(r),"setPoint",(function(e){r.props.alignPoint&&e&&r.setState({point:{pageX:e.pageX,pageY:e.pageY}})})),(0,y.Z)(d(r),"handlePortalUpdate",(function(){r.state.prevPopupVisible!==r.state.popupVisible&&r.props.afterPopupVisibleChange(r.state.popupVisible)})),(0,y.Z)(d(r),"triggerContextValue",{onPopupMouseDown:r.onPopupMouseDown}),i="popupVisible"in e?!!e.popupVisible:!!e.defaultPopupVisible,r.state={prevPopupVisible:i,popupVisible:i},In.forEach((function(e){r["fire".concat(e)]=function(t){r.fireEvents(e,t)}})),r}return p(n,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e,t=this.props;if(this.state.popupVisible)return this.clickOutsideHandler||!this.isClickToHide()&&!this.isContextMenuToShow()||(e=t.getDocument(this.getRootDomNode()),this.clickOutsideHandler=L(e,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(e=e||t.getDocument(this.getRootDomNode()),this.touchOutsideHandler=L(e,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(e=e||t.getDocument(this.getRootDomNode()),this.contextMenuOutsideHandler1=L(e,"scroll",this.onContextMenuClose)),void(!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=L(window,"blur",this.onContextMenuClose)));this.clearOutsideHandler()}},{key:"componentWillUnmount",value:function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout),M.cancel(this.attachId)}},{key:"getPopupDomNode",value:function(){var e;return(null===(e=this.popupRef.current)||void 0===e?void 0:e.getElement())||null}},{key:"getPopupAlign",value:function(){var e=this.props,t=e.popupPlacement,n=e.popupAlign,o=e.builtinPlacements;return t&&o?function(e,t,n){var o=e[t]||{};return(0,i.Z)((0,i.Z)({},o),n)}(o,t,n):n}},{key:"setPopupVisible",value:function(e,t){var n=this.props.alignPoint,o=this.state.popupVisible;this.clearDelayTimer(),o!==e&&("popupVisible"in this.props||this.setState({popupVisible:e,prevPopupVisible:o}),this.props.onPopupVisibleChange(e)),n&&t&&e&&this.setPoint(t)}},{key:"delaySetPopupVisible",value:function(e,t,n){var o=this,r=1e3*t;if(this.clearDelayTimer(),r){var i=n?{pageX:n.pageX,pageY:n.pageY}:null;this.delayTimer=window.setTimeout((function(){o.setPopupVisible(e,i),o.clearDelayTimer()}),r)}else this.setPopupVisible(e,n)}},{key:"clearDelayTimer",value:function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)}},{key:"clearOutsideHandler",value:function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)}},{key:"createTwoChains",value:function(e){var t=this.props.children.props,n=this.props;return t[e]&&n[e]?this["fire".concat(e)]:t[e]||n[e]}},{key:"isClickToShow",value:function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("click")||-1!==n.indexOf("click")}},{key:"isContextMenuOnly",value:function(){var e=this.props.action;return"contextMenu"===e||1===e.length&&"contextMenu"===e[0]}},{key:"isContextMenuToShow",value:function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("contextMenu")||-1!==n.indexOf("contextMenu")}},{key:"isClickToHide",value:function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("click")||-1!==n.indexOf("click")}},{key:"isMouseEnterToShow",value:function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("hover")||-1!==n.indexOf("mouseEnter")}},{key:"isMouseLeaveToHide",value:function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("hover")||-1!==n.indexOf("mouseLeave")}},{key:"isFocusToShow",value:function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("focus")||-1!==n.indexOf("focus")}},{key:"isBlurToHide",value:function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("focus")||-1!==n.indexOf("blur")}},{key:"forcePopupAlign",value:function(){var e;this.state.popupVisible&&(null===(e=this.popupRef.current)||void 0===e||e.forceAlign())}},{key:"fireEvents",value:function(e,t){var n=this.props.children.props[e];n&&n(t);var o=this.props[e];o&&o(t)}},{key:"close",value:function(){this.setPopupVisible(!1)}},{key:"render",value:function(){var e=this.state.popupVisible,t=this.props,n=t.children,o=t.forceRender,r=t.alignPoint,a=t.className,c=t.autoDestroy,s=u.Children.only(n),l={key:"trigger"};this.isContextMenuToShow()?l.onContextMenu=this.onContextMenu:l.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(l.onClick=this.onClick,l.onMouseDown=this.onMouseDown,l.onTouchStart=this.onTouchStart):(l.onClick=this.createTwoChains("onClick"),l.onMouseDown=this.createTwoChains("onMouseDown"),l.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(l.onMouseEnter=this.onMouseEnter,r&&(l.onMouseMove=this.onMouseMove)):l.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?l.onMouseLeave=this.onMouseLeave:l.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(l.onFocus=this.onFocus,l.onBlur=this.onBlur):(l.onFocus=this.createTwoChains("onFocus"),l.onBlur=this.createTwoChains("onBlur"));var f=V()(s&&s.props&&s.props.className,a);f&&(l.className=f);var p=(0,i.Z)({},l);Z(s)&&(p.ref=A(this.triggerRef,s.ref));var d,h=u.cloneElement(s,p);return(e||this.popupRef.current||o)&&(d=u.createElement(Yn,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),!e&&c&&(d=null),u.createElement(Hn.Provider,{value:this.triggerContextValue},h,d)}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.popupVisible,o={};return void 0!==n&&t.popupVisible!==n&&(o.popupVisible=n,o.prevPopupVisible=t.popupVisible),o}}]),n}(u.Component),(0,y.Z)(Xn,"contextType",Hn),(0,y.Z)(Xn,"defaultProps",{prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:Bn,getDocument:Fn,onPopupVisibleChange:Wn,afterPopupVisibleChange:Wn,onPopupAlign:Wn,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[],autoDestroy:!1}),Xn);var Yn,Xn,Gn={adjustX:1,adjustY:1},qn=[0,0],Un={left:{points:["cr","cl"],overflow:Gn,offset:[-4,0],targetOffset:qn},right:{points:["cl","cr"],overflow:Gn,offset:[4,0],targetOffset:qn},top:{points:["bc","tc"],overflow:Gn,offset:[0,-4],targetOffset:qn},bottom:{points:["tc","bc"],overflow:Gn,offset:[0,4],targetOffset:qn},topLeft:{points:["bl","tl"],overflow:Gn,offset:[0,-4],targetOffset:qn},leftTop:{points:["tr","tl"],overflow:Gn,offset:[-4,0],targetOffset:qn},topRight:{points:["br","tr"],overflow:Gn,offset:[0,-4],targetOffset:qn},rightTop:{points:["tl","tr"],overflow:Gn,offset:[4,0],targetOffset:qn},bottomRight:{points:["tr","br"],overflow:Gn,offset:[0,4],targetOffset:qn},rightBottom:{points:["bl","br"],overflow:Gn,offset:[4,0],targetOffset:qn},bottomLeft:{points:["tl","bl"],overflow:Gn,offset:[0,4],targetOffset:qn},leftBottom:{points:["br","bl"],overflow:Gn,offset:[-4,0],targetOffset:qn}};function $n(e){var t=e.showArrow,n=e.arrowContent,o=e.children,r=e.prefixCls,i=e.id,a=e.overlayInnerStyle,c=e.className,s=e.style;return u.createElement("div",{className:V()("".concat(r,"-content"),c),style:s},!1!==t&&u.createElement("div",{className:"".concat(r,"-arrow"),key:"arrow"},n),u.createElement("div",{className:"".concat(r,"-inner"),id:i,role:"tooltip",style:a},"function"==typeof o?o():o))}var Kn=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],Jn=function(e,t){var n=e.overlayClassName,c=e.trigger,s=void 0===c?["hover"]:c,l=e.mouseEnterDelay,f=void 0===l?0:l,p=e.mouseLeaveDelay,d=void 0===p?.1:p,h=e.overlayStyle,v=e.prefixCls,m=void 0===v?"rc-tooltip":v,g=e.children,y=e.onVisibleChange,w=e.afterVisibleChange,b=e.transitionName,E=e.animation,O=e.motion,x=e.placement,k=void 0===x?"right":x,C=e.align,T=void 0===C?{}:C,M=e.destroyTooltipOnHide,P=void 0!==M&&M,_=e.defaultVisible,S=e.getTooltipContainer,D=e.overlayInnerStyle,A=e.arrowContent,Z=e.overlay,L=e.id,R=e.showArrow,j=void 0===R||R,N=a(e,Kn),V=(0,u.useRef)(null);(0,u.useImperativeHandle)(t,(function(){return V.current}));var H=(0,i.Z)({},N);"visible"in e&&(H.popupVisible=e.visible);var W=!1,B=!1;if("boolean"==typeof P)W=P;else if(P&&"object"===(0,r.Z)(P)){var F=P.keepParent;W=!0===F,B=!1===F}return u.createElement(zn,(0,o.Z)({popupClassName:n,prefixCls:m,popup:function(){return u.createElement($n,{showArrow:j,arrowContent:A,key:"content",prefixCls:m,id:L,overlayInnerStyle:D},Z)},action:s,builtinPlacements:Un,popupPlacement:k,ref:V,popupAlign:T,getPopupContainer:S,onPopupVisibleChange:y,afterPopupVisibleChange:w,popupTransitionName:b,popupAnimation:E,popupMotion:O,defaultPopupVisible:_,destroyPopupOnHide:W,autoDestroy:B,mouseLeaveDelay:d,popupStyle:h,mouseEnterDelay:f},H),g)};const Qn=(0,u.forwardRef)(Jn)}}]);
8
+ //# sourceMappingURL=561-70f145.js.map