New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@react-pdf-viewer/search

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-pdf-viewer/search - npm Package Compare versions

Comparing version 3.0.0 to 3.1.0

14

lib/cjs/search.js

@@ -485,3 +485,3 @@ 'use strict';

}), matchPosition = _b[0], setMatchPosition = _b[1];
var _c = React__namespace.useState([EMPTY_KEYWORD_REGEXP]), keywordRegexp = _c[0], setKeywordRegexp = _c[1];
var _c = React__namespace.useState(store.get('keyword') || [EMPTY_KEYWORD_REGEXP]), keywordRegexp = _c[0], setKeywordRegexp = _c[1];
var _d = React__namespace.useState({

@@ -678,2 +678,5 @@ pageIndex: pageIndex,

var normalizeKeywords = function (keyword) {
return Array.isArray(keyword) ? keyword.map(function (k) { return normalizeSingleKeyword(k); }) : [normalizeSingleKeyword(keyword)];
};
var searchPlugin = function (props) {

@@ -684,2 +687,3 @@ var searchPluginProps = React__namespace.useMemo(function () { return Object.assign({}, { enableShortcuts: true, onHighlightKeyword: function () { } }, props); }, []);

renderStatus: new Map(),
keyword: props && props.keyword ? normalizeKeywords(props.keyword) : [EMPTY_KEYWORD_REGEXP],
});

@@ -696,5 +700,2 @@ }, []);

searchPluginProps.enableShortcuts && (React__namespace.createElement(ShortcutHandler, { containerRef: renderViewerProps.containerRef, store: store })),
Array(renderViewerProps.doc.numPages)
.fill(0)
.map(function (_, index) { return (React__namespace.createElement(Tracker, { key: index, numPages: renderViewerProps.doc.numPages, pageIndex: index, store: store, onHighlightKeyword: searchPluginProps.onHighlightKeyword })); }),
currentSlot.subSlot.children));

