@becklyn/next 1.0.7 → 2.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@becklyn/next",
3
- "version": "1.0.7",
3
+ "version": "2.0.1",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "lint": "eslint . --max-warnings 0 && prettier --check \"./**/*.{ts,tsx}\"",
@@ -10,19 +10,17 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@contentful/rich-text-react-renderer": "^16.0.1",
13
- "@popperjs/core": "^2.11.8",
14
13
  "keen-slider": "^6.8.6",
15
- "react-popper": "^2.3.0",
16
- "sass": "^1.86.3"
14
+ "sass": "^1.89.1"
17
15
  },
18
16
  "devDependencies": {
19
17
  "@becklyn/eslint": "*",
20
18
  "@becklyn/tsconfig": "*",
21
19
  "@contentful/rich-text-types": "^17.0.0",
22
- "@types/node": "^22.14.1",
23
- "@types/react": "^19.1.2",
24
- "@types/react-dom": "^19.1.2",
25
- "next": "^15.3.0",
20
+ "@types/node": "^22.15.29",
21
+ "@types/react": "^19.1.6",
22
+ "@types/react-dom": "^19.1.5",
23
+ "next": "^15.3.3",
26
24
  "react": "^19.1.0",
27
25
  "typescript": "^5.8.3"
28
26
  },
