@faceless-ui/modal
Advanced tools
Comparing version 1.1.8 to 1.2.0
import React from 'react'; | ||
import { ModalProps } from '../Modal'; | ||
export declare const itemBaseClass = "modal-item"; | ||
declare const asModal: <P extends ModalProps>(ModalComponent: React.FC<P>, slugFromArg?: string | undefined) => React.FC<P>; | ||
export default asModal; |
@@ -36,2 +36,13 @@ "use strict"; | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -41,2 +52,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.itemBaseClass = void 0; | ||
var react_1 = __importStar(require("react")); | ||
@@ -46,4 +58,4 @@ var react_dom_1 = __importDefault(require("react-dom")); | ||
var useModal_1 = __importDefault(require("../useModal")); | ||
var baseClass_1 = __importDefault(require("./baseClass")); | ||
var generateTransitionClasses_1 = __importDefault(require("../ModalProvider/generateTransitionClasses")); | ||
exports.itemBaseClass = 'modal-item'; | ||
var asModal = function (ModalComponent, slugFromArg) { | ||
@@ -54,7 +66,7 @@ var ModalWrap = function (props) { | ||
var currentModal = modal.currentModal, classPrefixFromContext = modal.classPrefix, containerRef = modal.containerRef, transTime = modal.transTime, setCloseOnBlur = modal.setCloseOnBlur, open = modal.open, setBodyScrollLock = modal.setBodyScrollLock; | ||
var id = props.id, className = props.className, _a = props.style, style = _a === void 0 ? {} : _a, _b = props.htmlElement, htmlElement = _b === void 0 ? 'dialog' : _b, _c = props.htmlAttributes, htmlAttributes = _c === void 0 ? {} : _c, _d = props.slug, slugFromProp = _d === void 0 ? '' : _d, _e = props.closeOnBlur, closeOnBlur = _e === void 0 ? true : _e, _f = props.lockBodyScroll, lockBodyScroll = _f === void 0 ? true : _f, | ||
var className = props.className, _a = props.htmlElement, htmlElement = _a === void 0 ? 'dialog' : _a, _b = props.slug, slugFromProp = _b === void 0 ? '' : _b, _c = props.closeOnBlur, closeOnBlur = _c === void 0 ? true : _c, _d = props.lockBodyScroll, lockBodyScroll = _d === void 0 ? true : _d, | ||
// autoFocus: true, | ||
// trapFocus: true, | ||
// returnFocus: true, | ||
classPrefixFromProps = props.classPrefix, onEnter = props.onEnter, onEntering = props.onEntering, onEntered = props.onEntered, onExit = props.onExit, onExiting = props.onExiting, onExited = props.onExited, openOnInit = props.openOnInit; | ||
classPrefixFromProps = props.classPrefix, onEnter = props.onEnter, onEntering = props.onEntering, onEntered = props.onEntered, onExit = props.onExit, onExiting = props.onExiting, onExited = props.onExited, openOnInit = props.openOnInit, rest = __rest(props, ["className", "htmlElement", "slug", "closeOnBlur", "lockBodyScroll", "classPrefix", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "openOnInit"]); | ||
var classPrefixToUse = classPrefixFromProps || classPrefixFromContext; | ||
@@ -101,3 +113,3 @@ var slug = slugFromArg || slugFromProp; | ||
]); | ||
var _g = (0, react_1.useState)(isOpen), timedOpen = _g[0], setTimedOpen = _g[1]; | ||
var _e = (0, react_1.useState)(isOpen), timedOpen = _e[0], setTimedOpen = _e[1]; | ||
(0, react_1.useEffect)(function () { | ||
@@ -122,3 +134,3 @@ if (!isOpen) | ||
if (containerRef.current) { | ||
var baseClass = "".concat(classPrefixToUse, "__").concat(baseClass_1.default); | ||
var baseClass = classPrefixToUse ? "".concat(classPrefixToUse, "__").concat(exports.itemBaseClass) : exports.itemBaseClass; | ||
var mergedClasses = [ | ||
@@ -129,3 +141,3 @@ baseClass, | ||
].filter(Boolean).join(' '); | ||
var mergedAttributes = __assign({ role: htmlElement !== 'dialog' ? 'dialog' : undefined, open: htmlElement === 'dialog' ? timedOpen || isOpen : undefined, 'aria-modal': true, 'aria-label': !htmlAttributes['aria-labelledby'] ? slug : undefined }, htmlAttributes); | ||
var mergedAttributes = __assign({ role: htmlElement !== 'dialog' ? 'dialog' : undefined, open: htmlElement === 'dialog' ? timedOpen || isOpen : undefined, 'aria-modal': true, 'aria-label': !rest['aria-labelledby'] ? slug : undefined }, rest); | ||
var Tag = htmlElement; | ||
@@ -145,3 +157,3 @@ return react_dom_1.default.createPortal(react_1.default.createElement(react_transition_group_1.CSSTransition, __assign({}, { | ||
}), | ||
react_1.default.createElement(Tag, __assign({}, __assign({ ref: modalRef, id: id || slug, className: mergedClasses, style: style }, mergedAttributes)), | ||
react_1.default.createElement(Tag, __assign({}, __assign({ ref: modalRef, id: (rest === null || rest === void 0 ? void 0 : rest.id) || slug, className: mergedClasses }, mergedAttributes)), | ||
react_1.default.createElement(ModalComponent, __assign({}, __assign(__assign({}, props), { isOpen: isOpen, modal: modal }))))), containerRef.current); | ||
@@ -148,0 +160,0 @@ } |
@@ -1,3 +0,3 @@ | ||
import React, { CSSProperties, ElementType } from 'react'; | ||
import { IModalContext } from '../ModalContext/types'; | ||
import React, { ElementType, HTMLProps } from 'react'; | ||
import { IModalContext } from '../ModalContext'; | ||
export declare type ModalPropsWithContext = ModalProps & { | ||
@@ -7,13 +7,7 @@ modal?: IModalContext; | ||
export declare type ChildFunction = (propsWithContext: ModalPropsWithContext) => React.ReactNode; | ||
export declare type ModalProps = { | ||
export interface ModalProps extends Omit<HTMLProps<HTMLElement>, 'children'> { | ||
slug: string; | ||
closeOnBlur?: boolean; | ||
lockBodyScroll?: boolean; | ||
id?: string; | ||
className?: string; | ||
style?: CSSProperties; | ||
htmlElement?: ElementType; | ||
htmlAttributes?: { | ||
[key: string]: unknown; | ||
}; | ||
classPrefix?: string; | ||
@@ -30,3 +24,3 @@ onOpen?: () => void; | ||
children?: React.ReactNode | ChildFunction; | ||
}; | ||
} | ||
declare const _default: React.FC<ModalProps & { | ||
@@ -33,0 +27,0 @@ modal?: IModalContext | undefined; |
@@ -1,4 +0,8 @@ | ||
import React from 'react'; | ||
import { Props } from './types'; | ||
import React, { ElementType, HTMLProps } from 'react'; | ||
export declare const containerBaseClass = "modal-container"; | ||
export declare type Props = HTMLProps<HTMLElement> & { | ||
htmlElement?: ElementType; | ||
children?: React.ReactNode; | ||
}; | ||
declare const ModalContainer: React.FC<Props>; | ||
export default ModalContainer; |
@@ -13,2 +13,13 @@ "use strict"; | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -18,11 +29,12 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.containerBaseClass = void 0; | ||
var react_1 = __importDefault(require("react")); | ||
var react_transition_group_1 = require("react-transition-group"); | ||
var useModal_1 = __importDefault(require("../useModal")); | ||
var baseClass_1 = __importDefault(require("./baseClass")); | ||
var generateTransitionClasses_1 = __importDefault(require("../ModalProvider/generateTransitionClasses")); | ||
exports.containerBaseClass = 'modal-container'; | ||
var ModalContainer = function (props) { | ||
var _a = (0, useModal_1.default)(), oneIsOpen = _a.oneIsOpen, classPrefix = _a.classPrefix, transTime = _a.transTime, setContainerRef = _a.setContainerRef, containerRef = _a.containerRef, closeAll = _a.closeAll, closeOnBlur = _a.closeOnBlur; | ||
var id = props.id, className = props.className, _b = props.style, style = _b === void 0 ? {} : _b, _c = props.htmlElement, htmlElement = _c === void 0 ? 'div' : _c, _d = props.htmlAttributes, htmlAttributes = _d === void 0 ? {} : _d, children = props.children; | ||
var baseClass = "".concat(classPrefix, "__").concat(baseClass_1.default); | ||
var className = props.className, _b = props.htmlElement, htmlElement = _b === void 0 ? 'div' : _b, children = props.children, onClick = props.onClick, rest = __rest(props, ["className", "htmlElement", "children", "onClick"]); | ||
var baseClass = classPrefix ? "".concat(classPrefix, "__").concat(exports.containerBaseClass) : exports.containerBaseClass; | ||
var mergedClasses = [ | ||
@@ -32,13 +44,13 @@ baseClass, | ||
].filter(Boolean).join(' '); | ||
var mergedAttributes = __assign(__assign({}, htmlAttributes), { onClick: function () { | ||
var mergedAttributes = __assign(__assign({}, rest), { onClick: function (e) { | ||
if (closeOnBlur) | ||
closeAll(); | ||
if (typeof htmlAttributes.onClick === 'function') | ||
htmlAttributes.onClick(); | ||
if (typeof onClick === 'function') | ||
onClick(e); | ||
} }); | ||
var Tag = htmlElement; | ||
return (react_1.default.createElement(react_transition_group_1.CSSTransition, { nodeRef: containerRef, in: oneIsOpen, timeout: transTime, classNames: (0, generateTransitionClasses_1.default)(baseClass), appear: true }, | ||
react_1.default.createElement(Tag, __assign({}, __assign({ id: id, className: mergedClasses, style: style, ref: setContainerRef }, mergedAttributes)), children && children))); | ||
react_1.default.createElement(Tag, __assign({}, __assign({ className: mergedClasses, ref: setContainerRef }, mergedAttributes)), children && children))); | ||
}; | ||
exports.default = ModalContainer; | ||
//# sourceMappingURL=index.js.map |
/// <reference types="react" /> | ||
import { IModalContext } from './types'; | ||
import { Props } from '../ModalProvider'; | ||
export interface IModalContext extends Props { | ||
transTime: number; | ||
containerRef: React.RefObject<HTMLElement>; | ||
currentModal: string; | ||
oneIsOpen: boolean; | ||
closeOnBlur: boolean; | ||
bodyScrollIsLocked: boolean; | ||
classPrefix?: string; | ||
closeAll: () => void; | ||
setCloseOnBlur: (set: boolean) => void; | ||
open: (slug: string) => void; | ||
toggle: (slug: string) => void; | ||
setContainerRef: (ref: HTMLElement) => void; | ||
setBodyScrollLock: (shouldLock: boolean, // eslint-disable-line no-unused-vars | ||
excludingRef: React.RefObject<HTMLElement>) => void; | ||
} | ||
export declare const ModalContext: import("react").Context<IModalContext>; | ||
export default ModalContext; |
@@ -1,2 +0,5 @@ | ||
declare const CSS: (classPrefix: string, zIndex: number) => string; | ||
declare const CSS: ({ classPrefix, zIndex, }: { | ||
classPrefix?: string | undefined; | ||
zIndex: number; | ||
}) => string; | ||
export default CSS; |
@@ -6,9 +6,10 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var baseClass_1 = __importDefault(require("../ModalContainer/baseClass")); | ||
var baseClass_2 = __importDefault(require("../asModal/baseClass")); | ||
var CSS = function (classPrefix, zIndex) { | ||
var prefix = classPrefix ? "".concat(classPrefix, "__") : ''; | ||
return ("\n .".concat(prefix).concat(baseClass_1.default, " {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: fixed;\n pointer-events: none;\n visibility: hidden;\n z-index: -1;\n }\n\n .").concat(prefix).concat(baseClass_1.default, "--appear,\n .").concat(prefix).concat(baseClass_1.default, "--appearDone,\n .").concat(prefix).concat(baseClass_1.default, "--enter,\n .").concat(prefix).concat(baseClass_1.default, "--enterDone,\n .").concat(prefix).concat(baseClass_1.default, "--exit {\n pointer-events: all;\n visibility: visible;\n z-index: ").concat(zIndex, ";\n }\n\n .").concat(prefix).concat(baseClass_2.default, " {\n position: absolute;\n visibility: hidden;\n }\n\n .").concat(prefix).concat(baseClass_2.default, "--appear,\n .").concat(prefix).concat(baseClass_2.default, "--appearDone,\n .").concat(prefix).concat(baseClass_2.default, "--enter,\n .").concat(prefix).concat(baseClass_2.default, "--enterDone,\n .").concat(prefix).concat(baseClass_2.default, "--exit {\n visibility: visible;\n }\n ")); | ||
var ModalContainer_1 = __importDefault(require("../ModalContainer")); | ||
var asModal_1 = __importDefault(require("../asModal")); | ||
var CSS = function (_a) { | ||
var classPrefix = _a.classPrefix, zIndex = _a.zIndex; | ||
var prefixToUse = classPrefix ? "".concat(classPrefix, "__") : ''; | ||
return ("\n .".concat(prefixToUse).concat(ModalContainer_1.default, " {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: fixed;\n pointer-events: none;\n visibility: hidden;\n z-index: -1;\n }\n\n .").concat(prefixToUse).concat(ModalContainer_1.default, "--appear,\n .").concat(prefixToUse).concat(ModalContainer_1.default, "--appearDone,\n .").concat(prefixToUse).concat(ModalContainer_1.default, "--enter,\n .").concat(prefixToUse).concat(ModalContainer_1.default, "--enterDone,\n .").concat(prefixToUse).concat(ModalContainer_1.default, "--exit {\n pointer-events: all;\n visibility: visible;\n z-index: ").concat(zIndex, ";\n }\n\n .").concat(prefixToUse).concat(asModal_1.default, " {\n position: absolute;\n visibility: hidden;\n }\n\n .").concat(prefixToUse).concat(asModal_1.default, "--appear,\n .").concat(prefixToUse).concat(asModal_1.default, "--appearDone,\n .").concat(prefixToUse).concat(asModal_1.default, "--enter,\n .").concat(prefixToUse).concat(asModal_1.default, "--enterDone,\n .").concat(prefixToUse).concat(asModal_1.default, "--exit {\n visibility: visible;\n }\n ")); | ||
}; | ||
exports.default = CSS; | ||
//# sourceMappingURL=css.js.map |
import React from 'react'; | ||
import { Props } from './types'; | ||
interface IHandleParamChangeCallback { | ||
key: string; | ||
value: string; | ||
} | ||
export declare type Props = { | ||
generateCSS?: boolean; | ||
minifyCSS?: boolean; | ||
classPrefix?: string; | ||
handleParamChange?: (callbackArgs: IHandleParamChangeCallback) => void | boolean; | ||
transTime?: number; | ||
zIndex?: number; | ||
children?: React.ReactNode; | ||
}; | ||
declare const ModalProvider: React.FC<Props>; | ||
export default ModalProvider; |
@@ -43,4 +43,3 @@ "use strict"; | ||
var body_scroll_lock_1 = require("body-scroll-lock"); | ||
var defaultClassPrefix_1 = __importDefault(require("../defaultClassPrefix")); | ||
var css_1 = __importDefault(require("./css")); | ||
var generateCSS_1 = __importDefault(require("./generateCSS")); | ||
var ModalContext_1 = __importDefault(require("../ModalContext")); | ||
@@ -56,3 +55,3 @@ var getSearchQuery = function () { | ||
var ModalProvider = function (props) { | ||
var userClassPrefix = props.classPrefix, _a = props.minifyCSS, minifyCSS = _a === void 0 ? true : _a, _b = props.generateCSS, shouldGenerateCSS = _b === void 0 ? true : _b, _c = props.zIndex, zIndex = _c === void 0 ? 9999 : _c, handleParamChange = props.handleParamChange, children = props.children, _d = props.transTime, transTime = _d === void 0 ? 250 : _d; | ||
var classPrefix = props.classPrefix, _a = props.minifyCSS, minifyCSS = _a === void 0 ? true : _a, _b = props.generateCSS, shouldGenerateCSS = _b === void 0 ? true : _b, _c = props.zIndex, zIndex = _c === void 0 ? 9999 : _c, handleParamChange = props.handleParamChange, children = props.children, _d = props.transTime, transTime = _d === void 0 ? 250 : _d; | ||
var containerRef = (0, react_1.useRef)(null); | ||
@@ -64,3 +63,2 @@ var _e = (0, react_1.useState)(''), currentModal = _e[0], setCurrentModal = _e[1]; | ||
var _j = (0, react_1.useState)(''), cssString = _j[0], setCSSString = _j[1]; | ||
var _k = (0, react_1.useState)(''), classPrefix = _k[0], setClassPrefix = _k[1]; | ||
var closeAll = (0, react_1.useCallback)(function (updateHistory) { | ||
@@ -97,13 +95,8 @@ if (updateHistory === void 0) { updateHistory = true; } | ||
(0, react_1.useEffect)(function () { | ||
var newClassPrefix = defaultClassPrefix_1.default; | ||
if (typeof userClassPrefix === 'string' && userClassPrefix) | ||
newClassPrefix = userClassPrefix; | ||
if (typeof userClassPrefix === 'boolean' && !userClassPrefix) | ||
newClassPrefix = ''; | ||
setClassPrefix(newClassPrefix); | ||
}, [userClassPrefix]); | ||
(0, react_1.useEffect)(function () { | ||
if (shouldGenerateCSS) { | ||
var newString = ''; | ||
newString = (0, css_1.default)(classPrefix, zIndex); | ||
newString = (0, generateCSS_1.default)({ | ||
classPrefix: classPrefix, | ||
zIndex: zIndex | ||
}); | ||
if (minifyCSS) | ||
@@ -113,3 +106,8 @@ newString = newString.replace(/\n/g, '').replace(/\s\s+/g, ' '); | ||
} | ||
}, [shouldGenerateCSS, minifyCSS, zIndex, classPrefix]); | ||
}, [ | ||
shouldGenerateCSS, | ||
minifyCSS, | ||
zIndex, | ||
classPrefix | ||
]); | ||
var open = (0, react_1.useCallback)(function (slug, skipParamChange) { | ||
@@ -116,0 +114,0 @@ if (!skipParamChange) { |
@@ -1,4 +0,11 @@ | ||
import React from 'react'; | ||
import { Props } from './types'; | ||
import React, { ElementType, HTMLProps } from 'react'; | ||
import { IModalContext } from '../ModalContext'; | ||
export declare const togglerBaseClass = "modal-toggler"; | ||
export declare type Props = HTMLProps<HTMLElement> & { | ||
slug: string; | ||
modal?: IModalContext; | ||
htmlElement?: ElementType; | ||
children?: React.ReactNode; | ||
}; | ||
declare const ModalToggler: React.FC<Props>; | ||
export default ModalToggler; |
@@ -13,2 +13,13 @@ "use strict"; | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -18,8 +29,10 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.togglerBaseClass = void 0; | ||
var react_1 = __importDefault(require("react")); | ||
var useModal_1 = __importDefault(require("../useModal")); | ||
exports.togglerBaseClass = 'modal-toggler'; | ||
var ModalToggler = function (props) { | ||
var id = props.id, className = props.className, slug = props.slug, _a = props.style, style = _a === void 0 ? {} : _a, _b = props.htmlElement, htmlElement = _b === void 0 ? 'button' : _b, _c = props.htmlAttributes, htmlAttributes = _c === void 0 ? {} : _c, children = props.children; | ||
var _d = (0, useModal_1.default)(), currentModal = _d.currentModal, toggle = _d.toggle, classPrefix = _d.classPrefix; | ||
var baseClass = "".concat(classPrefix, "__modal-toggler"); | ||
var slug = props.slug, _a = props.htmlElement, htmlElement = _a === void 0 ? 'button' : _a, children = props.children, onClick = props.onClick, className = props.className, rest = __rest(props, ["slug", "htmlElement", "children", "onClick", "className"]); | ||
var _b = (0, useModal_1.default)(), currentModal = _b.currentModal, toggle = _b.toggle, classPrefix = _b.classPrefix; | ||
var baseClass = classPrefix ? "".concat(classPrefix, "__").concat(exports.togglerBaseClass) : exports.togglerBaseClass; | ||
var isOpen = currentModal === slug; | ||
@@ -32,11 +45,11 @@ var mergedClasses = [ | ||
].filter(Boolean).join(' '); | ||
var mergedAttributes = __assign(__assign({ role: 'button', 'aria-expanded': isOpen ? 'true' : 'false', 'aria-controls': slug }, htmlAttributes), { onClick: function () { | ||
var mergedAttributes = __assign(__assign({ role: 'button', 'aria-expanded': isOpen ? 'true' : 'false', 'aria-controls': slug }, rest), { onClick: function (e) { | ||
toggle(slug); | ||
if (typeof htmlAttributes.onClick === 'function') | ||
htmlAttributes.onClick(); | ||
if (typeof onClick === 'function') | ||
onClick(e); | ||
} }); | ||
var Tag = htmlElement; | ||
return (react_1.default.createElement(Tag, __assign({}, __assign({ id: id, className: mergedClasses, style: style }, mergedAttributes)), children && children)); | ||
return (react_1.default.createElement(Tag, __assign({}, __assign({ className: mergedClasses }, mergedAttributes)), children && children)); | ||
}; | ||
exports.default = ModalToggler; | ||
//# sourceMappingURL=index.js.map |
@@ -1,3 +0,3 @@ | ||
import { IModalContext } from '../ModalContext/types'; | ||
import { IModalContext } from '../ModalContext'; | ||
declare const useModal: () => IModalContext; | ||
export default useModal; |
{ | ||
"name": "@faceless-ui/modal", | ||
"version": "1.1.8", | ||
"version": "1.2.0", | ||
"main": "dist/index.js", | ||
@@ -9,3 +9,6 @@ "types": "dist/index.d.ts", | ||
"description": "America's next top modal", | ||
"author": "<dev@trbl.design>", | ||
"author": "Jacob Fletcher <jacobsfletch@gmail.com> (https://jacobsfletch.com)", | ||
"contributors": [ | ||
"TRBL <dev@trbl.design> (https://trbl.design)" | ||
], | ||
"license": "MIT", | ||
@@ -12,0 +15,0 @@ "keywords": [ |
@@ -36,2 +36,2 @@ [](https://www.npmjs.com/@faceless-ui/modal) | ||
[MIT](https://github.com/faceless-ui/modal/blob/master/LICENSE) Copyright (c) TRBL, LLC | ||
[MIT](https://github.com/faceless-ui/modal/blob/master/LICENSE) Copyright (c) Faceless UI |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
57692
63
794