@@ -704,5 +705,3 @@ }

};
var normalizeKeywords = function (keyword) {
return Array.isArray(keyword) ? keyword.map(function (k) { return normalizeSingleKeyword(k); }) : [normalizeSingleKeyword(keyword)];
};
var renderPageLayer = function (renderProps) { return (React__namespace.createElement(Tracker, { key: renderProps.pageIndex, numPages: renderProps.doc.numPages, pageIndex: renderProps.pageIndex, store: store, onHighlightKeyword: searchPluginProps.onHighlightKeyword })); };
return {

@@ -715,2 +714,3 @@ install: function (pluginFunctions) {

},
renderPageLayer: renderPageLayer,
renderViewer: renderViewer,

@@ -717,0 +717,0 @@ uninstall: function (props) {

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-pdf-viewer/core");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e),o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},a={keyword:"",regExp:new RegExp(" ")},c=function(e){var t,n=e.wholeWords?" ".concat(e.keyword," "):e.keyword,r=e.matchCase?"g":"gi";return{keyword:e.keyword,regExp:new RegExp((t=n,t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),r)}},u=function(e,t,n){return e instanceof RegExp?{keyword:e.source,regExp:e}:"string"==typeof e?""===e?a:c({keyword:e,matchCase:t||!1,wholeWords:n||!1}):(void 0!==t&&(e.matchCase=t),void 0!==n&&(e.wholeWords=n),c(e))},s=function(e){var n,o=function(e){var t=r.useRef(e.get("doc")),n=function(e){t.current=e};return r.useEffect((function(){return e.subscribe("doc",n),function(){e.unsubscribe("doc",n)}}),[]),t}(e),c=r.useState([]),s=c[0],i=c[1],l=r.useState([]),h=l[0],f=l[1],d=r.useState(0),p=d[0],g=d[1],m=r.useState(!1),v=m[0],x=m[1],y=r.useRef([]),E=r.useState(!1),b=E[0],w=E[1],S=function(){return!0},C=r.useCallback((function(){return e.get("targetPageFilter")||S}),[e.get("targetPageFilter")]),P=function(e){if(0===s.length||0===h.length)return null;var t=Math.max(1,Math.min(h.length,e));return g(t),_(h[t-1])},k=function(e){return i(""===e?[]:[e])},_=function(t){var n=e.get("jumpToPage");return n&&n(t.pageIndex),e.update("matchPosition",{matchIndex:t.matchIndex,pageIndex:t.pageIndex}),t},I=function(n,r,a){var c=o.current;if(!c)return Promise.resolve([]);var s=c.numPages,i=n.map((function(e){return u(e,r,a)}));return e.update("keyword",i),g(0),f([]),new Promise((function(e,n){var r=0===y.current.length?function(){var e=o.current;if(!e)return Promise.resolve([]);var n=Array(e.numPages).fill(0).map((function(n,r){return t.getPage(e,r).then((function(e){return e.getTextContent()})).then((function(e){var t=e.items.map((function(e){return e.str||""})).join("");return Promise.resolve({pageContent:t,pageIndex:r})}))}));return Promise.all(n).then((function(e){return e.sort((function(e,t){return e.pageIndex-t.pageIndex})),Promise.resolve(e.map((function(e){return e.pageContent})))}))}().then((function(e){return y.current=e,Promise.resolve(e)})):Promise.resolve(y.current);r.then((function(t){var n=[];t.forEach((function(e,t){C()({pageIndex:t,numPages:s})&&i.forEach((function(r){for(var o,a=0;null!==(o=r.regExp.exec(e));)n.push({keyword:r.regExp,matchIndex:a,pageIndex:t,pageText:e,startIndex:o.index,endIndex:r.regExp.lastIndex}),a++}))})),f(n),n.length>0&&(g(1),_(n[0])),e(n)}))}))};return r.useEffect((function(){y.current=[]}),[o.current]),{clearKeyword:function(){0!==s.length&&(e.update("keyword",[a]),k(""),g(0),f([]),x(!1),w(!1))},changeMatchCase:function(e){x(e),s.length>0&&I(s,e,b)},changeWholeWords:function(e){w(e),s.length>0&&I(s,v,e)},currentMatch:p,jumpToMatch:P,jumpToNextMatch:function(){return P(p+1)},jumpToPreviousMatch:function(){return P(p-1)},keywords:s,matchCase:v,numberOfMatches:h.length,wholeWords:b,search:function(){return I(s,v,b)},searchFor:I,setKeywords:i,keyword:0===s.length?"":(n=s[0],n instanceof RegExp?n.source:"string"==typeof n?n:n.keyword),setKeyword:k,setTargetPages:function(t){e.update("targetPageFilter",t)}}},i=function(e){var t=e.children,n=e.store,r=s(n);return t(o({},r))},l=function(e){var n=e.containerRef,o=e.store,a=function(e){if(!e.shiftKey&&!e.altKey&&"f"===e.key&&(t.isMac()?e.metaKey&&!e.ctrlKey:e.ctrlKey)){var r=n.current;r&&document.activeElement&&r.contains(document.activeElement)&&(e.preventDefault(),o.update("areShortcutsPressed",!0))}};return r.useEffect((function(){if(n.current)return document.addEventListener("keydown",a),function(){document.removeEventListener("keydown",a)}}),[n.current]),r.createElement(r.Fragment,null)},h=function(){return r.createElement(t.Icon,{size:16},r.createElement("path",{d:"M0.541,5.627L11.666,18.2c0.183,0.207,0.499,0.226,0.706,0.043c0.015-0.014,0.03-0.028,0.043-0.043\n L23.541,5.627"}))},f=function(){return r.createElement(t.Icon,{size:16},r.createElement("path",{d:"M23.535,18.373L12.409,5.8c-0.183-0.207-0.499-0.226-0.706-0.043C11.688,5.77,11.674,5.785,11.66,5.8\n L0.535,18.373"}))},d={left:0,top:8},p=function(e){var n=e.store,o=e.onToggle,a=r.useContext(t.LocalizationContext).l10n,c=r.useContext(t.ThemeContext).direction,u=r.useState(!1),i=u[0],l=u[1],p=c===t.TextDirection.RightToLeft,g=s(n),m=g.clearKeyword,v=g.changeMatchCase,x=g.changeWholeWords,y=g.currentMatch,E=g.jumpToNextMatch,b=g.jumpToPreviousMatch,w=g.keyword,S=g.matchCase,C=g.numberOfMatches,P=g.wholeWords,k=g.search,_=g.setKeyword,I=a&&a.search?a.search.enterToSearch:"Enter to search",T=a&&a.search?a.search.previousMatch:"Previous match",M=a&&a.search?a.search.nextMatch:"Next match";return r.createElement("div",{className:"rpv-search__popover"},r.createElement("div",{className:"rpv-search__popover-input-counter"},r.createElement(t.TextBox,{ariaLabel:I,autoFocus:!0,placeholder:I,type:"text",value:w,onChange:_,onKeyDown:function(e){"Enter"===e.key&&w&&(l(!0),k().then((function(e){return l(!1)})))}}),r.createElement("div",{className:t.classNames({"rpv-search__popover-counter":!0,"rpv-search__popover-counter--ltr":!p,"rpv-search__popover-counter--rtl":p})},i&&r.createElement(t.Spinner,{size:"1rem"}),!i&&r.createElement("span",null,y,"/",C))),r.createElement("label",{className:"rpv-search__popover-label"},r.createElement("input",{className:"rpv-search__popover-label-checkbox",checked:S,type:"checkbox",onChange:function(e){v(e.target.checked)}})," ",a&&a.search?a.search.matchCase:"Match case"),r.createElement("label",{className:"rpv-search__popover-label"},r.createElement("input",{className:"rpv-search__popover-label-checkbox",checked:P,type:"checkbox",onChange:function(e){x(e.target.checked)}})," ",a&&a.search?a.search.wholeWords:"Whole words"),r.createElement("div",{className:"rpv-search__popover-footer"},r.createElement("div",{className:"rpv-search__popover-footer-item"},r.createElement(t.Tooltip,{ariaControlsSuffix:"search-previous-match",position:p?t.Position.BottomRight:t.Position.BottomCenter,target:r.createElement(t.MinimalButton,{ariaLabel:T,isDisabled:y<=1,onClick:b},r.createElement(f,null)),content:function(){return T},offset:d})),r.createElement("div",{className:"rpv-search__popover-footer-item"},r.createElement(t.Tooltip,{ariaControlsSuffix:"search-next-match",position:t.Position.BottomCenter,target:r.createElement(t.MinimalButton,{ariaLabel:M,isDisabled:y>C-1,onClick:E},r.createElement(h,null)),content:function(){return M},offset:d})),r.createElement("div",{className:t.classNames({"rpv-search__popover-footer-button":!0,"rpv-search__popover-footer-button--ltr":!p,"rpv-search__popover-footer-button--rtl":p})},r.createElement(t.Button,{onClick:function(){o(),m()}},a&&a.search?a.search.close:"Close"))))},g=function(){return r.createElement(t.Icon,{ignoreDirection:!0,size:16},r.createElement("path",{d:"M10.5,0.5c5.523,0,10,4.477,10,10s-4.477,10-10,10s-10-4.477-10-10S4.977,0.5,10.5,0.5z\n M23.5,23.5\n l-5.929-5.929"}))},m=function(e){var n=e.children,o=e.onClick,a=r.useContext(t.LocalizationContext).l10n,c=a&&a.search?a.search.search:"Search";return n({icon:r.createElement(g,null),label:c,onClick:o})},v={left:0,top:8},x=function(e){var n=e.enableShortcuts,o=e.store,a=e.onClick,c=n?t.isMac()?"Meta+F":"Ctrl+F":"",u=function(e){e&&a()};return r.useEffect((function(){return o.subscribe("areShortcutsPressed",u),function(){o.unsubscribe("areShortcutsPressed",u)}}),[]),r.createElement(m,{onClick:a},(function(e){return r.createElement(t.Tooltip,{ariaControlsSuffix:"search-popover",position:t.Position.BottomCenter,target:r.createElement(t.MinimalButton,{ariaKeyShortcuts:c,ariaLabel:e.label,testId:"search__popover-button",onClick:a},e.icon),content:function(){return e.label},offset:v})}))},y={left:0,top:8},E=function(e){var n=e.children,a=e.enableShortcuts,c=e.store,u=r.useContext(t.ThemeContext).direction===t.TextDirection.RightToLeft?t.Position.BottomRight:t.Position.BottomLeft,s=n||function(e){return r.createElement(x,o({enableShortcuts:a,store:c},e))};return r.createElement(t.Popover,{ariaControlsSuffix:"search",position:u,target:function(e){return s({onClick:e})},content:function(e){return r.createElement(p,{store:c,onToggle:e})},offset:y,closeOnClickOutside:!1,closeOnEscape:!0})},b=function(e){var t=e.parentNode;t&&t.removeChild(e)},w=function(e){var t=e.parentNode;if(t){var n=document.createRange();n.selectNodeContents(e),function(e,t){b(e);var n=t.parentNode;n&&n.insertBefore(e,t),b(t)}(n.extractContents(),e),t.normalize()}},S=function(e){return parseFloat(e.slice(0,-1))},C=function(e,t){var n=S(e.style.top),r=S(e.style.left),o=S(t.style.top),a=S(t.style.left);return n<o?-1:n>o?1:r<a?-1:r>a?1:0},P=function(e){var n=e.numPages,o=e.pageIndex,c=e.store,u=e.onHighlightKeyword,s=r.useState({matchIndex:-1,pageIndex:-1}),i=s[0],l=s[1],h=r.useState([a]),f=h[0],d=h[1],p=r.useState({pageIndex:o,scale:1,status:t.LayerRenderStatus.PreRender}),g=p[0],m=p[1],v=r.useRef(null),x=r.useRef([]),y=function(){return!0},E=r.useCallback((function(){return c.get("targetPageFilter")||y}),[c.get("targetPageFilter")]),b=function(e){for(var t=e.querySelectorAll("span.rpv-search__highlight"),n=t.length,r=0;r<n;r++)t[r].parentElement.removeChild(t[r])},S=function(e){var t=x.current;if(0!==t.length){var n=[].slice.call(e.querySelectorAll(".rpv-core__text-layer-text")),r=t.map((function(e){return e.char})).join("");f.forEach((function(o){var a=o.keyword;if(a.trim()){for(var c,s=-1===o.regExp.flags.indexOf("g")?new RegExp(o.regExp,"".concat(o.regExp.flags,"g")):o.regExp,i=[];null!==(c=s.exec(r));)i.push({keyword:s,startIndex:c.index,endIndex:s.lastIndex});i.map((function(e){return{keyword:e.keyword,indexes:t.slice(e.startIndex,e.endIndex)}})).forEach((function(t){var r=t.indexes.reduce((function(e,t){return e[t.spanIndex]=(e[t.spanIndex]||[]).concat([t]),e}),{});Object.values(r).forEach((function(r){!function(e,t,n,r,o){var a=document.createRange(),c=r.firstChild;if(c){var s=o[0].charIndexInSpan,i=1===o.length?s:o[o.length-1].charIndexInSpan;a.setStart(c,s),a.setEnd(c,i+1);var l=document.createElement("span");a.surroundContents(l);var h=l.getBoundingClientRect(),f=n.getBoundingClientRect(),d=document.createElement("span");n.insertBefore(d,n.firstChild),d.style.left="".concat(100*(h.left-f.left)/f.width,"%"),d.style.top="".concat(100*(h.top-f.top)/f.height,"%"),d.style.width="".concat(100*h.width/f.width,"%"),d.style.height="".concat(100*h.height/f.height,"%"),d.classList.add("rpv-search__highlight"),d.setAttribute("title",e.trim()),w(l),u&&u({highlightEle:d,keyword:t})}}(a,t.keyword,e,n[r[0].spanIndex],r)}))}))}})),[].slice.call(e.querySelectorAll(".rpv-search__highlight")).sort(C).forEach((function(e,t){e.setAttribute("data-index","".concat(t))}))}},P=function(e){e&&e.length>0&&d(e)},k=function(e){return l(e)},_=function(e){if(e.has(o)){var t=e.get(o);t&&m({ele:t.ele,pageIndex:o,scale:t.scale,status:t.status})}},I=function(){return 0===f.length||1===f.length&&""===f[0].keyword.trim()};r.useEffect((function(){if(!I()&&g.status===t.LayerRenderStatus.DidRender&&!x.current.length){var e=g.ele,n=[].slice.call(e.querySelectorAll(".rpv-core__text-layer-text")).map((function(e){return e.textContent})).reduce((function(e,t,n){return e.concat(t.split("").map((function(e,t){return{char:e,charIndexInSpan:t,spanIndex:n}})))}),[{char:"",charIndexInSpan:0,spanIndex:0}]).slice(1);x.current=n}}),[f,g.status]),r.useEffect((function(){if(!I()&&g.ele&&g.status===t.LayerRenderStatus.DidRender&&E()({pageIndex:o,numPages:n})){var e=g.ele;b(e),S(e),T()}}),[f,i,g.status,x.current]),r.useEffect((function(){I()&&g.ele&&g.status===t.LayerRenderStatus.DidRender&&b(g.ele)}),[f,g.status]);var T=function(){if(i.pageIndex===o&&g.ele&&g.status===t.LayerRenderStatus.DidRender){var e=g.ele,n=e.querySelector('.rpv-search__highlight[data-index="'.concat(i.matchIndex,'"]'));if(n){var r=function(e,t){for(var n=e.offsetTop,r=e.offsetLeft,o=e.parentElement;o&&o!==t;)n+=o.offsetTop,r+=o.offsetLeft,o=o.parentElement;return{left:r,top:n}}(n,e),a=r.left,u=r.top,s=c.get("jumpToDestination");s&&(s(o,(e.getBoundingClientRect().height-u)/g.scale,a/g.scale,g.scale),v.current&&v.current.classList.remove("rpv-search__highlight--current"),v.current=n,n.classList.add("rpv-search__highlight--current"))}}};return r.useEffect((function(){return c.subscribe("keyword",P),c.subscribe("matchPosition",k),c.subscribe("renderStatus",_),function(){c.unsubscribe("keyword",P),c.unsubscribe("matchPosition",k),c.unsubscribe("renderStatus",_)}}),[]),r.createElement(r.Fragment,null)};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-pdf-viewer/core");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=r(e),o=function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},a={keyword:"",regExp:new RegExp(" ")},c=function(e){var t,r=e.wholeWords?" ".concat(e.keyword," "):e.keyword,n=e.matchCase?"g":"gi";return{keyword:e.keyword,regExp:new RegExp((t=r,t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),n)}},u=function(e,t,r){return e instanceof RegExp?{keyword:e.source,regExp:e}:"string"==typeof e?""===e?a:c({keyword:e,matchCase:t||!1,wholeWords:r||!1}):(void 0!==t&&(e.matchCase=t),void 0!==r&&(e.wholeWords=r),c(e))},s=function(e){var r,o=function(e){var t=n.useRef(e.get("doc")),r=function(e){t.current=e};return n.useEffect((function(){return e.subscribe("doc",r),function(){e.unsubscribe("doc",r)}}),[]),t}(e),c=n.useState([]),s=c[0],i=c[1],l=n.useState([]),h=l[0],f=l[1],d=n.useState(0),p=d[0],g=d[1],m=n.useState(!1),v=m[0],x=m[1],y=n.useRef([]),E=n.useState(!1),b=E[0],w=E[1],S=function(){return!0},k=n.useCallback((function(){return e.get("targetPageFilter")||S}),[e.get("targetPageFilter")]),C=function(e){if(0===s.length||0===h.length)return null;var t=Math.max(1,Math.min(h.length,e));return g(t),_(h[t-1])},P=function(e){return i(""===e?[]:[e])},_=function(t){var r=e.get("jumpToPage");return r&&r(t.pageIndex),e.update("matchPosition",{matchIndex:t.matchIndex,pageIndex:t.pageIndex}),t},I=function(r,n,a){var c=o.current;if(!c)return Promise.resolve([]);var s=c.numPages,i=r.map((function(e){return u(e,n,a)}));return e.update("keyword",i),g(0),f([]),new Promise((function(e,r){var n=0===y.current.length?function(){var e=o.current;if(!e)return Promise.resolve([]);var r=Array(e.numPages).fill(0).map((function(r,n){return t.getPage(e,n).then((function(e){return e.getTextContent()})).then((function(e){var t=e.items.map((function(e){return e.str||""})).join("");return Promise.resolve({pageContent:t,pageIndex:n})}))}));return Promise.all(r).then((function(e){return e.sort((function(e,t){return e.pageIndex-t.pageIndex})),Promise.resolve(e.map((function(e){return e.pageContent})))}))}().then((function(e){return y.current=e,Promise.resolve(e)})):Promise.resolve(y.current);n.then((function(t){var r=[];t.forEach((function(e,t){k()({pageIndex:t,numPages:s})&&i.forEach((function(n){for(var o,a=0;null!==(o=n.regExp.exec(e));)r.push({keyword:n.regExp,matchIndex:a,pageIndex:t,pageText:e,startIndex:o.index,endIndex:n.regExp.lastIndex}),a++}))})),f(r),r.length>0&&(g(1),_(r[0])),e(r)}))}))};return n.useEffect((function(){y.current=[]}),[o.current]),{clearKeyword:function(){0!==s.length&&(e.update("keyword",[a]),P(""),g(0),f([]),x(!1),w(!1))},changeMatchCase:function(e){x(e),s.length>0&&I(s,e,b)},changeWholeWords:function(e){w(e),s.length>0&&I(s,v,e)},currentMatch:p,jumpToMatch:C,jumpToNextMatch:function(){return C(p+1)},jumpToPreviousMatch:function(){return C(p-1)},keywords:s,matchCase:v,numberOfMatches:h.length,wholeWords:b,search:function(){return I(s,v,b)},searchFor:I,setKeywords:i,keyword:0===s.length?"":(r=s[0],r instanceof RegExp?r.source:"string"==typeof r?r:r.keyword),setKeyword:P,setTargetPages:function(t){e.update("targetPageFilter",t)}}},i=function(e){var t=e.children,r=e.store,n=s(r);return t(o({},n))},l=function(e){var r=e.containerRef,o=e.store,a=function(e){if(!e.shiftKey&&!e.altKey&&"f"===e.key&&(t.isMac()?e.metaKey&&!e.ctrlKey:e.ctrlKey)){var n=r.current;n&&document.activeElement&&n.contains(document.activeElement)&&(e.preventDefault(),o.update("areShortcutsPressed",!0))}};return n.useEffect((function(){if(r.current)return document.addEventListener("keydown",a),function(){document.removeEventListener("keydown",a)}}),[r.current]),n.createElement(n.Fragment,null)},h=function(){return n.createElement(t.Icon,{size:16},n.createElement("path",{d:"M0.541,5.627L11.666,18.2c0.183,0.207,0.499,0.226,0.706,0.043c0.015-0.014,0.03-0.028,0.043-0.043\n L23.541,5.627"}))},f=function(){return n.createElement(t.Icon,{size:16},n.createElement("path",{d:"M23.535,18.373L12.409,5.8c-0.183-0.207-0.499-0.226-0.706-0.043C11.688,5.77,11.674,5.785,11.66,5.8\n L0.535,18.373"}))},d={left:0,top:8},p=function(e){var r=e.store,o=e.onToggle,a=n.useContext(t.LocalizationContext).l10n,c=n.useContext(t.ThemeContext).direction,u=n.useState(!1),i=u[0],l=u[1],p=c===t.TextDirection.RightToLeft,g=s(r),m=g.clearKeyword,v=g.changeMatchCase,x=g.changeWholeWords,y=g.currentMatch,E=g.jumpToNextMatch,b=g.jumpToPreviousMatch,w=g.keyword,S=g.matchCase,k=g.numberOfMatches,C=g.wholeWords,P=g.search,_=g.setKeyword,I=a&&a.search?a.search.enterToSearch:"Enter to search",T=a&&a.search?a.search.previousMatch:"Previous match",M=a&&a.search?a.search.nextMatch:"Next match";return n.createElement("div",{className:"rpv-search__popover"},n.createElement("div",{className:"rpv-search__popover-input-counter"},n.createElement(t.TextBox,{ariaLabel:I,autoFocus:!0,placeholder:I,type:"text",value:w,onChange:_,onKeyDown:function(e){"Enter"===e.key&&w&&(l(!0),P().then((function(e){return l(!1)})))}}),n.createElement("div",{className:t.classNames({"rpv-search__popover-counter":!0,"rpv-search__popover-counter--ltr":!p,"rpv-search__popover-counter--rtl":p})},i&&n.createElement(t.Spinner,{size:"1rem"}),!i&&n.createElement("span",null,y,"/",k))),n.createElement("label",{className:"rpv-search__popover-label"},n.createElement("input",{className:"rpv-search__popover-label-checkbox",checked:S,type:"checkbox",onChange:function(e){v(e.target.checked)}})," ",a&&a.search?a.search.matchCase:"Match case"),n.createElement("label",{className:"rpv-search__popover-label"},n.createElement("input",{className:"rpv-search__popover-label-checkbox",checked:C,type:"checkbox",onChange:function(e){x(e.target.checked)}})," ",a&&a.search?a.search.wholeWords:"Whole words"),n.createElement("div",{className:"rpv-search__popover-footer"},n.createElement("div",{className:"rpv-search__popover-footer-item"},n.createElement(t.Tooltip,{ariaControlsSuffix:"search-previous-match",position:p?t.Position.BottomRight:t.Position.BottomCenter,target:n.createElement(t.MinimalButton,{ariaLabel:T,isDisabled:y<=1,onClick:b},n.createElement(f,null)),content:function(){return T},offset:d})),n.createElement("div",{className:"rpv-search__popover-footer-item"},n.createElement(t.Tooltip,{ariaControlsSuffix:"search-next-match",position:t.Position.BottomCenter,target:n.createElement(t.MinimalButton,{ariaLabel:M,isDisabled:y>k-1,onClick:E},n.createElement(h,null)),content:function(){return M},offset:d})),n.createElement("div",{className:t.classNames({"rpv-search__popover-footer-button":!0,"rpv-search__popover-footer-button--ltr":!p,"rpv-search__popover-footer-button--rtl":p})},n.createElement(t.Button,{onClick:function(){o(),m()}},a&&a.search?a.search.close:"Close"))))},g=function(){return n.createElement(t.Icon,{ignoreDirection:!0,size:16},n.createElement("path",{d:"M10.5,0.5c5.523,0,10,4.477,10,10s-4.477,10-10,10s-10-4.477-10-10S4.977,0.5,10.5,0.5z\n M23.5,23.5\n l-5.929-5.929"}))},m=function(e){var r=e.children,o=e.onClick,a=n.useContext(t.LocalizationContext).l10n,c=a&&a.search?a.search.search:"Search";return r({icon:n.createElement(g,null),label:c,onClick:o})},v={left:0,top:8},x=function(e){var r=e.enableShortcuts,o=e.store,a=e.onClick,c=r?t.isMac()?"Meta+F":"Ctrl+F":"",u=function(e){e&&a()};return n.useEffect((function(){return o.subscribe("areShortcutsPressed",u),function(){o.unsubscribe("areShortcutsPressed",u)}}),[]),n.createElement(m,{onClick:a},(function(e){return n.createElement(t.Tooltip,{ariaControlsSuffix:"search-popover",position:t.Position.BottomCenter,target:n.createElement(t.MinimalButton,{ariaKeyShortcuts:c,ariaLabel:e.label,testId:"search__popover-button",onClick:a},e.icon),content:function(){return e.label},offset:v})}))},y={left:0,top:8},E=function(e){var r=e.children,a=e.enableShortcuts,c=e.store,u=n.useContext(t.ThemeContext).direction===t.TextDirection.RightToLeft?t.Position.BottomRight:t.Position.BottomLeft,s=r||function(e){return n.createElement(x,o({enableShortcuts:a,store:c},e))};return n.createElement(t.Popover,{ariaControlsSuffix:"search",position:u,target:function(e){return s({onClick:e})},content:function(e){return n.createElement(p,{store:c,onToggle:e})},offset:y,closeOnClickOutside:!1,closeOnEscape:!0})},b=function(e){var t=e.parentNode;t&&t.removeChild(e)},w=function(e){var t=e.parentNode;if(t){var r=document.createRange();r.selectNodeContents(e),function(e,t){b(e);var r=t.parentNode;r&&r.insertBefore(e,t),b(t)}(r.extractContents(),e),t.normalize()}},S=function(e){return parseFloat(e.slice(0,-1))},k=function(e,t){var r=S(e.style.top),n=S(e.style.left),o=S(t.style.top),a=S(t.style.left);return r<o?-1:r>o?1:n<a?-1:n>a?1:0},C=function(e){var r=e.numPages,o=e.pageIndex,c=e.store,u=e.onHighlightKeyword,s=n.useState({matchIndex:-1,pageIndex:-1}),i=s[0],l=s[1],h=n.useState(c.get("keyword")||[a]),f=h[0],d=h[1],p=n.useState({pageIndex:o,scale:1,status:t.LayerRenderStatus.PreRender}),g=p[0],m=p[1],v=n.useRef(null),x=n.useRef([]),y=function(){return!0},E=n.useCallback((function(){return c.get("targetPageFilter")||y}),[c.get("targetPageFilter")]),b=function(e){for(var t=e.querySelectorAll("span.rpv-search__highlight"),r=t.length,n=0;n<r;n++)t[n].parentElement.removeChild(t[n])},S=function(e){var t=x.current;if(0!==t.length){var r=[].slice.call(e.querySelectorAll(".rpv-core__text-layer-text")),n=t.map((function(e){return e.char})).join("");f.forEach((function(o){var a=o.keyword;if(a.trim()){for(var c,s=-1===o.regExp.flags.indexOf("g")?new RegExp(o.regExp,"".concat(o.regExp.flags,"g")):o.regExp,i=[];null!==(c=s.exec(n));)i.push({keyword:s,startIndex:c.index,endIndex:s.lastIndex});i.map((function(e){return{keyword:e.keyword,indexes:t.slice(e.startIndex,e.endIndex)}})).forEach((function(t){var n=t.indexes.reduce((function(e,t){return e[t.spanIndex]=(e[t.spanIndex]||[]).concat([t]),e}),{});Object.values(n).forEach((function(n){!function(e,t,r,n,o){var a=document.createRange(),c=n.firstChild;if(c){var s=o[0].charIndexInSpan,i=1===o.length?s:o[o.length-1].charIndexInSpan;a.setStart(c,s),a.setEnd(c,i+1);var l=document.createElement("span");a.surroundContents(l);var h=l.getBoundingClientRect(),f=r.getBoundingClientRect(),d=document.createElement("span");r.insertBefore(d,r.firstChild),d.style.left="".concat(100*(h.left-f.left)/f.width,"%"),d.style.top="".concat(100*(h.top-f.top)/f.height,"%"),d.style.width="".concat(100*h.width/f.width,"%"),d.style.height="".concat(100*h.height/f.height,"%"),d.classList.add("rpv-search__highlight"),d.setAttribute("title",e.trim()),w(l),u&&u({highlightEle:d,keyword:t})}}(a,t.keyword,e,r[n[0].spanIndex],n)}))}))}})),[].slice.call(e.querySelectorAll(".rpv-search__highlight")).sort(k).forEach((function(e,t){e.setAttribute("data-index","".concat(t))}))}},C=function(e){e&&e.length>0&&d(e)},P=function(e){return l(e)},_=function(e){if(e.has(o)){var t=e.get(o);t&&m({ele:t.ele,pageIndex:o,scale:t.scale,status:t.status})}},I=function(){return 0===f.length||1===f.length&&""===f[0].keyword.trim()};n.useEffect((function(){if(!I()&&g.status===t.LayerRenderStatus.DidRender&&!x.current.length){var e=g.ele,r=[].slice.call(e.querySelectorAll(".rpv-core__text-layer-text")).map((function(e){return e.textContent})).reduce((function(e,t,r){return e.concat(t.split("").map((function(e,t){return{char:e,charIndexInSpan:t,spanIndex:r}})))}),[{char:"",charIndexInSpan:0,spanIndex:0}]).slice(1);x.current=r}}),[f,g.status]),n.useEffect((function(){if(!I()&&g.ele&&g.status===t.LayerRenderStatus.DidRender&&E()({pageIndex:o,numPages:r})){var e=g.ele;b(e),S(e),T()}}),[f,i,g.status,x.current]),n.useEffect((function(){I()&&g.ele&&g.status===t.LayerRenderStatus.DidRender&&b(g.ele)}),[f,g.status]);var T=function(){if(i.pageIndex===o&&g.ele&&g.status===t.LayerRenderStatus.DidRender){var e=g.ele,r=e.querySelector('.rpv-search__highlight[data-index="'.concat(i.matchIndex,'"]'));if(r){var n=function(e,t){for(var r=e.offsetTop,n=e.offsetLeft,o=e.parentElement;o&&o!==t;)r+=o.offsetTop,n+=o.offsetLeft,o=o.parentElement;return{left:n,top:r}}(r,e),a=n.left,u=n.top,s=c.get("jumpToDestination");s&&(s(o,(e.getBoundingClientRect().height-u)/g.scale,a/g.scale,g.scale),v.current&&v.current.classList.remove("rpv-search__highlight--current"),v.current=r,r.classList.add("rpv-search__highlight--current"))}}};return n.useEffect((function(){return c.subscribe("keyword",C),c.subscribe("matchPosition",P),c.subscribe("renderStatus",_),function(){c.unsubscribe("keyword",C),c.unsubscribe("matchPosition",P),c.unsubscribe("renderStatus",_)}}),[]),n.createElement(n.Fragment,null)},P=function(e){return Array.isArray(e)?e.map((function(e){return u(e)})):[u(e)]};
/*! *****************************************************************************

@@ -15,2 +15,2 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */exports.NextIcon=h,exports.PreviousIcon=f,exports.SearchIcon=g,exports.searchPlugin=function(e){var n=r.useMemo((function(){return Object.assign({},{enableShortcuts:!0,onHighlightKeyword:function(){}},e)}),[]),c=r.useMemo((function(){return t.createStore({renderStatus:new Map})}),[]),h=s(c),f=h.clearKeyword,d=h.jumpToMatch,p=h.jumpToNextMatch,g=h.jumpToPreviousMatch,m=h.searchFor,v=h.setKeywords,y=h.setTargetPages,b=function(e){return r.createElement(E,o({enableShortcuts:n.enableShortcuts},e,{store:c}))};return{install:function(t){var n=e&&e.keyword?function(e){return Array.isArray(e)?e.map((function(e){return u(e)})):[u(e)]}(e.keyword):[a];c.update("jumpToDestination",t.jumpToDestination),c.update("jumpToPage",t.jumpToPage),c.update("keyword",n)},renderViewer:function(e){var t=e.slot;return t.subSlot&&(t.subSlot.children=r.createElement(r.Fragment,null,n.enableShortcuts&&r.createElement(l,{containerRef:e.containerRef,store:c}),Array(e.doc.numPages).fill(0).map((function(t,o){return r.createElement(P,{key:o,numPages:e.doc.numPages,pageIndex:o,store:c,onHighlightKeyword:n.onHighlightKeyword})})),t.subSlot.children)),t},uninstall:function(e){var t=c.get("renderStatus");t&&t.clear()},onDocumentLoad:function(e){c.update("doc",e.doc)},onTextLayerRender:function(e){var t=c.get("renderStatus");t&&(t=t.set(e.pageIndex,e),c.update("renderStatus",t))},Search:function(e){return r.createElement(i,o({},e,{store:c}))},ShowSearchPopover:b,ShowSearchPopoverButton:function(){return r.createElement(b,null,(function(e){return r.createElement(x,o({enableShortcuts:n.enableShortcuts,store:c},e))}))},clearHighlights:function(){f()},highlight:function(e){var t=Array.isArray(e)?e:[e];return v(t),m(t)},jumpToMatch:d,jumpToNextMatch:p,jumpToPreviousMatch:g,setTargetPages:y}};
***************************************************************************** */exports.NextIcon=h,exports.PreviousIcon=f,exports.SearchIcon=g,exports.searchPlugin=function(e){var r=n.useMemo((function(){return Object.assign({},{enableShortcuts:!0,onHighlightKeyword:function(){}},e)}),[]),c=n.useMemo((function(){return t.createStore({renderStatus:new Map,keyword:e&&e.keyword?P(e.keyword):[a]})}),[]),u=s(c),h=u.clearKeyword,f=u.jumpToMatch,d=u.jumpToNextMatch,p=u.jumpToPreviousMatch,g=u.searchFor,m=u.setKeywords,v=u.setTargetPages,y=function(e){return n.createElement(E,o({enableShortcuts:r.enableShortcuts},e,{store:c}))};return{install:function(t){var r=e&&e.keyword?P(e.keyword):[a];c.update("jumpToDestination",t.jumpToDestination),c.update("jumpToPage",t.jumpToPage),c.update("keyword",r)},renderPageLayer:function(e){return n.createElement(C,{key:e.pageIndex,numPages:e.doc.numPages,pageIndex:e.pageIndex,store:c,onHighlightKeyword:r.onHighlightKeyword})},renderViewer:function(e){var t=e.slot;return t.subSlot&&(t.subSlot.children=n.createElement(n.Fragment,null,r.enableShortcuts&&n.createElement(l,{containerRef:e.containerRef,store:c}),t.subSlot.children)),t},uninstall:function(e){var t=c.get("renderStatus");t&&t.clear()},onDocumentLoad:function(e){c.update("doc",e.doc)},onTextLayerRender:function(e){var t=c.get("renderStatus");t&&(t=t.set(e.pageIndex,e),c.update("renderStatus",t))},Search:function(e){return n.createElement(i,o({},e,{store:c}))},ShowSearchPopover:y,ShowSearchPopoverButton:function(){return n.createElement(y,null,(function(e){return n.createElement(x,o({enableShortcuts:r.enableShortcuts,store:c},e))}))},clearHighlights:function(){h()},highlight:function(e){var t=Array.isArray(e)?e:[e];return m(t),g(t)},jumpToMatch:f,jumpToNextMatch:d,jumpToPreviousMatch:p,setTargetPages:v}};

