@orion-ds/react 4.6.6 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks/index.d 2.ts +9 -0
- package/dist/blocks/index.d.ts 2.map +1 -0
- package/dist/blocks 2.css +76 -0
- package/dist/components/index.d 4.ts +151 -0
- package/dist/components/index.d.ts 4.map +1 -0
- package/dist/contexts/ThemeContext.d 4.ts +70 -0
- package/dist/contexts/ThemeContext.d.ts 4.map +1 -0
- package/dist/contexts/index.d 4.ts +8 -0
- package/dist/contexts/index.d.ts 4.map +1 -0
- package/dist/dnd.d 2.ts +16 -0
- package/dist/dnd.d.ts 2.map +1 -0
- package/dist/docs/DocComponents.d 3.ts +61 -0
- package/dist/docs/DocComponents.d.ts 3.map +1 -0
- package/dist/editor.d 2.ts +13 -0
- package/dist/editor.d.ts 2.map +1 -0
- package/dist/examples/LandingPage.example.d 4.ts +47 -0
- package/dist/examples/LandingPage.example.d.ts 4.map +1 -0
- package/dist/examples/index.d 4.ts +22 -0
- package/dist/examples/index.d.ts 4.map +1 -0
- package/dist/hooks/index.d 4.ts +20 -0
- package/dist/hooks/index.d.ts 4.map +1 -0
- package/dist/hooks/useClickOutside.d 4.ts +19 -0
- package/dist/hooks/useClickOutside.d.ts 4.map +1 -0
- package/dist/hooks/useCopyToClipboard.d 4.ts +72 -0
- package/dist/hooks/useCopyToClipboard.d.ts 4.map +1 -0
- package/dist/hooks/useDebounce.d 4.ts +58 -0
- package/dist/hooks/useDebounce.d.ts 4.map +1 -0
- package/dist/hooks/useDisclosure.d 4.ts +86 -0
- package/dist/hooks/useDisclosure.d.ts 4.map +1 -0
- package/dist/hooks/useKeyboard.d 4.ts +101 -0
- package/dist/hooks/useKeyboard.d.ts 4.map +1 -0
- package/dist/hooks/useLocalStorage.d 4.ts +48 -0
- package/dist/hooks/useLocalStorage.d.ts 4.map +1 -0
- package/dist/hooks/useMediaQuery.d 4.ts +43 -0
- package/dist/hooks/useMediaQuery.d.ts 4.map +1 -0
- package/dist/hooks/useTheme.d 4.ts +73 -0
- package/dist/hooks/useTheme.d.ts 4.map +1 -0
- package/dist/index 3.mjs +275 -0
- package/dist/index 4.cjs +1 -0
- package/dist/index.d 2.ts +171 -0
- package/dist/index.d.ts 2.map +1 -0
- package/dist/index10 2.mjs +58 -0
- package/dist/index10 3.cjs +1 -0
- package/dist/index100 3.cjs +1 -0
- package/dist/index100 3.mjs +23 -0
- package/dist/index101 2.mjs +29 -0
- package/dist/index101 3.cjs +1 -0
- package/dist/index102 2.mjs +45 -0
- package/dist/index102 3.cjs +1 -0
- package/dist/index103 3.cjs +1 -0
- package/dist/index103 3.mjs +67 -0
- package/dist/index104 2.cjs +1 -0
- package/dist/index104 2.mjs +65 -0
- package/dist/index105 2.cjs +1 -0
- package/dist/index105 3.mjs +27 -0
- package/dist/index106 2.cjs +1 -0
- package/dist/index106 2.mjs +39 -0
- package/dist/index107 2.cjs +1 -0
- package/dist/index107 3.mjs +21 -0
- package/dist/index108 2.mjs +33 -0
- package/dist/index108 4.cjs +1 -0
- package/dist/index109 2.cjs +1 -0
- package/dist/index109 4.mjs +39 -0
- package/dist/index11 2.mjs +20 -0
- package/dist/index11 4.cjs +1 -0
- package/dist/index110 2.cjs +1 -0
- package/dist/index110 2.mjs +31 -0
- package/dist/index111 2.mjs +49 -0
- package/dist/index111 3.cjs +1 -0
- package/dist/index112 2.cjs +1 -0
- package/dist/index112 2.mjs +36 -0
- package/dist/index113 2.cjs +1 -0
- package/dist/index113 2.mjs +43 -0
- package/dist/index114 2.cjs +1 -0
- package/dist/index114 2.mjs +27 -0
- package/dist/index115 3.mjs +237 -0
- package/dist/index115 4.cjs +1 -0
- package/dist/index116 3.cjs +1 -0
- package/dist/index116 3.mjs +36 -0
- package/dist/index117 2.mjs +46 -0
- package/dist/index117 4.cjs +1 -0
- package/dist/index118 2.cjs +1 -0
- package/dist/index118 2.mjs +173 -0
- package/dist/index119 2.cjs +1 -0
- package/dist/index119 2.mjs +188 -0
- package/dist/index120 2.mjs +31 -0
- package/dist/index120 3.cjs +1 -0
- package/dist/index121 2.cjs +1 -0
- package/dist/index121 2.mjs +93 -0
- package/dist/index122 2.mjs +55 -0
- package/dist/index122 4.cjs +1 -0
- package/dist/index123 2.cjs +1 -0
- package/dist/index123 3.mjs +69 -0
- package/dist/index124 2.mjs +127 -0
- package/dist/index124 4.cjs +1 -0
- package/dist/index125 3.mjs +111 -0
- package/dist/index125 4.cjs +1 -0
- package/dist/index126 4.cjs +1 -0
- package/dist/index126 4.mjs +114 -0
- package/dist/index127 2.mjs +125 -0
- package/dist/index127 4.cjs +1 -0
- package/dist/index128 2.cjs +1 -0
- package/dist/index128 2.mjs +217 -0
- package/dist/index129 2.cjs +1 -0
- package/dist/index129 2.mjs +109 -0
- package/dist/index13 2.mjs +84 -0
- package/dist/index13 4.cjs +1 -0
- package/dist/index130 2.cjs +1 -0
- package/dist/index130 2.mjs +68 -0
- package/dist/index131 2.cjs +1 -0
- package/dist/index131 3.mjs +45 -0
- package/dist/index132 3.cjs +1 -0
- package/dist/index132 4.mjs +31 -0
- package/dist/index133 3.mjs +33 -0
- package/dist/index133 4.cjs +1 -0
- package/dist/index134 2.mjs +49 -0
- package/dist/index134 3.cjs +1 -0
- package/dist/index135 3.cjs +1 -0
- package/dist/index135 4.mjs +15 -0
- package/dist/index136 2.mjs +47 -0
- package/dist/index136 3.cjs +1 -0
- package/dist/index137 2.mjs +58 -0
- package/dist/index137 3.cjs +1 -0
- package/dist/index138 2.mjs +23 -0
- package/dist/index138 4.cjs +1 -0
- package/dist/index139 2.mjs +21 -0
- package/dist/index139 3.cjs +1 -0
- package/dist/index14 2.mjs +71 -0
- package/dist/index14 4.cjs +1 -0
- package/dist/index140 2.cjs +1 -0
- package/dist/index140 4.mjs +27 -0
- package/dist/index141 2.cjs +1 -0
- package/dist/index141 2.mjs +27 -0
- package/dist/index142 3.mjs +56 -0
- package/dist/index142 4.cjs +1 -0
- package/dist/index143 2.mjs +47 -0
- package/dist/index143 3.cjs +1 -0
- package/dist/index144 2.mjs +31 -0
- package/dist/index144 4.cjs +1 -0
- package/dist/index145 2.cjs +1 -0
- package/dist/index145 3.mjs +70 -0
- package/dist/index146 2.cjs +1 -0
- package/dist/index146 3.mjs +36 -0
- package/dist/index147 2.mjs +23 -0
- package/dist/index147 4.cjs +1 -0
- package/dist/index148 2.mjs +25 -0
- package/dist/index148 4.cjs +1 -0
- package/dist/index149 2.cjs +1 -0
- package/dist/index149 3.mjs +55 -0
- package/dist/index15 2.cjs +1 -0
- package/dist/index15 3.mjs +135 -0
- package/dist/index150 2.cjs +1 -0
- package/dist/index150 3.mjs +57 -0
- package/dist/index151 3.cjs +1 -0
- package/dist/index151 3.mjs +49 -0
- package/dist/index152 2.cjs +1 -0
- package/dist/index152 2.mjs +79 -0
- package/dist/index153 2.mjs +17 -0
- package/dist/index153 3.cjs +1 -0
- package/dist/index154 2.mjs +45 -0
- package/dist/index154 3.cjs +1 -0
- package/dist/index155 2.cjs +1 -0
- package/dist/index155 3.mjs +43 -0
- package/dist/index156 2.cjs +1 -0
- package/dist/index156 3.mjs +38 -0
- package/dist/index157 2.cjs +1 -0
- package/dist/index157 3.mjs +31 -0
- package/dist/index158 2.cjs +1 -0
- package/dist/index158 2.mjs +43 -0
- package/dist/index159 2.mjs +23 -0
- package/dist/index159 3.cjs +1 -0
- package/dist/index16 3.cjs +1 -0
- package/dist/index16 3.mjs +106 -0
- package/dist/index160 2.cjs +1 -0
- package/dist/index160 3.mjs +15 -0
- package/dist/index161 2.cjs +1 -0
- package/dist/index161 3.mjs +60 -0
- package/dist/index162 2.cjs +1 -0
- package/dist/index162 3.mjs +35 -0
- package/dist/index163 2.cjs +1 -0
- package/dist/index163 2.mjs +19 -0
- package/dist/index164 2.cjs +1 -0
- package/dist/index164 2.mjs +31 -0
- package/dist/index165 2.mjs +21 -0
- package/dist/index165 3.cjs +1 -0
- package/dist/index166 2.cjs +1 -0
- package/dist/index166 2.mjs +48 -0
- package/dist/index167 3.cjs +1 -0
- package/dist/index167 3.mjs +55 -0
- package/dist/index168 3.mjs +65 -0
- package/dist/index168 4.cjs +1 -0
- package/dist/index169 2.cjs +1 -0
- package/dist/index169 2.mjs +39 -0
- package/dist/index17 2.cjs +1 -0
- package/dist/index17 2.mjs +178 -0
- package/dist/index170 2.mjs +33 -0
- package/dist/index170 3.cjs +1 -0
- package/dist/index171 3.cjs +1 -0
- package/dist/index171 3.mjs +31 -0
- package/dist/index172 2.cjs +1 -0
- package/dist/index172 4.mjs +35 -0
- package/dist/index173 2.cjs +1 -0
- package/dist/index173 2.mjs +31 -0
- package/dist/index174 2.cjs +1 -0
- package/dist/index174 2.mjs +33 -0
- package/dist/index175 2.cjs +1 -0
- package/dist/index175 2.mjs +67 -0
- package/dist/index176 2.cjs +1 -0
- package/dist/index176 2.mjs +30 -0
- package/dist/index177 2.mjs +41 -0
- package/dist/index177 4.cjs +1 -0
- package/dist/index178 2.mjs +33 -0
- package/dist/index178 3.cjs +1 -0
- package/dist/index179 2.cjs +1 -0
- package/dist/index179 2.mjs +33 -0
- package/dist/index18 2.mjs +38 -0
- package/dist/index18 3.cjs +1 -0
- package/dist/index180 2.cjs +1 -0
- package/dist/index180 3.mjs +53 -0
- package/dist/index181 2.cjs +1 -0
- package/dist/index181 2.mjs +59 -0
- package/dist/index182 2.mjs +21 -0
- package/dist/index182 3.cjs +1 -0
- package/dist/index183 2.cjs +1 -0
- package/dist/index183 3.mjs +21 -0
- package/dist/index184 2.cjs +1 -0
- package/dist/index184 2.mjs +12 -0
- package/dist/index185 2.cjs +1 -0
- package/dist/index185 2.mjs +57 -0
- package/dist/index19 2.cjs +1 -0
- package/dist/index19 2.mjs +103 -0
- package/dist/index20 2.cjs +1 -0
- package/dist/index20 2.mjs +56 -0
- package/dist/index21 2.cjs +1 -0
- package/dist/index21 3.mjs +84 -0
- package/dist/index22 2.cjs +1 -0
- package/dist/index22 2.mjs +86 -0
- package/dist/index23 2.cjs +6 -0
- package/dist/index23 4.mjs +255 -0
- package/dist/index24 2.mjs +114 -0
- package/dist/index24 3.cjs +1 -0
- package/dist/index25 2.cjs +1 -0
- package/dist/index25 4.mjs +196 -0
- package/dist/index26 3.mjs +271 -0
- package/dist/index26 4.cjs +1 -0
- package/dist/index27 2.cjs +1 -0
- package/dist/index27 2.mjs +248 -0
- package/dist/index28 2.cjs +1 -0
- package/dist/index28 2.mjs +193 -0
- package/dist/index29 2.cjs +1 -0
- package/dist/index29 2.mjs +26 -0
- package/dist/index3 2.cjs +1 -0
- package/dist/index3 2.mjs +600 -0
- package/dist/index30 2.cjs +1 -0
- package/dist/index30 2.mjs +339 -0
- package/dist/index31 2.cjs +1 -0
- package/dist/index31 4.mjs +104 -0
- package/dist/index32 2.mjs +103 -0
- package/dist/index32 3.cjs +1 -0
- package/dist/index33 2.cjs +1 -0
- package/dist/index33 4.mjs +48 -0
- package/dist/index34 2.cjs +1 -0
- package/dist/index34 3.mjs +132 -0
- package/dist/index35 2.cjs +1 -0
- package/dist/index35 2.mjs +176 -0
- package/dist/index36 2.cjs +1 -0
- package/dist/index36 2.mjs +30 -0
- package/dist/index37 2.cjs +1 -0
- package/dist/index37 2.mjs +43 -0
- package/dist/index38 2.cjs +1 -0
- package/dist/index38 2.mjs +107 -0
- package/dist/index39 2.cjs +1 -0
- package/dist/index39 4.mjs +202 -0
- package/dist/index4 2.mjs +59 -0
- package/dist/index4 3.cjs +3 -0
- package/dist/index40 2.mjs +164 -0
- package/dist/index40 3.cjs +1 -0
- package/dist/index41 3.cjs +1 -0
- package/dist/index41 3.mjs +47 -0
- package/dist/index42 2.cjs +1 -0
- package/dist/index42 2.mjs +84 -0
- package/dist/index43 2.cjs +1 -0
- package/dist/index43 3.mjs +54 -0
- package/dist/index44 2.mjs +205 -0
- package/dist/index44 3.cjs +3 -0
- package/dist/index45 3.cjs +1 -0
- package/dist/index45 3.mjs +104 -0
- package/dist/index46 2.cjs +1 -0
- package/dist/index46 4.mjs +143 -0
- package/dist/index47 2.cjs +1 -0
- package/dist/index47 2.mjs +190 -0
- package/dist/index48 2.mjs +106 -0
- package/dist/index48 3.cjs +1 -0
- package/dist/index49 2.cjs +1 -0
- package/dist/index49 2.mjs +82 -0
- package/dist/index5 2.cjs +1 -0
- package/dist/index5 2.mjs +94 -0
- package/dist/index50 2.mjs +95 -0
- package/dist/index50 3.cjs +1 -0
- package/dist/index51 2.cjs +1 -0
- package/dist/index51 2.mjs +125 -0
- package/dist/index52 2.cjs +1 -0
- package/dist/index52 3.mjs +72 -0
- package/dist/index53 2.cjs +1 -0
- package/dist/index53 3.mjs +273 -0
- package/dist/index54 2.cjs +1 -0
- package/dist/index54 3.mjs +129 -0
- package/dist/index55 2.cjs +1 -0
- package/dist/index55 2.mjs +172 -0
- package/dist/index56 2.cjs +1 -0
- package/dist/index56 3.mjs +105 -0
- package/dist/index57 2.cjs +1 -0
- package/dist/index57 3.mjs +136 -0
- package/dist/index58 2.cjs +1 -0
- package/dist/index58 2.mjs +191 -0
- package/dist/index59 2.cjs +1 -0
- package/dist/index59 3.mjs +54 -0
- package/dist/index6 2.cjs +1 -0
- package/dist/index6 2.mjs +128 -0
- package/dist/index60 2.mjs +148 -0
- package/dist/index60 3.cjs +1 -0
- package/dist/index61 2.cjs +1 -0
- package/dist/index61 2.mjs +76 -0
- package/dist/index62 2.cjs +1 -0
- package/dist/index62 2.mjs +87 -0
- package/dist/index63 2.cjs +1 -0
- package/dist/index63 2.mjs +36 -0
- package/dist/index64 2.cjs +1 -0
- package/dist/index64 3.mjs +78 -0
- package/dist/index65 3.mjs +153 -0
- package/dist/index65 4.cjs +1 -0
- package/dist/index66 2.cjs +1 -0
- package/dist/index66 2.mjs +54 -0
- package/dist/index67 2.cjs +1 -0
- package/dist/index67 2.mjs +109 -0
- package/dist/index68 2.cjs +1 -0
- package/dist/index68 3.mjs +28 -0
- package/dist/index69 2.cjs +1 -0
- package/dist/index69 2.mjs +133 -0
- package/dist/index7 2.mjs +120 -0
- package/dist/index7 3.cjs +1 -0
- package/dist/index70 2.cjs +1 -0
- package/dist/index70 2.mjs +80 -0
- package/dist/index71 2.cjs +1 -0
- package/dist/index71 2.mjs +101 -0
- package/dist/index72 2.mjs +97 -0
- package/dist/index72 3.cjs +1 -0
- package/dist/index73 2.cjs +1 -0
- package/dist/index73 2.mjs +118 -0
- package/dist/index74 2.cjs +1 -0
- package/dist/index74 2.mjs +389 -0
- package/dist/index75 2.cjs +38 -0
- package/dist/index75 2.mjs +98 -0
- package/dist/index76 2.mjs +225 -0
- package/dist/index76 3.cjs +1 -0
- package/dist/index77 2.cjs +1 -0
- package/dist/index77 3.mjs +48 -0
- package/dist/index78 2.cjs +1 -0
- package/dist/index78 2.mjs +101 -0
- package/dist/index79 2.cjs +1 -0
- package/dist/index79 3.mjs +39 -0
- package/dist/index8 2.cjs +1 -0
- package/dist/index8 3.mjs +51 -0
- package/dist/index80 2.cjs +1 -0
- package/dist/index80 2.mjs +161 -0
- package/dist/index81 3.cjs +1 -0
- package/dist/index81 3.mjs +119 -0
- package/dist/index82 2.cjs +1 -0
- package/dist/index82 3.mjs +33 -0
- package/dist/index83 2.cjs +1 -0
- package/dist/index83 3.mjs +249 -0
- package/dist/index84 2.mjs +50 -0
- package/dist/index84 4.cjs +1 -0
- package/dist/index85 2.cjs +1 -0
- package/dist/index85 2.mjs +44 -0
- package/dist/index86 2.mjs +33 -0
- package/dist/index86 3.cjs +1 -0
- package/dist/index87 2.cjs +1 -0
- package/dist/index87 3.mjs +41 -0
- package/dist/index88 2.mjs +39 -0
- package/dist/index88 3.cjs +1 -0
- package/dist/index89 3.cjs +1 -0
- package/dist/index89 3.mjs +26 -0
- package/dist/index9 2.cjs +1 -0
- package/dist/index9 2.mjs +91 -0
- package/dist/index90 2.cjs +1 -0
- package/dist/index90 2.mjs +35 -0
- package/dist/index91 2.cjs +1 -0
- package/dist/index91 2.mjs +99 -0
- package/dist/index92 2.mjs +103 -0
- package/dist/index92 3.cjs +1 -0
- package/dist/index93 2.cjs +1 -0
- package/dist/index93 2.mjs +21 -0
- package/dist/index94 2.cjs +1 -0
- package/dist/index94 2.mjs +55 -0
- package/dist/index95 2.cjs +1 -0
- package/dist/index95 2.mjs +74 -0
- package/dist/index96 2.cjs +97 -0
- package/dist/index96 2.mjs +206 -0
- package/dist/index97 2.mjs +157 -0
- package/dist/index97 3.cjs +1 -0
- package/dist/index98 2.cjs +1 -0
- package/dist/index98 3.mjs +221 -0
- package/dist/index99 2.cjs +1 -0
- package/dist/index99 2.mjs +21 -0
- package/dist/main.d 2.ts +2 -0
- package/dist/main.d.ts 3.map +1 -0
- package/dist/rich.d 2.ts +16 -0
- package/dist/rich.d.ts 2.map +1 -0
- package/dist/sections/index.d 2.ts +29 -0
- package/dist/sections/index.d.ts 2.map +1 -0
- package/dist/styles/marker 3.css +1 -0
- package/dist/styles 2.css +9055 -0
- package/dist/templates/index.d 2.ts +1 -0
- package/dist/test/a11y.d 3.ts +8 -0
- package/dist/test/a11y.d.ts 3.map +1 -0
- package/dist/test/performance.bench.d 3.ts +11 -0
- package/dist/test/performance.bench.d.ts 3.map +1 -0
- package/dist/test/setup.d 3.ts +2 -0
- package/dist/test/setup.d.ts 3.map +1 -0
- package/dist/theme 2.css +8871 -0
- package/dist/tokens/brands.d 3.ts +5 -0
- package/dist/tokens/brands.d.ts 3.map +1 -0
- package/dist/tokens/index.d 3.ts +11 -0
- package/dist/tokens/index.d.ts 3.map +1 -0
- package/dist/tokens/primitives.d 3.ts +5 -0
- package/dist/tokens/primitives.d.ts 3.map +1 -0
- package/dist/tokens/themes.d 3.ts +9 -0
- package/dist/tokens/themes.d.ts 3.map +1 -0
- package/dist/tokens/types.d 3.ts +365 -0
- package/dist/tokens/types.d.ts 3.map +1 -0
- package/dist/tokens/utils.d 3.ts +42 -0
- package/dist/tokens/utils.d.ts 3.map +1 -0
- package/dist/utils/fonts.d 3.ts +46 -0
- package/dist/utils/fonts.d.ts 3.map +1 -0
- package/dist/utils/icons.d 3.ts +61 -0
- package/dist/utils/icons.d.ts 3.map +1 -0
- package/dist/utils/index.d 3.ts +9 -0
- package/dist/utils/index.d.ts 3.map +1 -0
- package/dist/utils/validation.d 3.ts +94 -0
- package/dist/utils/validation.d.ts 3.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { jsx as t, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as E, useState as O, useRef as X, useCallback as r } from "react";
|
|
3
|
+
import { X as _, Paperclip as q, Mic as G, Send as H, Image as J, File as Q } from "lucide-react";
|
|
4
|
+
import { useChatInput as Y } from "./index85.mjs";
|
|
5
|
+
import { ChatVoiceRecorder as Z } from "./index125.mjs";
|
|
6
|
+
import { formatFileSize as L } from "./index184.mjs";
|
|
7
|
+
import n from "./index115.mjs";
|
|
8
|
+
const ee = (p) => p.type.startsWith("image/") ? /* @__PURE__ */ t(J, { size: 14 }) : /* @__PURE__ */ t(Q, { size: 14 }), te = E(
|
|
9
|
+
({
|
|
10
|
+
onSend: p,
|
|
11
|
+
placeholder: S = "Type a message...",
|
|
12
|
+
allowAttachments: R = !0,
|
|
13
|
+
allowVoiceRecording: z = !0,
|
|
14
|
+
allowAudioUpload: ne = !0,
|
|
15
|
+
disabled: s = !1,
|
|
16
|
+
maxLength: f,
|
|
17
|
+
acceptedFileTypes: w = [
|
|
18
|
+
"image/*",
|
|
19
|
+
"audio/*",
|
|
20
|
+
".pdf",
|
|
21
|
+
".doc",
|
|
22
|
+
".docx",
|
|
23
|
+
".txt"
|
|
24
|
+
],
|
|
25
|
+
isLoading: i = !1,
|
|
26
|
+
pendingAttachments: x,
|
|
27
|
+
onRemoveAttachment: B,
|
|
28
|
+
className: j,
|
|
29
|
+
...k
|
|
30
|
+
}, o) => {
|
|
31
|
+
const [g, h] = O(!1), m = X(null), {
|
|
32
|
+
value: v,
|
|
33
|
+
setValue: D,
|
|
34
|
+
attachments: F,
|
|
35
|
+
addAttachments: l,
|
|
36
|
+
removeAttachment: I,
|
|
37
|
+
handleSubmit: A,
|
|
38
|
+
handleKeyDown: V,
|
|
39
|
+
textareaRef: b,
|
|
40
|
+
isEmpty: P
|
|
41
|
+
} = Y({
|
|
42
|
+
maxLength: f,
|
|
43
|
+
onSend: p,
|
|
44
|
+
disabled: s || i
|
|
45
|
+
}), u = x || F, M = B || I, W = r(
|
|
46
|
+
(e) => {
|
|
47
|
+
b.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
|
|
48
|
+
},
|
|
49
|
+
[o, b]
|
|
50
|
+
), K = r(
|
|
51
|
+
(e) => {
|
|
52
|
+
const a = e.target.files;
|
|
53
|
+
a && a.length > 0 && l(Array.from(a)), m.current && (m.current.value = "");
|
|
54
|
+
},
|
|
55
|
+
[l]
|
|
56
|
+
), T = r(
|
|
57
|
+
(e) => {
|
|
58
|
+
const a = e.clipboardData.items, d = [];
|
|
59
|
+
for (const C of a)
|
|
60
|
+
if (C.type.startsWith("image/")) {
|
|
61
|
+
const N = C.getAsFile();
|
|
62
|
+
N && d.push(N);
|
|
63
|
+
}
|
|
64
|
+
d.length > 0 && (e.preventDefault(), l(d));
|
|
65
|
+
},
|
|
66
|
+
[l]
|
|
67
|
+
), U = r(
|
|
68
|
+
(e) => {
|
|
69
|
+
const a = Object.assign(e, {
|
|
70
|
+
name: `voice-${Date.now()}.webm`,
|
|
71
|
+
lastModified: Date.now()
|
|
72
|
+
});
|
|
73
|
+
l([a]), h(!1);
|
|
74
|
+
},
|
|
75
|
+
[l]
|
|
76
|
+
), $ = r(() => {
|
|
77
|
+
s || i || A();
|
|
78
|
+
}, [s, i, A]), y = !P || u.length > 0;
|
|
79
|
+
return /* @__PURE__ */ t(
|
|
80
|
+
"div",
|
|
81
|
+
{
|
|
82
|
+
className: [n.inputContainer, j].filter(Boolean).join(" "),
|
|
83
|
+
children: /* @__PURE__ */ c("div", { className: n.inputWrapper, children: [
|
|
84
|
+
u.length > 0 && /* @__PURE__ */ t("div", { className: n.pendingAttachments, children: u.map((e, a) => /* @__PURE__ */ c("div", { className: n.pendingAttachment, children: [
|
|
85
|
+
ee(e),
|
|
86
|
+
/* @__PURE__ */ t("span", { children: e.name }),
|
|
87
|
+
/* @__PURE__ */ c("span", { className: n.pendingAttachmentSize, children: [
|
|
88
|
+
"(",
|
|
89
|
+
L(e.size),
|
|
90
|
+
")"
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ t(
|
|
93
|
+
"button",
|
|
94
|
+
{
|
|
95
|
+
className: n.pendingAttachmentRemove,
|
|
96
|
+
onClick: () => M(a),
|
|
97
|
+
"aria-label": `Remove ${e.name}`,
|
|
98
|
+
children: /* @__PURE__ */ t(_, { size: 14 })
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
] }, a)) }),
|
|
102
|
+
g && /* @__PURE__ */ t(
|
|
103
|
+
Z,
|
|
104
|
+
{
|
|
105
|
+
onRecordingComplete: U,
|
|
106
|
+
onCancel: () => h(!1)
|
|
107
|
+
}
|
|
108
|
+
),
|
|
109
|
+
!g && /* @__PURE__ */ c("div", { className: n.inputBox, children: [
|
|
110
|
+
R && /* @__PURE__ */ c("div", { className: n.inputActions, children: [
|
|
111
|
+
/* @__PURE__ */ t(
|
|
112
|
+
"input",
|
|
113
|
+
{
|
|
114
|
+
ref: m,
|
|
115
|
+
type: "file",
|
|
116
|
+
accept: w.join(","),
|
|
117
|
+
multiple: !0,
|
|
118
|
+
onChange: K,
|
|
119
|
+
style: { display: "none" },
|
|
120
|
+
"aria-hidden": "true"
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
/* @__PURE__ */ t(
|
|
124
|
+
"button",
|
|
125
|
+
{
|
|
126
|
+
className: n.inputButton,
|
|
127
|
+
onClick: () => m.current?.click(),
|
|
128
|
+
disabled: s || i,
|
|
129
|
+
"aria-label": "Attach file",
|
|
130
|
+
title: "Attach file",
|
|
131
|
+
children: /* @__PURE__ */ t(q, { size: 20 })
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
] }),
|
|
135
|
+
/* @__PURE__ */ t(
|
|
136
|
+
"textarea",
|
|
137
|
+
{
|
|
138
|
+
ref: W,
|
|
139
|
+
className: n.inputTextarea,
|
|
140
|
+
value: v,
|
|
141
|
+
onChange: (e) => D(e.target.value),
|
|
142
|
+
onKeyDown: V,
|
|
143
|
+
onPaste: T,
|
|
144
|
+
placeholder: S,
|
|
145
|
+
disabled: s || i,
|
|
146
|
+
maxLength: f,
|
|
147
|
+
rows: 1,
|
|
148
|
+
"aria-label": "Message input",
|
|
149
|
+
...k
|
|
150
|
+
}
|
|
151
|
+
),
|
|
152
|
+
/* @__PURE__ */ c("div", { className: n.inputActions, children: [
|
|
153
|
+
z && !v && u.length === 0 && /* @__PURE__ */ t(
|
|
154
|
+
"button",
|
|
155
|
+
{
|
|
156
|
+
className: n.inputButton,
|
|
157
|
+
onClick: () => h(!0),
|
|
158
|
+
disabled: s || i,
|
|
159
|
+
"aria-label": "Record voice message",
|
|
160
|
+
title: "Record voice message",
|
|
161
|
+
children: /* @__PURE__ */ t(G, { size: 20 })
|
|
162
|
+
}
|
|
163
|
+
),
|
|
164
|
+
/* @__PURE__ */ t(
|
|
165
|
+
"button",
|
|
166
|
+
{
|
|
167
|
+
className: [
|
|
168
|
+
n.inputButton,
|
|
169
|
+
y && n.inputButtonPrimary
|
|
170
|
+
].filter(Boolean).join(" "),
|
|
171
|
+
onClick: $,
|
|
172
|
+
disabled: s || i || !y,
|
|
173
|
+
"aria-label": "Send message",
|
|
174
|
+
title: "Send message",
|
|
175
|
+
children: i ? /* @__PURE__ */ t("span", { className: n.inputSpinner }) : /* @__PURE__ */ t(H, { size: 20 })
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
] })
|
|
179
|
+
] })
|
|
180
|
+
] })
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
te.displayName = "ChatInput";
|
|
186
|
+
export {
|
|
187
|
+
te as ChatInput
|
|
188
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import e from "./index115.mjs";
|
|
3
|
+
const t = ({
|
|
4
|
+
label: a = "Generating response",
|
|
5
|
+
className: i,
|
|
6
|
+
...n
|
|
7
|
+
}) => /* @__PURE__ */ s(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
className: [e.message, e.messageAssistant, i].filter(Boolean).join(" "),
|
|
11
|
+
role: "status",
|
|
12
|
+
"aria-live": "polite",
|
|
13
|
+
"aria-label": a,
|
|
14
|
+
...n,
|
|
15
|
+
children: /* @__PURE__ */ s("div", { className: e.messageContent, children: /* @__PURE__ */ s(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
className: [
|
|
19
|
+
e.messageBubble,
|
|
20
|
+
e.messageBubbleAssistant,
|
|
21
|
+
e.thinkingBubble
|
|
22
|
+
].join(" "),
|
|
23
|
+
children: /* @__PURE__ */ s("span", { className: e.thinkingSpinner })
|
|
24
|
+
}
|
|
25
|
+
) })
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
t.displayName = "ChatTypingIndicator";
|
|
29
|
+
export {
|
|
30
|
+
t as ChatTypingIndicator
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("./index115.cjs"),s=({label:t="Generating response",className:i,...n})=>a.jsx("div",{className:[e.default.message,e.default.messageAssistant,i].filter(Boolean).join(" "),role:"status","aria-live":"polite","aria-label":t,...n,children:a.jsx("div",{className:e.default.messageContent,children:a.jsx("div",{className:[e.default.messageBubble,e.default.messageBubbleAssistant,e.default.thinkingBubble].join(" "),children:a.jsx("span",{className:e.default.thinkingSpinner})})})});s.displayName="ChatTypingIndicator";exports.ChatTypingIndicator=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),f=require("react-syntax-highlighter"),d=require("react-syntax-highlighter/dist/esm/styles/prism"),u=require("lucide-react"),o=require("./index115.cjs"),k=require("./index75.cjs"),b=t=>t?{js:"javascript",ts:"typescript",jsx:"jsx",tsx:"tsx",py:"python",rb:"ruby",sh:"bash",shell:"bash",yml:"yaml",md:"markdown"}[t.toLowerCase()]||t.toLowerCase():"text",h=({code:t,language:s,showLineNumbers:m=!1,showCopyButton:p=!0,maxHeight:y="400px",className:C,...x})=>{const[a,r]=n.useState(!1);let c="dark";try{c=k.useThemeContext().theme}catch{}const g=n.useCallback(async()=>{try{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)}catch(l){console.error("Failed to copy code:",l)}},[t]),i=b(s),j=c==="light"?d.oneLight:d.oneDark;return e.jsxs("div",{className:[o.default.codeBlock,C].filter(Boolean).join(" "),...x,children:[e.jsxs("div",{className:o.default.codeBlockHeader,children:[e.jsx("span",{className:o.default.codeBlockLanguage,children:i}),p&&e.jsx("button",{className:[o.default.codeBlockCopy,a&&o.default.codeBlockCopied].filter(Boolean).join(" "),onClick:g,"aria-label":a?"Copied!":"Copy code",children:a?e.jsxs(e.Fragment,{children:[e.jsx(u.Check,{size:14}),"Copied!"]}):e.jsxs(e.Fragment,{children:[e.jsx(u.Copy,{size:14}),"Copy"]})})]}),e.jsx("div",{className:o.default.codeBlockContent,style:{maxHeight:y},children:e.jsx(f.Prism,{language:i,style:j,showLineNumbers:m,customStyle:{margin:0,padding:0,background:"transparent",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"var(--font-mono)"}},children:t})})]})};h.displayName="ChatCodeBlock";exports.ChatCodeBlock=h;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsxs as r, jsx as o, Fragment as d } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useCallback as k } from "react";
|
|
3
|
+
import { Prism as x } from "react-syntax-highlighter";
|
|
4
|
+
import { oneLight as B, oneDark as b } from "react-syntax-highlighter/dist/esm/styles/prism";
|
|
5
|
+
import { Check as j, Copy as v } from "lucide-react";
|
|
6
|
+
import t from "./index115.mjs";
|
|
7
|
+
import { useThemeContext as L } from "./index75.mjs";
|
|
8
|
+
const N = (e) => e ? {
|
|
9
|
+
js: "javascript",
|
|
10
|
+
ts: "typescript",
|
|
11
|
+
jsx: "jsx",
|
|
12
|
+
tsx: "tsx",
|
|
13
|
+
py: "python",
|
|
14
|
+
rb: "ruby",
|
|
15
|
+
sh: "bash",
|
|
16
|
+
shell: "bash",
|
|
17
|
+
yml: "yaml",
|
|
18
|
+
md: "markdown"
|
|
19
|
+
}[e.toLowerCase()] || e.toLowerCase() : "text", w = ({
|
|
20
|
+
code: e,
|
|
21
|
+
language: s,
|
|
22
|
+
showLineNumbers: m = !1,
|
|
23
|
+
showCopyButton: p = !0,
|
|
24
|
+
maxHeight: h = "400px",
|
|
25
|
+
className: y,
|
|
26
|
+
...C
|
|
27
|
+
}) => {
|
|
28
|
+
const [a, i] = g(!1);
|
|
29
|
+
let l = "dark";
|
|
30
|
+
try {
|
|
31
|
+
l = L().theme;
|
|
32
|
+
} catch {
|
|
33
|
+
}
|
|
34
|
+
const u = k(async () => {
|
|
35
|
+
try {
|
|
36
|
+
await navigator.clipboard.writeText(e), i(!0), setTimeout(() => i(!1), 2e3);
|
|
37
|
+
} catch (n) {
|
|
38
|
+
console.error("Failed to copy code:", n);
|
|
39
|
+
}
|
|
40
|
+
}, [e]), c = N(s), f = l === "light" ? B : b;
|
|
41
|
+
return /* @__PURE__ */ r(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
className: [t.codeBlock, y].filter(Boolean).join(" "),
|
|
45
|
+
...C,
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ r("div", { className: t.codeBlockHeader, children: [
|
|
48
|
+
/* @__PURE__ */ o("span", { className: t.codeBlockLanguage, children: c }),
|
|
49
|
+
p && /* @__PURE__ */ o(
|
|
50
|
+
"button",
|
|
51
|
+
{
|
|
52
|
+
className: [t.codeBlockCopy, a && t.codeBlockCopied].filter(Boolean).join(" "),
|
|
53
|
+
onClick: u,
|
|
54
|
+
"aria-label": a ? "Copied!" : "Copy code",
|
|
55
|
+
children: a ? /* @__PURE__ */ r(d, { children: [
|
|
56
|
+
/* @__PURE__ */ o(j, { size: 14 }),
|
|
57
|
+
"Copied!"
|
|
58
|
+
] }) : /* @__PURE__ */ r(d, { children: [
|
|
59
|
+
/* @__PURE__ */ o(v, { size: 14 }),
|
|
60
|
+
"Copy"
|
|
61
|
+
] })
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
] }),
|
|
65
|
+
/* @__PURE__ */ o("div", { className: t.codeBlockContent, style: { maxHeight: h }, children: /* @__PURE__ */ o(
|
|
66
|
+
x,
|
|
67
|
+
{
|
|
68
|
+
language: c,
|
|
69
|
+
style: f,
|
|
70
|
+
showLineNumbers: m,
|
|
71
|
+
customStyle: {
|
|
72
|
+
margin: 0,
|
|
73
|
+
padding: 0,
|
|
74
|
+
background: "transparent",
|
|
75
|
+
fontSize: "inherit",
|
|
76
|
+
lineHeight: "inherit"
|
|
77
|
+
},
|
|
78
|
+
codeTagProps: {
|
|
79
|
+
style: {
|
|
80
|
+
fontFamily: "var(--font-mono)"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
children: e
|
|
84
|
+
}
|
|
85
|
+
) })
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
};
|
|
90
|
+
w.displayName = "ChatCodeBlock";
|
|
91
|
+
export {
|
|
92
|
+
w as ChatCodeBlock
|
|
93
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as e, Fragment as c } from "react/jsx-runtime";
|
|
2
|
+
import l from "react-markdown";
|
|
3
|
+
import d from "remark-gfm";
|
|
4
|
+
import { ChatCodeBlock as p } from "./index121.mjs";
|
|
5
|
+
import g from "./index115.mjs";
|
|
6
|
+
const f = ({
|
|
7
|
+
content: a,
|
|
8
|
+
className: i,
|
|
9
|
+
...m
|
|
10
|
+
}) => /* @__PURE__ */ e(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
className: [g.markdown, i].filter(Boolean).join(" "),
|
|
14
|
+
...m,
|
|
15
|
+
children: /* @__PURE__ */ e(
|
|
16
|
+
l,
|
|
17
|
+
{
|
|
18
|
+
remarkPlugins: [d],
|
|
19
|
+
components: {
|
|
20
|
+
// Custom code block rendering
|
|
21
|
+
code({ className: r, children: o, ...t }) {
|
|
22
|
+
const n = /language-(\w+)/.exec(r || "");
|
|
23
|
+
if (!n)
|
|
24
|
+
return /* @__PURE__ */ e("code", { className: r, ...t, children: o });
|
|
25
|
+
const s = String(o).replace(/\n$/, "");
|
|
26
|
+
return /* @__PURE__ */ e(p, { code: s, language: n[1] });
|
|
27
|
+
},
|
|
28
|
+
// Custom pre rendering (remove wrapper for code blocks)
|
|
29
|
+
pre({ children: r }) {
|
|
30
|
+
return /* @__PURE__ */ e(c, { children: r });
|
|
31
|
+
},
|
|
32
|
+
// Custom link rendering (open in new tab)
|
|
33
|
+
a({ href: r, children: o, ...t }) {
|
|
34
|
+
const n = r?.startsWith("http");
|
|
35
|
+
return /* @__PURE__ */ e(
|
|
36
|
+
"a",
|
|
37
|
+
{
|
|
38
|
+
href: r,
|
|
39
|
+
target: n ? "_blank" : void 0,
|
|
40
|
+
rel: n ? "noopener noreferrer" : void 0,
|
|
41
|
+
...t,
|
|
42
|
+
children: o
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
children: a
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
f.displayName = "ChatMarkdown";
|
|
53
|
+
export {
|
|
54
|
+
f as ChatMarkdown
|
|
55
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),d=require("react-markdown"),u=require("remark-gfm"),m=require("./index121.cjs"),g=require("./index115.cjs"),o=({content:s,className:c,...i})=>r.jsx("div",{className:[g.default.markdown,c].filter(Boolean).join(" "),...i,children:r.jsx(d,{remarkPlugins:[u],components:{code({className:e,children:t,...a}){const n=/language-(\w+)/.exec(e||"");if(!n)return r.jsx("code",{className:e,...a,children:t});const l=String(t).replace(/\n$/,"");return r.jsx(m.ChatCodeBlock,{code:l,language:n[1]})},pre({children:e}){return r.jsx(r.Fragment,{children:e})},a({href:e,children:t,...a}){const n=e?.startsWith("http");return r.jsx("a",{href:e,target:n?"_blank":void 0,rel:n?"noopener noreferrer":void 0,...a,children:t})}},children:s})});o.displayName="ChatMarkdown";exports.ChatMarkdown=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),I=require("lucide-react"),a=require("./index115.cjs"),w=require("./index185.cjs"),u=({src:i,alt:t="Image attachment",thumbnail:g,onClick:n,enableLightbox:s=!0,className:o,...l})=>{const[h,c]=d.useState(!1),[f,v]=d.useState(!1),m=()=>{n?n():s&&c(!0)},x=r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),m())},j=()=>{v(!0)};return f?e.jsxs("div",{className:[a.default.imagePreview,a.default.attachmentPreview,o].filter(Boolean).join(" "),...l,children:[e.jsx("div",{className:a.default.attachmentPreviewIcon,children:e.jsx(I.ImageOff,{size:20})}),e.jsx("span",{className:a.default.attachmentPreviewName,children:"Image failed to load"})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:[a.default.imagePreview,o].filter(Boolean).join(" "),onClick:m,onKeyDown:x,role:"button",tabIndex:0,"aria-label":t,...l,children:e.jsx("img",{src:g||i,alt:t,className:a.default.imagePreviewImg,onError:j,loading:"lazy"})}),s&&e.jsx(w.ChatLightbox,{src:i,alt:t,isOpen:h,onClose:()=>c(!1)})]})};u.displayName="ChatImagePreview";exports.ChatImagePreview=u;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsxs as f, jsx as e, Fragment as u } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g } from "react";
|
|
3
|
+
import { ImageOff as P } from "lucide-react";
|
|
4
|
+
import a from "./index115.mjs";
|
|
5
|
+
import { ChatLightbox as y } from "./index185.mjs";
|
|
6
|
+
const x = ({
|
|
7
|
+
src: i,
|
|
8
|
+
alt: r = "Image attachment",
|
|
9
|
+
thumbnail: h,
|
|
10
|
+
onClick: o,
|
|
11
|
+
enableLightbox: n = !0,
|
|
12
|
+
className: m,
|
|
13
|
+
...s
|
|
14
|
+
}) => {
|
|
15
|
+
const [d, l] = g(!1), [p, v] = g(!1), c = () => {
|
|
16
|
+
o ? o() : n && l(!0);
|
|
17
|
+
}, I = (t) => {
|
|
18
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), c());
|
|
19
|
+
}, w = () => {
|
|
20
|
+
v(!0);
|
|
21
|
+
};
|
|
22
|
+
return p ? /* @__PURE__ */ f(
|
|
23
|
+
"div",
|
|
24
|
+
{
|
|
25
|
+
className: [a.imagePreview, a.attachmentPreview, m].filter(Boolean).join(" "),
|
|
26
|
+
...s,
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ e("div", { className: a.attachmentPreviewIcon, children: /* @__PURE__ */ e(P, { size: 20 }) }),
|
|
29
|
+
/* @__PURE__ */ e("span", { className: a.attachmentPreviewName, children: "Image failed to load" })
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
) : /* @__PURE__ */ f(u, { children: [
|
|
33
|
+
/* @__PURE__ */ e(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
className: [a.imagePreview, m].filter(Boolean).join(" "),
|
|
37
|
+
onClick: c,
|
|
38
|
+
onKeyDown: I,
|
|
39
|
+
role: "button",
|
|
40
|
+
tabIndex: 0,
|
|
41
|
+
"aria-label": r,
|
|
42
|
+
...s,
|
|
43
|
+
children: /* @__PURE__ */ e(
|
|
44
|
+
"img",
|
|
45
|
+
{
|
|
46
|
+
src: h || i,
|
|
47
|
+
alt: r,
|
|
48
|
+
className: a.imagePreviewImg,
|
|
49
|
+
onError: w,
|
|
50
|
+
loading: "lazy"
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
n && /* @__PURE__ */ e(
|
|
56
|
+
y,
|
|
57
|
+
{
|
|
58
|
+
src: i,
|
|
59
|
+
alt: r,
|
|
60
|
+
isOpen: d,
|
|
61
|
+
onClose: () => l(!1)
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
] });
|
|
65
|
+
};
|
|
66
|
+
x.displayName = "ChatImagePreview";
|
|
67
|
+
export {
|
|
68
|
+
x as ChatImagePreview
|
|
69
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsxs as p, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as h, useRef as M, useCallback as s, useEffect as R } from "react";
|
|
3
|
+
import { Pause as j, Play as B } from "lucide-react";
|
|
4
|
+
import { formatTime as m } from "./index184.mjs";
|
|
5
|
+
import o from "./index115.mjs";
|
|
6
|
+
const L = ({
|
|
7
|
+
src: g,
|
|
8
|
+
duration: v,
|
|
9
|
+
title: y,
|
|
10
|
+
className: w,
|
|
11
|
+
...T
|
|
12
|
+
}) => {
|
|
13
|
+
const [c, f] = h(!1), [t, u] = h(0), [a, k] = h(v || 0), n = M(null), N = s(() => {
|
|
14
|
+
const e = n.current;
|
|
15
|
+
e && !isNaN(e.duration) && isFinite(e.duration) && k(e.duration);
|
|
16
|
+
}, []), b = s(() => {
|
|
17
|
+
const e = n.current;
|
|
18
|
+
e && u(e.currentTime);
|
|
19
|
+
}, []), C = s(() => {
|
|
20
|
+
f(!1), u(0);
|
|
21
|
+
}, []), D = s(() => {
|
|
22
|
+
const e = n.current;
|
|
23
|
+
e && (c ? e.pause() : e.play().catch(() => {
|
|
24
|
+
f(!1);
|
|
25
|
+
}), f(!c));
|
|
26
|
+
}, [c]), x = s(
|
|
27
|
+
(e) => {
|
|
28
|
+
const l = n.current;
|
|
29
|
+
if (!l || !a) return;
|
|
30
|
+
const d = e.currentTarget.getBoundingClientRect(), P = (e.clientX - d.left) / d.width * a;
|
|
31
|
+
l.currentTime = P, u(P);
|
|
32
|
+
},
|
|
33
|
+
[a]
|
|
34
|
+
), A = s(
|
|
35
|
+
(e) => {
|
|
36
|
+
const l = n.current;
|
|
37
|
+
if (!l || !a) return;
|
|
38
|
+
const d = 5;
|
|
39
|
+
let i = t;
|
|
40
|
+
switch (e.key) {
|
|
41
|
+
case "ArrowRight":
|
|
42
|
+
case "ArrowUp":
|
|
43
|
+
e.preventDefault(), i = Math.min(t + d, a);
|
|
44
|
+
break;
|
|
45
|
+
case "ArrowLeft":
|
|
46
|
+
case "ArrowDown":
|
|
47
|
+
e.preventDefault(), i = Math.max(t - d, 0);
|
|
48
|
+
break;
|
|
49
|
+
case "Home":
|
|
50
|
+
e.preventDefault(), i = 0;
|
|
51
|
+
break;
|
|
52
|
+
case "End":
|
|
53
|
+
e.preventDefault(), i = a;
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
l.currentTime = i, u(i);
|
|
59
|
+
},
|
|
60
|
+
[t, a]
|
|
61
|
+
), E = a > 0 ? t / a * 100 : 0;
|
|
62
|
+
return R(() => () => {
|
|
63
|
+
const e = n.current;
|
|
64
|
+
e && e.pause();
|
|
65
|
+
}, []), /* @__PURE__ */ p(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
className: [o.audioPlayer, w].filter(Boolean).join(" "),
|
|
69
|
+
...T,
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ r(
|
|
72
|
+
"audio",
|
|
73
|
+
{
|
|
74
|
+
ref: n,
|
|
75
|
+
src: g,
|
|
76
|
+
onLoadedMetadata: N,
|
|
77
|
+
onTimeUpdate: b,
|
|
78
|
+
onEnded: C,
|
|
79
|
+
preload: "metadata"
|
|
80
|
+
}
|
|
81
|
+
),
|
|
82
|
+
/* @__PURE__ */ r(
|
|
83
|
+
"button",
|
|
84
|
+
{
|
|
85
|
+
className: o.audioPlayerButton,
|
|
86
|
+
onClick: D,
|
|
87
|
+
"aria-label": c ? "Pause" : "Play",
|
|
88
|
+
children: c ? /* @__PURE__ */ r(j, { size: 16 }) : /* @__PURE__ */ r(B, { size: 16 })
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
/* @__PURE__ */ p("div", { className: o.audioPlayerProgress, children: [
|
|
92
|
+
y && /* @__PURE__ */ r("span", { className: o.attachmentPreviewName, children: y }),
|
|
93
|
+
/* @__PURE__ */ r(
|
|
94
|
+
"div",
|
|
95
|
+
{
|
|
96
|
+
className: o.audioPlayerTrack,
|
|
97
|
+
onClick: x,
|
|
98
|
+
onKeyDown: A,
|
|
99
|
+
role: "slider",
|
|
100
|
+
"aria-label": "Audio progress",
|
|
101
|
+
"aria-valuemin": 0,
|
|
102
|
+
"aria-valuemax": a,
|
|
103
|
+
"aria-valuenow": t,
|
|
104
|
+
"aria-valuetext": `${m(t)} of ${m(a)}`,
|
|
105
|
+
tabIndex: 0,
|
|
106
|
+
children: /* @__PURE__ */ r(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
className: o.audioPlayerFill,
|
|
110
|
+
style: { width: `${E}%` }
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
/* @__PURE__ */ p("div", { className: o.audioPlayerTime, children: [
|
|
116
|
+
/* @__PURE__ */ r("span", { children: m(t) }),
|
|
117
|
+
/* @__PURE__ */ r("span", { children: m(a) })
|
|
118
|
+
] })
|
|
119
|
+
] })
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
L.displayName = "ChatAudioPlayer";
|
|
125
|
+
export {
|
|
126
|
+
L as ChatAudioPlayer
|
|
127
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),P=require("lucide-react"),m=require("./index184.cjs"),l=require("./index115.cjs"),p=({src:k,duration:T,title:h,className:b,...x})=>{const[o,f]=r.useState(!1),[s,d]=r.useState(0),[a,g]=r.useState(T||0),n=r.useRef(null),j=r.useCallback(()=>{const e=n.current;e&&!isNaN(e.duration)&&isFinite(e.duration)&&g(e.duration)},[]),v=r.useCallback(()=>{const e=n.current;e&&d(e.currentTime)},[]),C=r.useCallback(()=>{f(!1),d(0)},[]),w=r.useCallback(()=>{const e=n.current;e&&(o?e.pause():e.play().catch(()=>{f(!1)}),f(!o))},[o]),N=r.useCallback(e=>{const c=n.current;if(!c||!a)return;const u=e.currentTarget.getBoundingClientRect(),y=(e.clientX-u.left)/u.width*a;c.currentTime=y,d(y)},[a]),A=r.useCallback(e=>{const c=n.current;if(!c||!a)return;const u=5;let i=s;switch(e.key){case"ArrowRight":case"ArrowUp":e.preventDefault(),i=Math.min(s+u,a);break;case"ArrowLeft":case"ArrowDown":e.preventDefault(),i=Math.max(s-u,0);break;case"Home":e.preventDefault(),i=0;break;case"End":e.preventDefault(),i=a;break;default:return}c.currentTime=i,d(i)},[s,a]),D=a>0?s/a*100:0;return r.useEffect(()=>()=>{const e=n.current;e&&e.pause()},[]),t.jsxs("div",{className:[l.default.audioPlayer,b].filter(Boolean).join(" "),...x,children:[t.jsx("audio",{ref:n,src:k,onLoadedMetadata:j,onTimeUpdate:v,onEnded:C,preload:"metadata"}),t.jsx("button",{className:l.default.audioPlayerButton,onClick:w,"aria-label":o?"Pause":"Play",children:o?t.jsx(P.Pause,{size:16}):t.jsx(P.Play,{size:16})}),t.jsxs("div",{className:l.default.audioPlayerProgress,children:[h&&t.jsx("span",{className:l.default.attachmentPreviewName,children:h}),t.jsx("div",{className:l.default.audioPlayerTrack,onClick:N,onKeyDown:A,role:"slider","aria-label":"Audio progress","aria-valuemin":0,"aria-valuemax":a,"aria-valuenow":s,"aria-valuetext":`${m.formatTime(s)} of ${m.formatTime(a)}`,tabIndex:0,children:t.jsx("div",{className:l.default.audioPlayerFill,style:{width:`${D}%`}})}),t.jsxs("div",{className:l.default.audioPlayerTime,children:[t.jsx("span",{children:m.formatTime(s)}),t.jsx("span",{children:m.formatTime(a)})]})]})]})};p.displayName="ChatAudioPlayer";exports.ChatAudioPlayer=p;
|