@@ -1,29 +0,0 @@
1
- import { Dispatch, SetStateAction } from "react";
2
- import { Options } from "@popperjs/core";
3
- interface DropdownOptions extends Partial<Options> {
4
- isOpen?: boolean;
5
- setIsOpen?: Dispatch<SetStateAction<boolean>>;
6
- onClose?: () => void;
7
- }
8
- export declare const useDropdown: ({ isOpen: externalIsOpen, setIsOpen: externalSetIsOpen, onClose, ...options }: DropdownOptions) => {
9
- styles: {
10
- [key: string]: React.CSSProperties;
11
- };
12
- attributes: {
13
- [key: string]: {
14
- [key: string]: string;
15
- } | undefined;
16
- };
17
- state: import("@popperjs/core").State | null;
18
- update: import("@popperjs/core").Instance["update"] | null;
19
- forceUpdate: import("@popperjs/core").Instance["forceUpdate"] | null;
20
- isOpen: boolean;
21
- setIsOpen: Dispatch<SetStateAction<boolean>>;
22
- clickOutsideRef: import("react").RefObject<HTMLElement | null>;
23
- referenceElement: HTMLElement | null;
24
- popperElement: HTMLElement | null;
25
- setReferenceElement: Dispatch<SetStateAction<HTMLElement | null>>;
26
- setPopperElement: Dispatch<SetStateAction<HTMLElement | null>>;
27
- };
28
- export {};
29
- //# sourceMappingURL=dropdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../lib/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC,UAAU,eAAgB,SAAQ,OAAO,CAAC,OAAO,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,GAAI,+EAKzB,eAAe;;;;;;;;;;;;;;;;;;;CA+FjB,CAAC"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.useDropdown = void 0;
15
- const react_1 = require("react");
16
- const react_popper_1 = require("react-popper");
17
- const click_1 = require("./click");
18
- const escape_1 = require("./escape");
19
- const focusTrap_1 = require("./focusTrap");
20
- const useDropdown = (_a) => {
21
- var { isOpen: externalIsOpen, setIsOpen: externalSetIsOpen, onClose } = _a, options = __rest(_a, ["isOpen", "setIsOpen", "onClose"]);
22
- const [internalIsOpen, internalSetIsOpen] = (0, react_1.useState)(false);
23
- const [referenceElement, setReferenceElement] = (0, react_1.useState)(null);
24
- const [popperElement, setPopperElement] = (0, react_1.useState)(null);
25
- const [, { update }] = (0, focusTrap_1.useTrapFocus)(popperElement);
26
- const isOpen = externalIsOpen !== undefined ? externalIsOpen : internalIsOpen;
27
- const setIsOpen = externalSetIsOpen !== undefined ? externalSetIsOpen : internalSetIsOpen;
28
- const clickOutsideRef = (0, click_1.useClickOutside)({
29
- callback: e => {
30
- if (popperElement && popperElement.contains(e.target)) {
31
- return;
32
- }
33
- handleClose();
34
- },
35
- });
36
- const popper = (0, react_popper_1.usePopper)(referenceElement, popperElement, options);
37
- const { forceUpdate } = popper;
38
- (0, escape_1.useEscapeListener)(e => {
39
- if (!isOpen || !referenceElement) {
40
- return;
41
- }
42
- if (!referenceElement.contains(e.target) &&
43
- !e.target.contains(popperElement)) {
44
- return;
45
- }
46
- handleClose();
47
- }, [referenceElement, popperElement, isOpen]);
48
- (0, react_1.useEffect)(() => {
49
- if (!referenceElement) {
50
- return;
51
- }
52
- const observer = new ResizeObserver(() => {
53
- if (!forceUpdate) {
54
- return;
55
- }
56
- forceUpdate();
57
- });
58
- observer.observe(referenceElement);
59
- return () => observer.disconnect();
60
- }, [referenceElement, forceUpdate]);
61
- (0, react_1.useEffect)(() => {
62
- if (!popperElement) {
63
- return;
64
- }
65
- const observer = new MutationObserver(() => {
66
- update();
67
- });
68
- observer.observe(popperElement, { subtree: true, attributes: true });
69
- return () => observer.disconnect();
70
- }, [popperElement, update]);
71
- const handleClose = () => {
72
- if (!isOpen) {
73
- return;
74
- }
75
- setIsOpen(false);
76
- if (onClose) {
77
- onClose();
78
- }
79
- };
80
- return Object.assign({ isOpen,
81
- setIsOpen,
82
- clickOutsideRef,
83
- referenceElement,
84
- popperElement,
85
- setReferenceElement,
86
- setPopperElement }, popper);
87
- };
88
- exports.useDropdown = useDropdown;
@@ -1,29 +0,0 @@
1
- import { Dispatch, SetStateAction } from "react";
2
- import { Options } from "@popperjs/core";
3
- interface DropdownOptions extends Partial<Options> {
4
- isOpen?: boolean;
5
- setIsOpen?: Dispatch<SetStateAction<boolean>>;
6
- onClose?: () => void;
7
- }
8
- export declare const useDropdown: ({ isOpen: externalIsOpen, setIsOpen: externalSetIsOpen, onClose, ...options }: DropdownOptions) => {
9
- styles: {
10
- [key: string]: React.CSSProperties;
11
- };
12
- attributes: {
13
- [key: string]: {
14
- [key: string]: string;
15
- } | undefined;
16
- };
17
- state: import("@popperjs/core").State | null;
18
- update: import("@popperjs/core").Instance["update"] | null;
19
- forceUpdate: import("@popperjs/core").Instance["forceUpdate"] | null;
20
- isOpen: boolean;
21
- setIsOpen: Dispatch<SetStateAction<boolean>>;
22
- clickOutsideRef: import("react").RefObject<HTMLElement | null>;
23
- referenceElement: HTMLElement | null;
24
- popperElement: HTMLElement | null;
25
- setReferenceElement: Dispatch<SetStateAction<HTMLElement | null>>;
26
- setPopperElement: Dispatch<SetStateAction<HTMLElement | null>>;
27
- };
28
- export {};
29
- //# sourceMappingURL=dropdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../lib/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC,UAAU,eAAgB,SAAQ,OAAO,CAAC,OAAO,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,GAAI,+EAKzB,eAAe;;;;;;;;;;;;;;;;;;;CA+FjB,CAAC"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDropdown = void 0;
4
- const react_1 = require("react");
5
- const react_popper_1 = require("react-popper");
6
- const click_1 = require("./click");
7
- const escape_1 = require("./escape");
8
- const focusTrap_1 = require("./focusTrap");
9
- const useDropdown = ({ isOpen: externalIsOpen, setIsOpen: externalSetIsOpen, onClose, ...options }) => {
10
- const [internalIsOpen, internalSetIsOpen] = (0, react_1.useState)(false);
11
- const [referenceElement, setReferenceElement] = (0, react_1.useState)(null);
12
- const [popperElement, setPopperElement] = (0, react_1.useState)(null);
13
- const [, { update }] = (0, focusTrap_1.useTrapFocus)(popperElement);
14
- const isOpen = externalIsOpen !== undefined ? externalIsOpen : internalIsOpen;
15
- const setIsOpen = externalSetIsOpen !== undefined ? externalSetIsOpen : internalSetIsOpen;
16
- const clickOutsideRef = (0, click_1.useClickOutside)({
17
- callback: e => {
18
- if (popperElement && popperElement.contains(e.target)) {
19
- return;
20
- }
21
- handleClose();
22
- },
23
- });
24
- const popper = (0, react_popper_1.usePopper)(referenceElement, popperElement, options);
25
- const { forceUpdate } = popper;
26
- (0, escape_1.useEscapeListener)(e => {
27
- if (!isOpen || !referenceElement) {
28
- return;
29
- }
30
- if (!referenceElement.contains(e.target) &&
31
- !e.target.contains(popperElement)) {
32
- return;
33
- }
34
- handleClose();
35
- }, [referenceElement, popperElement, isOpen]);
36
- (0, react_1.useEffect)(() => {
37
- if (!referenceElement) {
38
- return;
39
- }
40
- const observer = new ResizeObserver(() => {
41
- if (!forceUpdate) {
42
- return;
43
- }
44
- forceUpdate();
45
- });
46
- observer.observe(referenceElement);
47
- return () => observer.disconnect();
48
- }, [referenceElement, forceUpdate]);
49
- (0, react_1.useEffect)(() => {
50
- if (!popperElement) {
51
- return;
52
- }
53
- const observer = new MutationObserver(() => {
54
- update();
55
- });
56
- observer.observe(popperElement, { subtree: true, attributes: true });
57
- return () => observer.disconnect();
58
- }, [popperElement, update]);
59
- const handleClose = () => {
60
- if (!isOpen) {
61
- return;
62
- }
63
- setIsOpen(false);
64
- if (onClose) {
65
- onClose();
66
- }
67
- };
68
- return {
69
- isOpen,
70
- setIsOpen,
71
- clickOutsideRef,
72
- referenceElement,
73
- popperElement,
74
- setReferenceElement,
75
- setPopperElement,
76
- ...popper,
77
- };
78
- };
79
- exports.useDropdown = useDropdown;