@solid-primitives/selection
Advanced tools
+9
-14
| 'use strict'; | ||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||
| var solidJs = require('solid-js'); | ||
| // src/index.ts | ||
| var getTextNodes = (node) => { | ||
| exports.getTextNodes = (node) => { | ||
| const textNodes = []; | ||
@@ -23,3 +21,3 @@ const walkNodes = (node2) => { | ||
| }; | ||
| var getParent = (node) => node === null || (node == null ? void 0 : node.contentEditable) === "true" ? node : getParent(node.parentNode || null); | ||
| var getParent = (node) => node === null || node?.contentEditable === "true" ? node : getParent(node.parentNode || null); | ||
| var getRangeArgs = (offset, texts) => texts.reduce( | ||
@@ -29,3 +27,3 @@ ([node, pos], text) => node ? [node, pos] : pos <= text.data.length ? [text, pos] : [null, pos - text.data.length], | ||
| ); | ||
| var createSelection = () => { | ||
| exports.createSelection = () => { | ||
| const [selection, setSelection] = solidJs.createSignal([null, NaN, NaN]); | ||
@@ -39,3 +37,3 @@ const [selected, setSelected] = solidJs.createSignal([null, NaN, NaN]); | ||
| const selection2 = window.getSelection(); | ||
| if (!(selection2 == null ? void 0 : selection2.rangeCount)) { | ||
| if (!selection2?.rangeCount) { | ||
| return setSelection([null, NaN, NaN]); | ||
@@ -48,3 +46,3 @@ } | ||
| } | ||
| const texts = getTextNodes(parent); | ||
| const texts = exports.getTextNodes(parent); | ||
| const startPosition = getRangePos(range.startContainer, range.startOffset, texts); | ||
@@ -69,3 +67,3 @@ const endPosition = range.collapsed ? startPosition : getRangePos(range.endContainer, range.endOffset, texts); | ||
| if (node === null) { | ||
| (selection2 == null ? void 0 : selection2.rangeCount) && selection2.removeAllRanges(); | ||
| selection2?.rangeCount && selection2.removeAllRanges(); | ||
| } else if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement) { | ||
@@ -75,5 +73,5 @@ document.activeElement !== node && node.focus(); | ||
| } else { | ||
| selection2 == null ? void 0 : selection2.removeAllRanges(); | ||
| selection2?.removeAllRanges(); | ||
| const range = document.createRange(); | ||
| const texts = getTextNodes(node); | ||
| const texts = exports.getTextNodes(node); | ||
| const [startNode, startPos] = getRangeArgs(start, texts); | ||
@@ -84,3 +82,3 @@ const [endNode, endPos] = start === end ? [startNode, startPos] : getRangeArgs(end, texts); | ||
| range.setEnd(endNode, endPos); | ||
| selection2 == null ? void 0 : selection2.addRange(range); | ||
| selection2?.addRange(range); | ||
| } | ||
@@ -91,4 +89,1 @@ } | ||
| }; | ||
| exports.createSelection = createSelection; | ||
| exports.getTextNodes = getTextNodes; |
+5
-5
@@ -19,3 +19,3 @@ import { createSignal, createEffect, onCleanup } from 'solid-js'; | ||
| }; | ||
| var getParent = (node) => node === null || (node == null ? void 0 : node.contentEditable) === "true" ? node : getParent(node.parentNode || null); | ||
| var getParent = (node) => node === null || node?.contentEditable === "true" ? node : getParent(node.parentNode || null); | ||
| var getRangeArgs = (offset, texts) => texts.reduce( | ||
@@ -34,3 +34,3 @@ ([node, pos], text) => node ? [node, pos] : pos <= text.data.length ? [text, pos] : [null, pos - text.data.length], | ||
| const selection2 = window.getSelection(); | ||
| if (!(selection2 == null ? void 0 : selection2.rangeCount)) { | ||
| if (!selection2?.rangeCount) { | ||
| return setSelection([null, NaN, NaN]); | ||
@@ -63,3 +63,3 @@ } | ||
| if (node === null) { | ||
| (selection2 == null ? void 0 : selection2.rangeCount) && selection2.removeAllRanges(); | ||
| selection2?.rangeCount && selection2.removeAllRanges(); | ||
| } else if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement) { | ||
@@ -69,3 +69,3 @@ document.activeElement !== node && node.focus(); | ||
| } else { | ||
| selection2 == null ? void 0 : selection2.removeAllRanges(); | ||
| selection2?.removeAllRanges(); | ||
| const range = document.createRange(); | ||
@@ -78,3 +78,3 @@ const texts = getTextNodes(node); | ||
| range.setEnd(endNode, endPos); | ||
| selection2 == null ? void 0 : selection2.addRange(range); | ||
| selection2?.addRange(range); | ||
| } | ||
@@ -81,0 +81,0 @@ } |
+9
-14
| 'use strict'; | ||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||
| var solidJs = require('solid-js'); | ||
| // src/index.ts | ||
| var getTextNodes = (node) => { | ||
| exports.getTextNodes = (node) => { | ||
| const textNodes = []; | ||
@@ -23,3 +21,3 @@ const walkNodes = (node2) => { | ||
| }; | ||
| var getParent = (node) => node === null || (node == null ? void 0 : node.contentEditable) === "true" ? node : getParent(node.parentNode || null); | ||
| var getParent = (node) => node === null || node?.contentEditable === "true" ? node : getParent(node.parentNode || null); | ||
| var getRangeArgs = (offset, texts) => texts.reduce( | ||
@@ -29,3 +27,3 @@ ([node, pos], text) => node ? [node, pos] : pos <= text.data.length ? [text, pos] : [null, pos - text.data.length], | ||
| ); | ||
| var createSelection = () => { | ||
| exports.createSelection = () => { | ||
| const [selection, setSelection] = solidJs.createSignal([null, NaN, NaN]); | ||
@@ -39,3 +37,3 @@ const [selected, setSelected] = solidJs.createSignal([null, NaN, NaN]); | ||
| const selection2 = window.getSelection(); | ||
| if (!(selection2 == null ? void 0 : selection2.rangeCount)) { | ||
| if (!selection2?.rangeCount) { | ||
| return setSelection([null, NaN, NaN]); | ||
@@ -48,3 +46,3 @@ } | ||
| } | ||
| const texts = getTextNodes(parent); | ||
| const texts = exports.getTextNodes(parent); | ||
| const startPosition = getRangePos(range.startContainer, range.startOffset, texts); | ||
@@ -69,3 +67,3 @@ const endPosition = range.collapsed ? startPosition : getRangePos(range.endContainer, range.endOffset, texts); | ||
| if (node === null) { | ||
| (selection2 == null ? void 0 : selection2.rangeCount) && selection2.removeAllRanges(); | ||
| selection2?.rangeCount && selection2.removeAllRanges(); | ||
| } else if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement) { | ||
@@ -75,5 +73,5 @@ document.activeElement !== node && node.focus(); | ||
| } else { | ||
| selection2 == null ? void 0 : selection2.removeAllRanges(); | ||
| selection2?.removeAllRanges(); | ||
| const range = document.createRange(); | ||
| const texts = getTextNodes(node); | ||
| const texts = exports.getTextNodes(node); | ||
| const [startNode, startPos] = getRangeArgs(start, texts); | ||
@@ -84,3 +82,3 @@ const [endNode, endPos] = start === end ? [startNode, startPos] : getRangeArgs(end, texts); | ||
| range.setEnd(endNode, endPos); | ||
| selection2 == null ? void 0 : selection2.addRange(range); | ||
| selection2?.addRange(range); | ||
| } | ||
@@ -91,4 +89,1 @@ } | ||
| }; | ||
| exports.createSelection = createSelection; | ||
| exports.getTextNodes = getTextNodes; |
+1
-1
| import { Accessor, Setter } from 'solid-js'; | ||
| declare type HTMLSelection = [node: HTMLElement | null, start: number, end: number]; | ||
| type HTMLSelection = [node: HTMLElement | null, start: number, end: number]; | ||
| declare const getTextNodes: (node: Node) => Node[]; | ||
@@ -5,0 +5,0 @@ declare const createSelection: () => [Accessor<HTMLSelection>, Setter<HTMLSelection>]; |
+5
-5
@@ -19,3 +19,3 @@ import { createSignal, createEffect, onCleanup } from 'solid-js'; | ||
| }; | ||
| var getParent = (node) => node === null || (node == null ? void 0 : node.contentEditable) === "true" ? node : getParent(node.parentNode || null); | ||
| var getParent = (node) => node === null || node?.contentEditable === "true" ? node : getParent(node.parentNode || null); | ||
| var getRangeArgs = (offset, texts) => texts.reduce( | ||
@@ -34,3 +34,3 @@ ([node, pos], text) => node ? [node, pos] : pos <= text.data.length ? [text, pos] : [null, pos - text.data.length], | ||
| const selection2 = window.getSelection(); | ||
| if (!(selection2 == null ? void 0 : selection2.rangeCount)) { | ||
| if (!selection2?.rangeCount) { | ||
| return setSelection([null, NaN, NaN]); | ||
@@ -63,3 +63,3 @@ } | ||
| if (node === null) { | ||
| (selection2 == null ? void 0 : selection2.rangeCount) && selection2.removeAllRanges(); | ||
| selection2?.rangeCount && selection2.removeAllRanges(); | ||
| } else if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement) { | ||
@@ -69,3 +69,3 @@ document.activeElement !== node && node.focus(); | ||
| } else { | ||
| selection2 == null ? void 0 : selection2.removeAllRanges(); | ||
| selection2?.removeAllRanges(); | ||
| const range = document.createRange(); | ||
@@ -78,3 +78,3 @@ const texts = getTextNodes(node); | ||
| range.setEnd(endNode, endPos); | ||
| selection2 == null ? void 0 : selection2.addRange(range); | ||
| selection2?.addRange(range); | ||
| } | ||
@@ -81,0 +81,0 @@ } |
+2
-7
| 'use strict'; | ||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||
| require('solid-js'); | ||
| // src/index.ts | ||
| var getTextNodes = (node) => { | ||
| exports.getTextNodes = (node) => { | ||
| const textNodes = []; | ||
@@ -18,3 +16,3 @@ const walkNodes = (node2) => { | ||
| }; | ||
| var createSelection = () => { | ||
| exports.createSelection = () => { | ||
| { | ||
@@ -27,4 +25,1 @@ return [ | ||
| }; | ||
| exports.createSelection = createSelection; | ||
| exports.getTextNodes = getTextNodes; |
+35
-15
| { | ||
| "name": "@solid-primitives/selection", | ||
| "version": "0.0.3", | ||
| "version": "0.0.4", | ||
| "description": "selection primitive.", | ||
@@ -29,4 +29,4 @@ "author": "Alex Lohr <alex.lohr@logmein.com>", | ||
| "browser": { | ||
| "./dist/server.cjs": "./dist/index.cjs", | ||
| "./dist/server.js": "./dist/index.js" | ||
| "./dist/server.js": "./dist/index.js", | ||
| "./dist/server.cjs": "./dist/index.cjs" | ||
| }, | ||
@@ -36,3 +36,6 @@ "types": "./dist/index.d.ts", | ||
| "worker": { | ||
| "import": "./dist/server.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/server.js" | ||
| }, | ||
| "require": "./dist/server.cjs" | ||
@@ -42,21 +45,39 @@ }, | ||
| "development": { | ||
| "import": "./dist/dev.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/dev.js" | ||
| }, | ||
| "require": "./dist/dev.cjs" | ||
| }, | ||
| "import": "./dist/index.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/index.js" | ||
| }, | ||
| "require": "./dist/index.cjs" | ||
| }, | ||
| "deno": { | ||
| "import": "./dist/server.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/server.js" | ||
| }, | ||
| "require": "./dist/server.cjs" | ||
| }, | ||
| "node": { | ||
| "import": "./dist/server.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/server.js" | ||
| }, | ||
| "require": "./dist/server.cjs" | ||
| }, | ||
| "development": { | ||
| "import": "./dist/dev.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/dev.js" | ||
| }, | ||
| "require": "./dist/dev.cjs" | ||
| }, | ||
| "import": "./dist/index.js", | ||
| "import": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/index.js" | ||
| }, | ||
| "require": "./dist/index.cjs" | ||
@@ -71,11 +92,10 @@ }, | ||
| ], | ||
| "devDependencies": { | ||
| "solid-js": "^1.5.0" | ||
| }, | ||
| "peerDependencies": { | ||
| "solid-js": "^1.5.0" | ||
| "solid-js": "^1.6.0" | ||
| }, | ||
| "typesVersions": {}, | ||
| "scripts": { | ||
| "start": "vite serve dev --host", | ||
| "dev": "npm run start", | ||
| "dev": "vite serve dev", | ||
| "page": "vite build dev", | ||
| "build": "jiti ../../scripts/build.ts --ssr --dev", | ||
@@ -82,0 +102,0 @@ "test": "vitest -c ../../configs/vitest.config.ts", |
+1
-1
@@ -84,3 +84,3 @@ <p> | ||
| TODO | ||
| https://solidjs-community.github.io/solid-primitives/selection | ||
@@ -87,0 +87,0 @@ ## Changelog |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
-100%0
-100%22224
-1.94%363
-2.42%