@@ -6,3 +6,3 @@ /**

* @license https://react-pdf-viewer.dev/license
* @copyright 2019-2021 Nguyen Huu Phuoc <me@phuoc.ng>
* @copyright 2019-2022 Nguyen Huu Phuoc <me@phuoc.ng>
*/

@@ -9,0 +9,0 @@

@@ -6,3 +6,3 @@ /**

* @license https://react-pdf-viewer.dev/license
* @copyright 2019-2021 Nguyen Huu Phuoc <me@phuoc.ng>
* @copyright 2019-2022 Nguyen Huu Phuoc <me@phuoc.ng>
*/

@@ -9,0 +9,0 @@

{
"name": "@react-pdf-viewer/search",
"version": "3.0.0",
"version": "3.1.0",
"description": "A React component to view a PDF document",

@@ -36,3 +36,3 @@ "license": "https://react-pdf-viewer.dev/license",

"dependencies": {
"@react-pdf-viewer/core": "3.0.0"
"@react-pdf-viewer/core": "3.1.0"
},

@@ -53,3 +53,3 @@ "peerDependencies": {

},
"gitHead": "db24bf8b47a1ef4ee9da726af7f66268468c3420"
"gitHead": "ead0aba196b4ae44bec08900e4d54e216a83e245"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc