@docsearch/sidepanel 4.5.0-beta.2 → 4.5.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.
@@ -1,7 +1,7 @@
1
- import { DocSearchSidepanelProps } from '@docsearch/react/sidepanel';
1
+ import { DocSearchSidepanelProps, SidepanelSearchParameters } from '@docsearch/react/sidepanel';
2
2
  import { JSX } from 'react';
3
3
 
4
- type SidepanelProps = DocSearchSidepanelProps['panel'] & Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'>;
4
+ type SidepanelProps = DocSearchSidepanelProps['panel'] & Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'> & SidepanelSearchParameters;
5
5
  declare function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element;
6
6
 
7
7
  export { Sidepanel };
@@ -1,4 +1,4 @@
1
- import { SidepanelButtonProps as SidepanelButtonProps$1, DocSearchSidepanelProps } from '@docsearch/react/sidepanel';
1
+ import { SidepanelButtonProps as SidepanelButtonProps$1, DocSearchSidepanelProps, SidepanelSearchParameters } from '@docsearch/react/sidepanel';
2
2
  import { JSX } from 'react';
3
3
 
4
4
  type SidepanelButtonProps = SidepanelButtonProps$1 & {
@@ -6,7 +6,7 @@ type SidepanelButtonProps = SidepanelButtonProps$1 & {
6
6
  };
7
7
  declare function SidepanelButton({ portalcontainer, ...props }: SidepanelButtonProps): JSX.Element;
8
8
 
9
- type SidepanelProps = DocSearchSidepanelProps['panel'] & Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'>;
9
+ type SidepanelProps = DocSearchSidepanelProps['panel'] & Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'> & SidepanelSearchParameters;
10
10
  declare function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element;
11
11
 
12
12
  export { Sidepanel, SidepanelButton };
@@ -1,3 +1,3 @@
1
- /*! @docsearch/sidepanel 4.5.0-beta.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
1
+ /*! @docsearch/sidepanel 4.5.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
2
2
  !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@docsearch/core"),require("@docsearch/react/sidepanel"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@docsearch/core","@docsearch/react/sidepanel","react","react-dom"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DocSearchSidepanel={},e.DocSearchCore,e.sidepanel,e.React,e.ReactDOM)}(this,function(e,r,t,n,o){"use strict";function i(e,r,t){return(r=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}var a=["portalContainer"];e.Sidepanel=function(e){var u=e.portalContainer,l=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==r.indexOf(n))continue;t[n]=e[n]}return t}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],-1===r.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,a),s=r.useDocSearch(),f=s.docsearchState,p=s.setDocsearchState,d=s.keyboardShortcuts,b=s.registerView,y=s.initialAskAiMessage,O=n.useCallback(function(){p("sidepanel")},[p]),m=n.useCallback(function(){p("ready")},[p]),h=n.useMemo(function(){return null!=u?u:document.body},[u]);n.useEffect(function(){b("sidepanel")},[b]);var v=n.useMemo(function(){return function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach(function(r){i(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}({isOpen:"sidepanel"===f,onOpen:O,onClose:m,keyboardShortcuts:d,initialMessage:y},l)},[f,O,m,l,d,y]);return o.createPortal(n.createElement(t.Sidepanel,v),h)}});
3
3
  //# sourceMappingURL=Sidepanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidepanel.js","sources":["../../src/Sidepanel.tsx"],"sourcesContent":["import { useDocSearch } from '@docsearch/core';\nimport { Sidepanel as SidepanelComp, type DocSearchSidepanelProps } from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelProps = DocSearchSidepanelProps['panel'] &\n Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'>;\n\nexport function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element {\n const { docsearchState, setDocsearchState, keyboardShortcuts, registerView, initialAskAiMessage } = useDocSearch();\n\n const handleOpen = React.useCallback((): void => {\n setDocsearchState('sidepanel');\n }, [setDocsearchState]);\n\n const handleClose = React.useCallback((): void => {\n setDocsearchState('ready');\n }, [setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalContainer ?? document.body, [portalContainer]);\n\n React.useEffect(() => {\n registerView('sidepanel');\n }, [registerView]);\n\n const sidepanelProps = React.useMemo(\n () => ({\n isOpen: docsearchState === 'sidepanel',\n onOpen: handleOpen,\n onClose: handleClose,\n keyboardShortcuts,\n initialMessage: initialAskAiMessage,\n ...props,\n }),\n [docsearchState, handleOpen, handleClose, props, keyboardShortcuts, initialAskAiMessage],\n );\n\n return createPortal(<SidepanelComp {...sidepanelProps} />, containerElement);\n}\n"],"names":["_ref","portalContainer","props","_objectWithoutProperties","_excluded","_useDocSearch","useDocSearch","docsearchState","setDocsearchState","keyboardShortcuts","registerView","initialAskAiMessage","handleOpen","React","useCallback","handleClose","containerElement","useMemo","document","body","useEffect","sidepanelProps","_objectSpread","isOpen","onOpen","onClose","initialMessage","createPortal","createElement","SidepanelComp"],"mappings":";ypCASO,SAAkBA,GAA6D,IAA1DC,EAAeD,EAAfC,gBAAoBC,+WAAKC,CAAAH,EAAAI,GACnDC,EAAoGC,EAAAA,eAA5FC,EAAcF,EAAdE,eAAgBC,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBC,EAAYL,EAAZK,aAAcC,EAAmBN,EAAnBM,oBAEtEC,EAAaC,EAAMC,YAAY,WACnCN,EAAkB,YACpB,EAAG,CAACA,IAEEO,EAAcF,EAAMC,YAAY,WACpCN,EAAkB,QACpB,EAAG,CAACA,IAEEQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMhB,QAAAA,EAAmBiB,SAASC,MAAM,CAAClB,IAEhFY,EAAMO,UAAU,WACdV,EAAa,YACf,EAAG,CAACA,IAEJ,IAAMW,EAAiBR,EAAMI,QAC3B,WAAA,kWAAAK,CAAA,CACEC,OAA2B,cAAnBhB,EACRiB,OAAQZ,EACRa,QAASV,EACTN,kBAAAA,EACAiB,eAAgBf,GACbT,EAAK,EAEV,CAACK,EAAgBK,EAAYG,EAAab,EAAOO,EAAmBE,IAGtE,OAAOgB,EAAAA,aAAad,EAAAe,cAACC,EAAAA,UAAkBR,GAAoBL,EAC7D"}
1
+ {"version":3,"file":"Sidepanel.js","sources":["../../src/Sidepanel.tsx"],"sourcesContent":["import { useDocSearch } from '@docsearch/core';\nimport {\n Sidepanel as SidepanelComp,\n type DocSearchSidepanelProps,\n type SidepanelSearchParameters,\n} from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelProps = DocSearchSidepanelProps['panel'] &\n Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'> &\n SidepanelSearchParameters;\n\nexport function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element {\n const { docsearchState, setDocsearchState, keyboardShortcuts, registerView, initialAskAiMessage } = useDocSearch();\n\n const handleOpen = React.useCallback((): void => {\n setDocsearchState('sidepanel');\n }, [setDocsearchState]);\n\n const handleClose = React.useCallback((): void => {\n setDocsearchState('ready');\n }, [setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalContainer ?? document.body, [portalContainer]);\n\n React.useEffect(() => {\n registerView('sidepanel');\n }, [registerView]);\n\n const sidepanelProps = React.useMemo(\n () => ({\n isOpen: docsearchState === 'sidepanel',\n onOpen: handleOpen,\n onClose: handleClose,\n keyboardShortcuts,\n initialMessage: initialAskAiMessage,\n ...props,\n }),\n [docsearchState, handleOpen, handleClose, props, keyboardShortcuts, initialAskAiMessage],\n );\n\n return createPortal(<SidepanelComp {...sidepanelProps} />, containerElement);\n}\n"],"names":["_ref","portalContainer","props","_objectWithoutProperties","_excluded","_useDocSearch","useDocSearch","docsearchState","setDocsearchState","keyboardShortcuts","registerView","initialAskAiMessage","handleOpen","React","useCallback","handleClose","containerElement","useMemo","document","body","useEffect","sidepanelProps","_objectSpread","isOpen","onOpen","onClose","initialMessage","createPortal","createElement","SidepanelComp"],"mappings":";ypCAcO,SAAkBA,GAA6D,IAA1DC,EAAeD,EAAfC,gBAAoBC,+WAAKC,CAAAH,EAAAI,GACnDC,EAAoGC,EAAAA,eAA5FC,EAAcF,EAAdE,eAAgBC,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBC,EAAYL,EAAZK,aAAcC,EAAmBN,EAAnBM,oBAEtEC,EAAaC,EAAMC,YAAY,WACnCN,EAAkB,YACpB,EAAG,CAACA,IAEEO,EAAcF,EAAMC,YAAY,WACpCN,EAAkB,QACpB,EAAG,CAACA,IAEEQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMhB,QAAAA,EAAmBiB,SAASC,MAAM,CAAClB,IAEhFY,EAAMO,UAAU,WACdV,EAAa,YACf,EAAG,CAACA,IAEJ,IAAMW,EAAiBR,EAAMI,QAC3B,WAAA,kWAAAK,CAAA,CACEC,OAA2B,cAAnBhB,EACRiB,OAAQZ,EACRa,QAASV,EACTN,kBAAAA,EACAiB,eAAgBf,GACbT,EAAK,EAEV,CAACK,EAAgBK,EAAYG,EAAab,EAAOO,EAAmBE,IAGtE,OAAOgB,EAAAA,aAAad,EAAAe,cAACC,EAAAA,UAAkBR,GAAoBL,EAC7D"}
@@ -1,3 +1,3 @@
1
- /*! @docsearch/sidepanel 4.5.0-beta.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
1
+ /*! @docsearch/sidepanel 4.5.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
2
2
  !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@docsearch/core"),require("@docsearch/react/sidepanel"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@docsearch/core","@docsearch/react/sidepanel","react","react-dom"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DocSearchSidepanel={},e.DocSearchCore,e.sidepanel,e.React,e.ReactDOM)}(this,function(e,r,n,t,o){"use strict";function a(){return a=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},a.apply(null,arguments)}var c=["portalcontainer"];e.SidepanelButton=function(e){var i=e.portalcontainer,u=function(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(-1!==r.indexOf(t))continue;n[t]=e[t]}return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)n=a[t],-1===r.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,c),l=r.useDocSearch(),s=l.setDocsearchState,d=l.keyboardShortcuts,f=l.docsearchState,p=t.useCallback(function(){s("sidepanel"===f?"ready":"sidepanel")},[f,s]),h=t.useMemo(function(){return null!=i?i:document.body},[i]),y=t.useMemo(function(){return t.createElement(n.SidepanelButton,a({keyboardShortcuts:d,onClick:p},u))},[d,u,p]);return"inline"===u.variant?y:o.createPortal(y,h)}});
3
3
  //# sourceMappingURL=SidepanelButton.js.map
package/dist/umd/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! @docsearch/sidepanel 4.5.0-beta.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
1
+ /*! @docsearch/sidepanel 4.5.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
2
2
  !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@docsearch/core"),require("@docsearch/react/sidepanel"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@docsearch/core","@docsearch/react/sidepanel","react","react-dom"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DocSearchSidepanel={},e.DocSearchCore,e.sidepanel,e.React,e.ReactDOM)}(this,function(e,r,t,n,o){"use strict";function a(e,r,t){return(r=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(null,arguments)}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function u(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==r.indexOf(n))continue;t[n]=e[n]}return t}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],-1===r.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=["portalcontainer"];var s=["portalContainer"];e.Sidepanel=function(e){var i=e.portalContainer,l=u(e,s),f=r.useDocSearch(),p=f.docsearchState,d=f.setDocsearchState,b=f.keyboardShortcuts,y=f.registerView,O=f.initialAskAiMessage,h=n.useCallback(function(){d("sidepanel")},[d]),m=n.useCallback(function(){d("ready")},[d]),v=n.useMemo(function(){return null!=i?i:document.body},[i]);n.useEffect(function(){y("sidepanel")},[y]);var S=n.useMemo(function(){return function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach(function(r){a(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}({isOpen:"sidepanel"===p,onOpen:h,onClose:m,keyboardShortcuts:b,initialMessage:O},l)},[p,h,m,l,b,O]);return o.createPortal(n.createElement(t.Sidepanel,S),v)},e.SidepanelButton=function(e){var a=e.portalcontainer,c=u(e,l),s=r.useDocSearch(),f=s.setDocsearchState,p=s.keyboardShortcuts,d=s.docsearchState,b=n.useCallback(function(){f("sidepanel"===d?"ready":"sidepanel")},[d,f]),y=n.useMemo(function(){return null!=a?a:document.body},[a]),O=n.useMemo(function(){return n.createElement(t.SidepanelButton,i({keyboardShortcuts:p,onClick:b},c))},[p,c,b]);return"inline"===c.variant?O:o.createPortal(O,y)}});
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Sidepanel.tsx","../../src/SidepanelButton.tsx"],"sourcesContent":["import { useDocSearch } from '@docsearch/core';\nimport { Sidepanel as SidepanelComp, type DocSearchSidepanelProps } from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelProps = DocSearchSidepanelProps['panel'] &\n Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'>;\n\nexport function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element {\n const { docsearchState, setDocsearchState, keyboardShortcuts, registerView, initialAskAiMessage } = useDocSearch();\n\n const handleOpen = React.useCallback((): void => {\n setDocsearchState('sidepanel');\n }, [setDocsearchState]);\n\n const handleClose = React.useCallback((): void => {\n setDocsearchState('ready');\n }, [setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalContainer ?? document.body, [portalContainer]);\n\n React.useEffect(() => {\n registerView('sidepanel');\n }, [registerView]);\n\n const sidepanelProps = React.useMemo(\n () => ({\n isOpen: docsearchState === 'sidepanel',\n onOpen: handleOpen,\n onClose: handleClose,\n keyboardShortcuts,\n initialMessage: initialAskAiMessage,\n ...props,\n }),\n [docsearchState, handleOpen, handleClose, props, keyboardShortcuts, initialAskAiMessage],\n );\n\n return createPortal(<SidepanelComp {...sidepanelProps} />, containerElement);\n}\n","import { useDocSearch } from '@docsearch/core';\nimport type { SidepanelButtonProps as ButtonProps } from '@docsearch/react/sidepanel';\nimport { SidepanelButton as Button } from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelButtonProps = ButtonProps & {\n portalcontainer?: DocumentFragment | Element | null;\n};\n\nexport function SidepanelButton({ portalcontainer, ...props }: SidepanelButtonProps): JSX.Element {\n const { setDocsearchState, keyboardShortcuts, docsearchState } = useDocSearch();\n\n const toggleSidepanelState = React.useCallback(() => {\n const nextState = docsearchState === 'sidepanel' ? 'ready' : 'sidepanel';\n setDocsearchState(nextState);\n }, [docsearchState, setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalcontainer ?? document.body, [portalcontainer]);\n\n const ButtonComp = React.useMemo(\n () => <Button keyboardShortcuts={keyboardShortcuts} onClick={toggleSidepanelState} {...props} />,\n [keyboardShortcuts, props, toggleSidepanelState],\n );\n\n if (props.variant === 'inline') {\n return ButtonComp;\n }\n\n return createPortal(ButtonComp, containerElement);\n}\n"],"names":["_ref","portalContainer","props","_objectWithoutProperties","_excluded","_useDocSearch","useDocSearch","docsearchState","setDocsearchState","keyboardShortcuts","registerView","initialAskAiMessage","handleOpen","React","useCallback","handleClose","containerElement","useMemo","document","body","useEffect","sidepanelProps","_objectSpread","isOpen","onOpen","onClose","initialMessage","createPortal","createElement","SidepanelComp","portalcontainer","toggleSidepanelState","ButtonComp","Button","SidepanelButton","_extends","onClick","variant"],"mappings":";0vDASO,SAAkBA,GAA6D,IAA1DC,EAAeD,EAAfC,gBAAoBC,EAAKC,EAAAH,EAAAI,GACnDC,EAAoGC,EAAAA,eAA5FC,EAAcF,EAAdE,eAAgBC,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBC,EAAYL,EAAZK,aAAcC,EAAmBN,EAAnBM,oBAEtEC,EAAaC,EAAMC,YAAY,WACnCN,EAAkB,YACpB,EAAG,CAACA,IAEEO,EAAcF,EAAMC,YAAY,WACpCN,EAAkB,QACpB,EAAG,CAACA,IAEEQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMhB,QAAAA,EAAmBiB,SAASC,MAAM,CAAClB,IAEhFY,EAAMO,UAAU,WACdV,EAAa,YACf,EAAG,CAACA,IAEJ,IAAMW,EAAiBR,EAAMI,QAC3B,WAAA,kWAAAK,CAAA,CACEC,OAA2B,cAAnBhB,EACRiB,OAAQZ,EACRa,QAASV,EACTN,kBAAAA,EACAiB,eAAgBf,GACbT,EAAK,EAEV,CAACK,EAAgBK,EAAYG,EAAab,EAAOO,EAAmBE,IAGtE,OAAOgB,EAAAA,aAAad,EAAAe,cAACC,EAAAA,UAAkBR,GAAoBL,EAC7D,oBC5BO,SAAwBhB,GAAmE,IAAhE8B,EAAe9B,EAAf8B,gBAAoB5B,EAAKC,EAAAH,EAAAI,GACzDC,EAAiEC,EAAAA,eAAzDE,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBF,EAAcF,EAAdE,eAExCwB,EAAuBlB,EAAMC,YAAY,WAE7CN,EADqC,cAAnBD,EAAiC,QAAU,YAE/D,EAAG,CAACA,EAAgBC,IAEdQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMa,QAAAA,EAAmBZ,SAASC,MAAM,CAACW,IAE1EE,EAAanB,EAAMI,QACvB,WAAA,OAAMJ,EAAAe,cAACK,EAAMC,gBAAAC,EAAA,CAAC1B,kBAAmBA,EAAmB2B,QAASL,GAA0B7B,GAAS,EAChG,CAACO,EAAmBP,EAAO6B,IAG7B,MAAsB,WAAlB7B,EAAMmC,QACDL,EAGFL,EAAYA,aAACK,EAAYhB,EAClC"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Sidepanel.tsx","../../src/SidepanelButton.tsx"],"sourcesContent":["import { useDocSearch } from '@docsearch/core';\nimport {\n Sidepanel as SidepanelComp,\n type DocSearchSidepanelProps,\n type SidepanelSearchParameters,\n} from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelProps = DocSearchSidepanelProps['panel'] &\n Omit<DocSearchSidepanelProps, 'button' | 'panel' | 'theme'> &\n SidepanelSearchParameters;\n\nexport function Sidepanel({ portalContainer, ...props }: SidepanelProps): JSX.Element {\n const { docsearchState, setDocsearchState, keyboardShortcuts, registerView, initialAskAiMessage } = useDocSearch();\n\n const handleOpen = React.useCallback((): void => {\n setDocsearchState('sidepanel');\n }, [setDocsearchState]);\n\n const handleClose = React.useCallback((): void => {\n setDocsearchState('ready');\n }, [setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalContainer ?? document.body, [portalContainer]);\n\n React.useEffect(() => {\n registerView('sidepanel');\n }, [registerView]);\n\n const sidepanelProps = React.useMemo(\n () => ({\n isOpen: docsearchState === 'sidepanel',\n onOpen: handleOpen,\n onClose: handleClose,\n keyboardShortcuts,\n initialMessage: initialAskAiMessage,\n ...props,\n }),\n [docsearchState, handleOpen, handleClose, props, keyboardShortcuts, initialAskAiMessage],\n );\n\n return createPortal(<SidepanelComp {...sidepanelProps} />, containerElement);\n}\n","import { useDocSearch } from '@docsearch/core';\nimport type { SidepanelButtonProps as ButtonProps } from '@docsearch/react/sidepanel';\nimport { SidepanelButton as Button } from '@docsearch/react/sidepanel';\nimport React from 'react';\nimport type { JSX } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type SidepanelButtonProps = ButtonProps & {\n portalcontainer?: DocumentFragment | Element | null;\n};\n\nexport function SidepanelButton({ portalcontainer, ...props }: SidepanelButtonProps): JSX.Element {\n const { setDocsearchState, keyboardShortcuts, docsearchState } = useDocSearch();\n\n const toggleSidepanelState = React.useCallback(() => {\n const nextState = docsearchState === 'sidepanel' ? 'ready' : 'sidepanel';\n setDocsearchState(nextState);\n }, [docsearchState, setDocsearchState]);\n\n const containerElement = React.useMemo(() => portalcontainer ?? document.body, [portalcontainer]);\n\n const ButtonComp = React.useMemo(\n () => <Button keyboardShortcuts={keyboardShortcuts} onClick={toggleSidepanelState} {...props} />,\n [keyboardShortcuts, props, toggleSidepanelState],\n );\n\n if (props.variant === 'inline') {\n return ButtonComp;\n }\n\n return createPortal(ButtonComp, containerElement);\n}\n"],"names":["_ref","portalContainer","props","_objectWithoutProperties","_excluded","_useDocSearch","useDocSearch","docsearchState","setDocsearchState","keyboardShortcuts","registerView","initialAskAiMessage","handleOpen","React","useCallback","handleClose","containerElement","useMemo","document","body","useEffect","sidepanelProps","_objectSpread","isOpen","onOpen","onClose","initialMessage","createPortal","createElement","SidepanelComp","portalcontainer","toggleSidepanelState","ButtonComp","Button","SidepanelButton","_extends","onClick","variant"],"mappings":";0vDAcO,SAAkBA,GAA6D,IAA1DC,EAAeD,EAAfC,gBAAoBC,EAAKC,EAAAH,EAAAI,GACnDC,EAAoGC,EAAAA,eAA5FC,EAAcF,EAAdE,eAAgBC,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBC,EAAYL,EAAZK,aAAcC,EAAmBN,EAAnBM,oBAEtEC,EAAaC,EAAMC,YAAY,WACnCN,EAAkB,YACpB,EAAG,CAACA,IAEEO,EAAcF,EAAMC,YAAY,WACpCN,EAAkB,QACpB,EAAG,CAACA,IAEEQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMhB,QAAAA,EAAmBiB,SAASC,MAAM,CAAClB,IAEhFY,EAAMO,UAAU,WACdV,EAAa,YACf,EAAG,CAACA,IAEJ,IAAMW,EAAiBR,EAAMI,QAC3B,WAAA,kWAAAK,CAAA,CACEC,OAA2B,cAAnBhB,EACRiB,OAAQZ,EACRa,QAASV,EACTN,kBAAAA,EACAiB,eAAgBf,GACbT,EAAK,EAEV,CAACK,EAAgBK,EAAYG,EAAab,EAAOO,EAAmBE,IAGtE,OAAOgB,EAAAA,aAAad,EAAAe,cAACC,EAAAA,UAAkBR,GAAoBL,EAC7D,oBCjCO,SAAwBhB,GAAmE,IAAhE8B,EAAe9B,EAAf8B,gBAAoB5B,EAAKC,EAAAH,EAAAI,GACzDC,EAAiEC,EAAAA,eAAzDE,EAAiBH,EAAjBG,kBAAmBC,EAAiBJ,EAAjBI,kBAAmBF,EAAcF,EAAdE,eAExCwB,EAAuBlB,EAAMC,YAAY,WAE7CN,EADqC,cAAnBD,EAAiC,QAAU,YAE/D,EAAG,CAACA,EAAgBC,IAEdQ,EAAmBH,EAAMI,QAAQ,WAAA,OAAMa,QAAAA,EAAmBZ,SAASC,MAAM,CAACW,IAE1EE,EAAanB,EAAMI,QACvB,WAAA,OAAMJ,EAAAe,cAACK,EAAMC,gBAAAC,EAAA,CAAC1B,kBAAmBA,EAAmB2B,QAASL,GAA0B7B,GAAS,EAChG,CAACO,EAAmBP,EAAO6B,IAG7B,MAAsB,WAAlB7B,EAAMmC,QACDL,EAGFL,EAAYA,aAACK,EAAYhB,EAClC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@docsearch/sidepanel",
3
3
  "description": "DocSearch Sidepanel package for Ask AI.",
4
- "version": "4.5.0-beta.2",
4
+ "version": "4.5.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://docsearch.algolia.com",
7
7
  "repository": {
@@ -48,11 +48,11 @@
48
48
  "watch": "nodemon --watch src --ext ts,tsx,js,jsx,json --ignore dist/ --ignore node_modules/ --verbose --delay 250ms --exec \"yarn on:change\""
49
49
  },
50
50
  "dependencies": {
51
- "@docsearch/css": "4.5.0-beta.2"
51
+ "@docsearch/css": "4.5.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@docsearch/core": "4.5.0-beta.2",
55
- "@docsearch/react": "4.5.0-beta.2",
54
+ "@docsearch/core": "4.5.0",
55
+ "@docsearch/react": "4.5.0",
56
56
  "@rollup/plugin-replace": "6.0.2",
57
57
  "@testing-library/jest-dom": "6.6.3",
58
58
  "@testing-library/react": "16.2.0",