react-pure-modal 2.2.8 → 3.0.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 +0,0 @@
1
- .body-modal-fix{height:100%;width:100%;overflow:hidden}.pure-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:rgba(0,0,0,.4);display:flex;flex-direction:column;justify-content:center;align-items:center}.backdrop-overflow-hidden{overflow:hidden!important}.pure-modal-backdrop .pure-modal{width:300px;max-width:100%;box-sizing:border-box;transition:all .2s ease-in-out;max-height:100%}.pure-modal.auto-height{position:static}.pure-modal-backdrop.scrollable{overflow-y:auto}.pure-modal-backdrop .panel{display:grid;grid-template-rows:repeat(3,min-content)}.pure-modal-backdrop:not(.scrollable) .panel{grid-template-rows:min-content minmax(0,1fr) min-content;max-height:-moz-available;max-height:-webkit-fill-available;max-height:fill-available;height:100%}.pure-modal>*>*{flex:0 0 auto}.pure-modal>*>.scrollable{overflow-x:hidden;overflow-scrolling:touch}@media (max-width:480px){.pure-modal-backdrop .pure-modal{width:100%}}.pure-modal .panel-body{background-color:#fff}.pure-modal .panel-heading{background:#f0f0f0}.pure-modal .panel-title{padding:12px 45px 12px 15px;margin:0}.pure-modal .close{right:10px;top:10px;z-index:1;background:hsla(0,0%,94.1%,.8);width:30px;color:#8c8c8c;transition:color .1s ease-in-out;height:30px;border-radius:15px;text-align:center;line-height:30px;cursor:pointer}.pure-modal .panel-heading .close:hover{color:#000}.pure-modal .panel-body{padding:15px}.pure-modal .panel-footer{padding:12px 45px 12px 15px;background:#f0f0f0}.pure-modal .panel-body,.pure-modal .panel-footer,.pure-modal .panel-title{word-break:break-all}.pure-modal-backdrop .additional-row,.pure-modal-backdrop:not(.scrollable) .additional-row{display:grid;grid-template-rows:min-content minmax(0,1fr) min-content min-content}
@@ -1 +0,0 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("react"),require("react-dom"));else if("function"==typeof define&&define.amd)define(["react","react-dom"],t);else{var o="object"==typeof exports?t(require("react"),require("react-dom")):t(e.react,e["react-dom"]);for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(this,((e,t)=>(()=>{var o={494:()=>{},156:t=>{"use strict";t.exports=e},111:e=>{"use strict";e.exports=t}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,a),r.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var o in t)a.o(t,o)&&!a.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";a.r(r),a.d(r,{default:()=>s});var e=a(156),t=a.n(e),o=a(111);function n(e){const{children:o,replace:n,bodyClass:a,header:r,footer:c,onDragStart:l,onDragEnd:s,onClose:u,closeButton:i,closeButtonPosition:d}=e;return n?o:t().createElement("div",{className:"panel panel-default "+("bottom"===d?"additional-row":"")},t().createElement("div",{className:"panel-heading",onTouchStart:l,onMouseDown:l,onTouchEnd:s,onMouseUp:s},r&&t().createElement("h3",{className:"panel-title"},r)),t().createElement("div",{className:a},o),c&&t().createElement("div",{className:"panel-footer"},c),t().createElement("div",{className:"close",onClick:u,style:{position:"header"===d?"absolute":"static",margin:"bottom"===d?"10px auto":""}},i))}n.defaultProps={closeButton:"×",closeButtonPosition:"header",replace:!1,draggable:!1};const c=n;a(494);function l(n){let a=Math.random().toString();const[r,l]=(0,e.useState)(!1),[s,u]=(0,e.useState)(null),[i,d]=(0,e.useState)(null),[p,m]=(0,e.useState)(0),[f,g]=(0,e.useState)(0),[h,v]=(0,e.useState)(0),[b,y]=(0,e.useState)(0),{isOpen:E,onClose:S}=n,T=(0,e.useCallback)((()=>{document.body.classList.remove("body-modal-fix")}),[]);(0,e.useEffect)((()=>(E&&(document.addEventListener("keydown",x),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),document.body.classList.add("body-modal-fix")),()=>{document.querySelector(".pure-modal")||(document.removeEventListener("keydown",x),T(),u(null),d(null),m(0),g(0),v(0),y(0))})),[E]);const x=(0,e.useCallback)((e=>{const t=document.querySelectorAll(".pure-modal"),o=t.length>1,n=t[t.length-1];return!(o&&!n.className.includes(a))&&(!("Escape"!==e.key||!document.activeElement)&&(P(e),!0))}),[P,a]);if(!E)return null;function P(e){e&&(e.stopPropagation(),e.preventDefault()),null==S||S({isPassive:Boolean(e)})}function M(e){return e instanceof TouchEvent&&e.changedTouches.length>0?{pageX:e.changedTouches[0].pageX,pageY:e.changedTouches[0].pageY}:e instanceof MouseEvent?{pageX:e.pageX,pageY:e.pageY}:{pageX:0,pageY:0}}function j(e){if(e instanceof TouchEvent&&e.changedTouches&&e.changedTouches.length>1)return B();e.preventDefault();const{pageX:t,pageY:o}=M(e);"number"==typeof s&&"number"==typeof i&&(m(t-s-h),g(o-i-b))}function B(){return l(!1)}const{children:D,replace:N=!1,className:k,header:w,footer:C,scrollable:X=!0,draggable:Y=!1,width:q,closeButton:L,closeButtonPosition:O,portal:_=!1}=n;let $=["pure-modal-backdrop"],A=["pure-modal",a],H=["panel-body"];k&&(A=A.concat(k)),X?H=H.concat("scrollable"):($=$.concat("scrollable"),A=A.concat("auto-height")),Y&&($=$.concat("backdrop-overflow-hidden"));const R=t().createElement("div",{className:$.join(" "),onMouseDown:function(e){if(e){if(!e.target.classList.contains("pure-modal-backdrop"))return;e.stopPropagation(),e.preventDefault()}P(e)},onTouchMove:r?j:void 0,onMouseMove:r?j:void 0},t().createElement("div",{className:A.join(" "),style:{transform:`translate(${p}px, ${f}px)`,transition:"none",width:q}},t().createElement(c,{replace:N,header:w,footer:C,onDragStart:Y?function(e){if(e instanceof TouchEvent&&e.changedTouches&&e.changedTouches.length>1)return;e.preventDefault();const{pageX:t,pageY:o}=M(e),{top:n,left:a}=e.currentTarget.getBoundingClientRect();l(!0),u("number"==typeof s?s:a),d("number"==typeof i?i:n),v(t-a),y(o-n)}:void 0,onDragEnd:Y?B:void 0,onClose:P,bodyClass:H.join(" "),closeButton:L,closeButtonPosition:O},D)));return _?(0,o.createPortal)(R,document.body):R}const s=t().memo(l)})(),r})()));
package/dist/types.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare type MouseOrTouch = React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>;
@@ -1,50 +0,0 @@
1
- export const smallContent = `
2
- <p>
3
- Ut bibendum dolor a mi ultrices venenatis ac a mi. Sed imperdiet ipsum sodales odio
4
- scelerisque, vel lobortis est rutrum. Sed sagittis iaculis lorem id mattis. Sed ultricies
5
- condimentum rhoncus. Phasellus rhoncus turpis nec odio egestas, quis pellentesque quam
6
- aliquam. In sodales erat iaculis libero molestie, vel commodo nisl congue. Maecenas
7
- scelerisque, ligula et elementum sagittis, felis dui semper tortor, eget euismod enim enim
8
- vitae ante. Nullam suscipit accumsan mi non blandit. Curabitur viverra risus sed feugiat
9
- aliquet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
10
- turpis egestas. Aliquam ipsum diam, pulvinar sit amet lectus at, congue vulputate eros.
11
- Donec id libero quam.
12
- </p>
13
- `;
14
-
15
- export const largeContent = `
16
- <p>
17
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam fringilla ex a feugiat
18
- blandit. Sed tempor placerat dui et hendrerit. Nunc fringilla vel orci at lacinia. Duis
19
- vitae nulla sit amet justo faucibus ornare. Nunc nec lacinia dolor. Vestibulum egestas
20
- condimentum ante, id semper sem facilisis eu. Sed aliquam eget est eget finibus. Quisque
21
- vehicula massa et elit maximus, vel euismod erat lacinia. Morbi ut risus eget nunc feugiat
22
- cursus.
23
- </p>
24
- <p>
25
- Pellentesque quis metus eu urna feugiat auctor. Fusce accumsan mi nibh, porttitor lacinia
26
- est egestas vel. Maecenas nibh odio, volutpat quis tincidunt eget, lacinia a lorem. Etiam
27
- ullamcorper turpis a ultrices auctor. Cras quis tortor turpis. Class aptent taciti
28
- sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam porta
29
- sagittis congue. Maecenas volutpat lacus eu lectus dapibus, nec eleifend ipsum luctus.
30
- Etiam ac lobortis ligula, id porta lectus. Curabitur eget leo ut sapien ullamcorper
31
- sagittis.
32
- </p>
33
- <p>
34
- Suspendisse commodo nisl in neque tempus pellentesque. Nullam magna turpis, fringilla
35
- sollicitudin maximus non, consectetur ac quam. Ut sit amet tortor ornare, tincidunt ante
36
- non, tempor mauris. Proin vestibulum purus vel felis pellentesque varius. Sed eget
37
- volutpat dui. Curabitur quis nunc facilisis, euismod justo placerat, sagittis nunc.
38
- Phasellus sagittis felis urna, sed sodales odio auctor sit amet. Etiam id metus quis velit
39
- ullamcorper consequat. Fusce posuere ultricies felis, at vestibulum turpis egestas et.
40
- </p>
41
- <p>
42
- In hac habitasse platea dictumst. Quisque fringilla elit vel ante tristique, quis commodo
43
- turpis tincidunt. Phasellus mi sapien, lobortis sed blandit quis, suscipit ut odio.
44
- Vivamus venenatis arcu nulla, non molestie ipsum ullamcorper eu. Duis suscipit
45
- sollicitudin purus, eu consequat magna fringilla eget. Sed a varius dui. Donec at nisi
46
- tortor. Vivamus ultrices risus eu maximus fermentum. Curabitur et tempus turpis. Curabitur
47
- tincidunt porttitor imperdiet. Pellentesque hendrerit finibus mi, et rhoncus ex vestibulum
48
- nec. Integer fermentum quis elit eget faucibus.
49
- </p>
50
- `;