@superrb/react-addons 4.0.0-8 → 4.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.
- package/.node-version +1 -1
- package/components/accordion.d.ts +2 -1
- package/components/accordion.d.ts.map +1 -1
- package/components/accordion.js +4 -3
- package/components/form/field.d.ts.map +1 -1
- package/components/form/field.js +6 -1
- package/components/form.d.ts +1 -0
- package/components/form.d.ts.map +1 -1
- package/components/form.js +3 -2
- package/components/modal.d.ts.map +1 -1
- package/components/modal.js +13 -5
- package/config.d.ts +4 -0
- package/config.d.ts.map +1 -1
- package/config.js +450 -6
- package/hooks/use-draggable-scroll.js +11 -2
- package/hooks/use-escape.d.ts.map +1 -1
- package/hooks/use-escape.js +7 -4
- package/hooks/use-event-listener.d.ts +5 -6
- package/hooks/use-event-listener.d.ts.map +1 -1
- package/hooks/use-event-listener.js +13 -22
- package/hooks/use-hide-on-scroll.d.ts.map +1 -1
- package/hooks/use-hide-on-scroll.js +5 -5
- package/hooks/use-parallax.d.ts.map +1 -1
- package/hooks/use-parallax.js +5 -2
- package/hooks/use-slideshow.d.ts.map +1 -1
- package/hooks/use-slideshow.js +43 -35
- package/package.json +27 -25
- package/store/cookies.d.ts.map +1 -1
- package/store/cookies.js +0 -4
- package/store/modal.d.ts.map +1 -1
- package/store/modal.js +0 -4
- package/store/nav.d.ts.map +1 -1
- package/store/nav.js +0 -4
- package/tsconfig.tsbuildinfo +1 -1
package/.node-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
24
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
export declare function AccordionItem({ title, expanded, children, }: PropsWithChildren<{
|
|
2
|
+
export declare function AccordionItem({ title, id: externalID, expanded, children, }: PropsWithChildren<{
|
|
3
3
|
title: string;
|
|
4
|
+
id?: string;
|
|
4
5
|
expanded?: boolean;
|
|
5
6
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export declare function Accordion({ multiple, children, }: PropsWithChildren<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../src/components/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAMlB,MAAM,OAAO,CAAA;AAcd,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAgB,EAChB,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../src/components/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAMlB,MAAM,OAAO,CAAA;AAcd,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,EAAE,EAAE,UAAU,EACd,QAAgB,EAChB,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,2CA2DvE;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAgB,EAChB,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,2CAoB3C"}
|
package/components/accordion.js
CHANGED
|
@@ -6,9 +6,10 @@ const AccordionContext = createContext({
|
|
|
6
6
|
expandedItems: [],
|
|
7
7
|
setExpandedItems: () => { },
|
|
8
8
|
});
|
|
9
|
-
export function AccordionItem({ title, expanded = false, children, }) {
|
|
9
|
+
export function AccordionItem({ title, id: externalID, expanded = false, children, }) {
|
|
10
10
|
const { multiple, expandedItems, setExpandedItems } = useContext(AccordionContext);
|
|
11
|
-
const
|
|
11
|
+
const randomID = useId();
|
|
12
|
+
const id = externalID || randomID;
|
|
12
13
|
useEffect(() => {
|
|
13
14
|
if (expanded === true) {
|
|
14
15
|
setExpandedItems((expandedItems) => {
|
|
@@ -29,7 +30,7 @@ export function AccordionItem({ title, expanded = false, children, }) {
|
|
|
29
30
|
return [...expandedItems, id];
|
|
30
31
|
});
|
|
31
32
|
};
|
|
32
|
-
return (_jsxs(_Fragment, { children: [_jsxs("button", { "aria-selected": expandedItems.includes(id), "aria-controls": `${id}-panel`, className: "accordion__trigger", onClick: toggle, role: "tab", "aria-label": title, id: `${id}
|
|
33
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { "aria-selected": expandedItems.includes(id), "aria-controls": `${id}-panel`, className: "accordion__trigger", onClick: toggle, role: "tab", "aria-label": title, id: `${id}`, children: [_jsx("span", { className: "screenreader-text", children: expandedItems ? 'Close' : 'Expand' }), title] }), _jsx("div", { className: "accordion__content", role: "tabpanel", "aria-labelledby": `${id}`, id: `${id}-panel`, children: children })] }));
|
|
33
34
|
}
|
|
34
35
|
export function Accordion({ multiple = false, children, }) {
|
|
35
36
|
const [expandedItemsStorage, setExpandedItemsStorage] = useState([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/form/field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,gBAAgB,EAGhB,mBAAmB,EAEnB,oBAAoB,EACpB,sBAAsB,EAGvB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,UAAU,KAAK;IACb,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,CAAA;AAErB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;AACvE,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AAEjE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/form/field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,gBAAgB,EAGhB,mBAAmB,EAEnB,oBAAoB,EACpB,sBAAsB,EAGvB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,UAAU,KAAK;IACb,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,CAAA;AAErB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;AACvE,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AAEjE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;;AAyHjE,wBAAoC"}
|
package/components/form/field.js
CHANGED
|
@@ -38,6 +38,11 @@ function FormField({ register, schema, id, onInput, onChange, value, disabled =
|
|
|
38
38
|
if (schema?.spec?.meta?.options?.length > 0) {
|
|
39
39
|
return (_jsxs("select", { className: "form__control form__control--select", ...fieldProps, ref: ref, children: [schema?.spec?.meta?.placeholder ? (_jsx("option", { value: "", children: schema?.spec?.meta?.placeholder }, 'placeholder')) : null, schema?.spec?.meta?.options?.map((optionValue, index) => (_jsx("option", { value: optionValue, children: optionValue }, optionValue)))] }));
|
|
40
40
|
}
|
|
41
|
-
return (_jsx(_Fragment, { children: schema?.spec?.meta?.textarea === true ? (_jsx("textarea", { className: "form__control", ...fieldProps, ref: ref })) : schema?.type === 'boolean' ? (_jsx("input", { type: "checkbox", className: "form__control form__control--checkbox", checked: !rendered ? schema?.spec?.default : null, value: "true", ...fieldProps, ref: ref })) : schema?.type === 'date' ? (_jsx("input", { type: "date", className: "form__control form__control--date", ...
|
|
41
|
+
return (_jsx(_Fragment, { children: schema?.spec?.meta?.textarea === true ? (_jsx("textarea", { className: "form__control", ...fieldProps, ref: ref })) : schema?.type === 'boolean' ? (_jsx("input", { type: "checkbox", className: "form__control form__control--checkbox", checked: !rendered ? schema?.spec?.default : null, value: "true", ...fieldProps, ref: ref })) : schema?.type === 'date' ? (_jsx("input", { type: "date", className: "form__control form__control--date", ...{
|
|
42
|
+
...fieldProps,
|
|
43
|
+
value: fieldProps.value && fieldProps.value instanceof Date
|
|
44
|
+
? fieldProps.value.toISOString().split('T')[0]
|
|
45
|
+
: fieldProps.value,
|
|
46
|
+
}, ref: ref })) : schema?.spec?.meta?.hidden === true ? (_jsx("input", { type: "hidden", className: "form__control form__control--hidden", ...fieldProps, ref: ref })) : schema?.type === 'mixed' ? (_jsx(_Fragment, { children: _jsx(FileField, { schema: schema, ...fieldProps, ref: ref }) })) : (_jsx("input", { className: "form__control", ...fieldProps, ref: ref })) }));
|
|
42
47
|
}
|
|
43
48
|
export default forwardRef(FormField);
|
package/components/form.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface FormProps<T extends ObjectSchema<any>, DataStructure extends In
|
|
|
32
32
|
export interface FormRef<T extends ObjectSchema<any>, DataStructure extends InferType<T> = InferType<T>> {
|
|
33
33
|
form: HTMLFormElement;
|
|
34
34
|
setValue: (name: Path<DataStructure>, value: any) => void;
|
|
35
|
+
setError: (name: Path<DataStructure>, error: FieldError) => void;
|
|
35
36
|
submit: () => void;
|
|
36
37
|
reset: () => void;
|
|
37
38
|
values: WithRecaptcha<DataStructure>;
|
package/components/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/components/form.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/components/form.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,EAQT,oBAAoB,EAGrB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAExD,OAAO,EAAiB,UAAU,EAAE,IAAI,EAAW,MAAM,iBAAiB,CAAA;AAE1E,OAAiB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAY5C,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAC3B,aAAa,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAEjD,MAAM,EAAE,CAAC,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE;SAAG,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG;KAAE,CAAA;IACzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,oBAAoB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,GAAG,KAAK,CAAA;IAClE,kBAAkB,CAAC,EAAE,CACnB,KAAK,CAAC,EAAE,UAAU,EAClB,WAAW,CAAC,EAAE,SAAS,KACpB,SAAS,CAAA;IACd,YAAY,CAAC,EAAE,CACb,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,KAChE,SAAS,CAAA;IACd,SAAS,CAAC,EAAE;SAAG,CAAC,IAAI,aAAa,GAAG,aAAa;KAAE,CAAA;IACnD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,OAAO,CACtB,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAC3B,aAAa,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAEjD,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAChE,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACpC,MAAM,EAAE;SACL,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,EAAE,WAAW;KAC7C,CAAA;CACF;;AAyVD,wBAA+B"}
|
package/components/form.js
CHANGED
|
@@ -73,7 +73,7 @@ const FormInner = forwardRef(function FormInner({ schema, name, action, disabled
|
|
|
73
73
|
const { execute, status, error } = useAsync(onSubmitHandler, false, [
|
|
74
74
|
onSubmitHandler,
|
|
75
75
|
]);
|
|
76
|
-
const { register, handleSubmit, formState: { errors }, getValues, setValue, reset, } = useForm({
|
|
76
|
+
const { register, handleSubmit, formState: { errors }, getValues, setValue, setError, reset, } = useForm({
|
|
77
77
|
resolver: yupResolver(schema),
|
|
78
78
|
defaultValues: initialData,
|
|
79
79
|
mode: 'onTouched',
|
|
@@ -95,6 +95,7 @@ const FormInner = forwardRef(function FormInner({ schema, name, action, disabled
|
|
|
95
95
|
[key]: value,
|
|
96
96
|
}), {}),
|
|
97
97
|
setValue,
|
|
98
|
+
setError,
|
|
98
99
|
errors,
|
|
99
100
|
response,
|
|
100
101
|
}));
|
|
@@ -129,7 +130,7 @@ const FormInner = forwardRef(function FormInner({ schema, name, action, disabled
|
|
|
129
130
|
fieldRefs.current.set(fieldName, ref);
|
|
130
131
|
} }), fieldName in errors &&
|
|
131
132
|
renderErrorMessage(errors[fieldName], field), field.spec?.meta?.help && (_jsx("p", { className: "form__help", children: field.spec.meta.help }))] }))] }) })) }, key));
|
|
132
|
-
}), renderSubmit({ disabled }), useRecaptcha && (_jsxs("p", { className: "form__recaptcha-message", children: ["This site is protected by reCAPTCHA and the Google", ' ', _jsx("a", { href: "https://policies.google.com/privacy", target: "_blank", rel: "noopener", children: "Privacy Policy" }), ' ', "and", ' ', _jsx("a", { href: "https://policies.google.com/terms", target: "_blank", rel: "noopener", children: "Terms of Service" }), ' ', "apply."] }))] })) }));
|
|
133
|
+
}), renderSubmit({ disabled: disabled || status === 'pending' }), useRecaptcha && (_jsxs("p", { className: "form__recaptcha-message", children: ["This site is protected by reCAPTCHA and the Google", ' ', _jsx("a", { href: "https://policies.google.com/privacy", target: "_blank", rel: "noopener", children: "Privacy Policy" }), ' ', "and", ' ', _jsx("a", { href: "https://policies.google.com/terms", target: "_blank", rel: "noopener", children: "Terms of Service" }), ' ', "apply."] }))] })) }));
|
|
133
134
|
});
|
|
134
135
|
function Form(props, ref) {
|
|
135
136
|
const key = process.env.NEXT_PUBLIC_RECAPTCHA_KEY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../src/components/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../src/components/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,OAAO,CAAA;AASd,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAmB,EACnB,aAAoB,EACpB,QAAQ,GACT,EAAE,iBAAiB,CAAC,KAAK,CAAC,2CA4E1B"}
|
package/components/modal.js
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect, useRef, useCallback, } from 'react';
|
|
4
4
|
import { local } from '../storage';
|
|
5
|
-
import { useEventListener, useLockBodyScroll, useModal } from '../hooks';
|
|
5
|
+
import { useEscape, useEventListener, useLockBodyScroll, useModal, } from '../hooks';
|
|
6
6
|
export default function Modal({ name, className, openAfter, dismissable = false, preventScroll = true, children, }) {
|
|
7
7
|
const [dismissed, setDismissed] = useState(false);
|
|
8
8
|
const openTimer = useRef(null);
|
|
9
9
|
const ref = useRef(null);
|
|
10
10
|
const innerRef = useRef(null);
|
|
11
|
+
const documentRef = useRef(typeof document !== 'undefined' ? document : null);
|
|
11
12
|
const { isOpen, openModal, closeModal } = useModal(name);
|
|
12
13
|
useLockBodyScroll(isOpen && preventScroll);
|
|
13
14
|
useEffect(() => {
|
|
@@ -21,10 +22,12 @@ export default function Modal({ name, className, openAfter, dismissable = false,
|
|
|
21
22
|
}
|
|
22
23
|
if (!dismissed && openAfter) {
|
|
23
24
|
openTimer.current = setTimeout(() => {
|
|
24
|
-
|
|
25
|
+
if (!dismissed) {
|
|
26
|
+
openModal();
|
|
27
|
+
}
|
|
25
28
|
}, openAfter);
|
|
26
29
|
}
|
|
27
|
-
}, [dismissed, openAfter, openModal]);
|
|
30
|
+
}, [isOpen, dismissed, openAfter, openModal]);
|
|
28
31
|
useEffect(() => {
|
|
29
32
|
if (isOpen) {
|
|
30
33
|
ref.current?.showModal();
|
|
@@ -36,13 +39,18 @@ export default function Modal({ name, className, openAfter, dismissable = false,
|
|
|
36
39
|
ref.current?.close();
|
|
37
40
|
};
|
|
38
41
|
}, [isOpen]);
|
|
39
|
-
useEventListener('click', closeModal, undefined, typeof document !== 'undefined' ? document : undefined);
|
|
40
42
|
const close = useCallback(() => {
|
|
43
|
+
if (!isOpen)
|
|
44
|
+
return;
|
|
41
45
|
closeModal();
|
|
42
46
|
if (dismissable) {
|
|
43
47
|
local.setItem(`${name}-popup-dismissed`, 'true');
|
|
44
48
|
setDismissed(true);
|
|
45
49
|
}
|
|
46
|
-
}, [dismissable, name, closeModal]);
|
|
50
|
+
}, [isOpen, dismissable, name, closeModal]);
|
|
51
|
+
useEventListener('click', close, undefined, documentRef);
|
|
52
|
+
useEscape(documentRef, close, {
|
|
53
|
+
requireFocus: false,
|
|
54
|
+
});
|
|
47
55
|
return (_jsxs("dialog", { id: name, className: `modal ${className}`, ref: ref, children: [_jsxs("button", { className: 'modal__close', onClick: close, children: [_jsx("span", { className: "screenreader-text", children: "Close Modal" }), "\u00D7"] }), _jsx("div", { className: 'modal__inner', ref: innerRef, onClick: (event) => event.nativeEvent.stopImmediatePropagation(), children: children })] }));
|
|
48
56
|
}
|
package/config.d.ts
CHANGED
|
@@ -2,4 +2,8 @@ import { CSPDirectives } from 'csp-header';
|
|
|
2
2
|
export type CSPPresetGenerator = (...args: any[]) => Partial<CSPDirectives>;
|
|
3
3
|
export declare const cspConfig: CSPPresetGenerator;
|
|
4
4
|
export declare const recaptchaCspConfig: CSPPresetGenerator;
|
|
5
|
+
export declare const googleTagManagerCspConfig: CSPPresetGenerator;
|
|
6
|
+
export declare const facebookPixelCspConfig: CSPPresetGenerator;
|
|
7
|
+
export declare const typekitCspConfig: CSPPresetGenerator;
|
|
8
|
+
export declare const cloudflareCspConfig: CSPPresetGenerator;
|
|
5
9
|
//# sourceMappingURL=config.d.ts.map
|
package/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["src/config.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,aAAa,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE3E,eAAO,MAAM,SAAS,EAAE,kBAatB,CAAA;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAO/B,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAoatC,CAAA;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAInC,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAM7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAUhC,CAAA"}
|