{"_id":"@cujuju/solidjs-editable-list-row","_rev":"3-a79469c2fe78ff6e0098c48008434bc4","name":"@cujuju/solidjs-editable-list-row","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@cujuju/solidjs-editable-list-row","version":"0.1.0","keywords":["solidjs","list-row","editable","rename","delete","drag-reorder"],"author":{"name":"Cujuju"},"license":"MIT","_id":"@cujuju/solidjs-editable-list-row@0.1.0","maintainers":[{"name":"cujuju","email":"cujuju@pm.me"}],"homepage":"https://github.com/Cujuju/solidjs-toolkit/tree/main/packages/editable-list-row","bugs":{"url":"https://github.com/Cujuju/solidjs-toolkit/issues"},"dist":{"shasum":"255b278c7d93686f2fa0bd65bd4dc806fc595270","tarball":"https://registry.npmjs.org/@cujuju/solidjs-editable-list-row/-/solidjs-editable-list-row-0.1.0.tgz","fileCount":14,"integrity":"sha512-rz8u9s5hIghgtSigtrAkn7NPGp8BJE4pf9VpFCaFjPfmCi+3WuwBQpmAal2h8l/lUzY9n1+cpCAQdPbWY0yVnw==","signatures":[{"sig":"MEYCIQD89F/ABqfUgf+h8brMp0dZDp24nO4yQp5Z/4VJdQAs/AIhALtJfhavWSaHuuj8D2GSU+x3OiWNO/SK4+FULxmiMMOC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84578},"main":"./dist/index.js","type":"module","_from":"file:cujuju-solidjs-editable-list-row-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./src/styles.css"},"scripts":{"test":"vitest run","build":"vite build","test:watch":"vitest"},"_npmUser":{"name":"cujuju","email":"cujuju@pm.me"},"_resolved":"C:\\Users\\shawn\\AppData\\Local\\Temp\\5789193d295328de69d81f7a5f38a635\\cujuju-solidjs-editable-list-row-0.1.0.tgz","_integrity":"sha512-rz8u9s5hIghgtSigtrAkn7NPGp8BJE4pf9VpFCaFjPfmCi+3WuwBQpmAal2h8l/lUzY9n1+cpCAQdPbWY0yVnw==","repository":{"url":"git+https://github.com/Cujuju/solidjs-toolkit.git","type":"git","directory":"packages/editable-list-row"},"_npmVersion":"11.12.1","description":"Editable list row primitive for SolidJS — inline rename, delete-with-confirm, selection variants, drag-reorder pass-through, leading icon/control slot.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.8.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^24.0.0","vitest":"^3.2.4","vite-plugin-solid":"^2.11.12","@cujuju/solidjs-hooks":"2.0.0","@solidjs/testing-library":"^0.8.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"solid-js":">=1.7.0","@cujuju/solidjs-hooks":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/solidjs-editable-list-row_0.1.0_1778524283527_0.059490498941198844","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cujuju/solidjs-editable-list-row","version":"0.1.1","keywords":["solidjs","list-row","editable","rename","delete","drag-reorder"],"author":{"name":"Cujuju"},"license":"MIT","_id":"@cujuju/solidjs-editable-list-row@0.1.1","maintainers":[{"name":"cujuju","email":"cujuju@pm.me"}],"homepage":"https://github.com/Cujuju/solidjs-toolkit/tree/main/packages/editable-list-row","bugs":{"url":"https://github.com/Cujuju/solidjs-toolkit/issues"},"dist":{"shasum":"1975929edb83d80b2df8528c5ff0011c104a2e6a","tarball":"https://registry.npmjs.org/@cujuju/solidjs-editable-list-row/-/solidjs-editable-list-row-0.1.1.tgz","fileCount":14,"integrity":"sha512-+OHRB+S52Z/xl+fVgyi13dmh/UNg5DnzbwF4kdn1YUPO7g8TZqB+43t+yEWKyB21azJ8QNxMh94v/VOl4Ps4Tw==","signatures":[{"sig":"MEUCIQCevnAm+Ad3nWoV057rt0O5tTNOeSP/kPnpnkHQPXkDjgIgTnx1FcPm4M/QVjcYbpc8p7OWoTkTlgqxWhs189ByTkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85430},"main":"./dist/index.js","type":"module","_from":"file:cujuju-solidjs-editable-list-row-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./src/styles.css"},"scripts":{"test":"vitest run","build":"vite build","test:watch":"vitest"},"_npmUser":{"name":"cujuju","email":"cujuju@pm.me"},"_resolved":"/tmp/340865246442c194ff014bdf9025c065/cujuju-solidjs-editable-list-row-0.1.1.tgz","_integrity":"sha512-+OHRB+S52Z/xl+fVgyi13dmh/UNg5DnzbwF4kdn1YUPO7g8TZqB+43t+yEWKyB21azJ8QNxMh94v/VOl4Ps4Tw==","repository":{"url":"git+https://github.com/Cujuju/solidjs-toolkit.git","type":"git","directory":"packages/editable-list-row"},"_npmVersion":"12.0.1","description":"Editable list row primitive for SolidJS — inline rename, delete-with-confirm, selection variants, drag-reorder pass-through, leading icon/control slot.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^24.0.0","vitest":"^3.2.4","vite-plugin-solid":"^2.11.12","@cujuju/solidjs-hooks":"2.0.0","@solidjs/testing-library":"^0.8.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"solid-js":">=1.7.0","@cujuju/solidjs-hooks":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/solidjs-editable-list-row_0.1.1_1784887082034_0.06857695339023473","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cujuju/solidjs-editable-list-row","version":"0.1.2","description":"Editable list row primitive for SolidJS — inline rename, delete-with-confirm, selection variants, drag-reorder pass-through, leading icon/control slot.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","solid":"./src/index.ts","import":"./dist/index.js"},"./styles.css":"./src/styles.css"},"sideEffects":["**/*.css"],"license":"MIT","author":{"name":"Cujuju"},"repository":{"type":"git","url":"git+https://github.com/Cujuju/solidjs-toolkit.git","directory":"packages/editable-list-row"},"homepage":"https://github.com/Cujuju/solidjs-toolkit/tree/main/packages/editable-list-row","bugs":{"url":"https://github.com/Cujuju/solidjs-toolkit/issues"},"keywords":["solidjs","list-row","editable","rename","delete","drag-reorder"],"peerDependencies":{"solid-js":">=1.7.0","@cujuju/solidjs-hooks":"^2.0.0"},"devDependencies":{"@solidjs/testing-library":"^0.8.0","@testing-library/jest-dom":"^6.9.1","jsdom":"^24.0.0","vite-plugin-solid":"^2.11.12","vitest":"^3.2.4","@cujuju/solidjs-hooks":"^2.0.0"},"publishConfig":{"access":"public"},"scripts":{"test":"vitest run","test:watch":"vitest","build":"vite build"},"_id":"@cujuju/solidjs-editable-list-row@0.1.2","_integrity":"sha512-9NOhIvaJB5qlYslTWnKG/2f4uhCaGUYkTVmca1nz+SMTuN7RH6qEmfcWiEv7pABx6T4t6nKPrLiS/NYFs/ursg==","_resolved":"/tmp/e2582cc821782955bcbf0e179422a47b/cujuju-solidjs-editable-list-row-0.1.2.tgz","_from":"file:cujuju-solidjs-editable-list-row-0.1.2.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-9NOhIvaJB5qlYslTWnKG/2f4uhCaGUYkTVmca1nz+SMTuN7RH6qEmfcWiEv7pABx6T4t6nKPrLiS/NYFs/ursg==","shasum":"33c277ffab5001721feccc85bada1c2ef34e6aa5","tarball":"https://registry.npmjs.org/@cujuju/solidjs-editable-list-row/-/solidjs-editable-list-row-0.1.2.tgz","fileCount":14,"unpackedSize":85431,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAQ5/Sb1UihLN55QFUiu2FOKZVPCw7cIXXrqQA3+UtynAiBIBaj4AOAIRB/bUarPWJlIjhYJxI9/OaNR+OHqEGNW6g=="}]},"_npmUser":{"name":"cujuju","email":"cujuju@pm.me"},"directories":{},"maintainers":[{"name":"cujuju","email":"cujuju@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/solidjs-editable-list-row_0.1.2_1784888179712_0.4265222530961623"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T18:31:23.347Z","modified":"2026-07-24T10:16:19.983Z","0.1.0":"2026-05-11T18:31:23.687Z","0.1.1":"2026-07-24T09:58:02.184Z","0.1.2":"2026-07-24T10:16:19.852Z"},"bugs":{"url":"https://github.com/Cujuju/solidjs-toolkit/issues"},"author":{"name":"Cujuju"},"license":"MIT","homepage":"https://github.com/Cujuju/solidjs-toolkit/tree/main/packages/editable-list-row","keywords":["solidjs","list-row","editable","rename","delete","drag-reorder"],"repository":{"type":"git","url":"git+https://github.com/Cujuju/solidjs-toolkit.git","directory":"packages/editable-list-row"},"description":"Editable list row primitive for SolidJS — inline rename, delete-with-confirm, selection variants, drag-reorder pass-through, leading icon/control slot.","maintainers":[{"name":"cujuju","email":"cujuju@pm.me"}],"readme":"# @cujuju/solidjs-editable-list-row\n\nEditable list row primitive for SolidJS — inline rename, delete-with-confirm,\nselection variants (none / checkbox), leading icon or interactive control slot,\ntrailing badge slot, drag-reorder library pass-through, busy gating.\n\n## Install\n\n```sh\npnpm add @cujuju/solidjs-editable-list-row @cujuju/solidjs-hooks\n```\n\nPeer dependencies: `solid-js >= 1.7.0`, `@cujuju/solidjs-hooks ^2.0.0`.\n\n## Usage\n\n```tsx\nimport EditableListRow from '@cujuju/solidjs-editable-list-row';\n\n<EditableListRow\n  id={collection.id}\n  name={collection.name}\n  selection={{ kind: 'checkbox', checked: isMember, onToggle }}\n  onRename={(next) => updateCollection(collection.id, next)}\n  onDelete={() => deleteCollection(collection.id)}\n  deleteConfirmTitle=\"Delete Collection\"\n  deleteConfirmMessage={`Delete the \"${collection.name}\" collection?`}\n/>\n```\n\n## Props\n\n| Prop | Type | Description |\n|---|---|---|\n| `id` | `string` | Stable id (a11y + reorder keying). |\n| `name` | `string` | Display name. |\n| `selection` | `{ kind: 'none' } \\| { kind: 'checkbox'; checked; onToggle; disabled? }` | Selection-affordance variant. |\n| `onActivate?` | `() => void` | Body-click handler. When provided, click-on-name invokes this. |\n| `onRename?` | `(next: string) => Promise<void>` | Inline rename commit. Reject keeps row in rename with typed value. |\n| `onDelete?` | `() => Promise<void>` | Delete commit. Runs after `confirmDelete` resolves true. |\n| `active?` | `boolean` | Active-state styling. |\n| `deleteDisabled?` | `boolean` | Disable just the delete button. |\n| `trailingLabel?` | `() => JSX.Element` | Right-aligned badge slot inside the label. |\n| `leadingIcon?` | `() => JSX.Element` | Decorative left-side icon slot. |\n| `leadingControl?` | `() => JSX.Element` | Interactive left-side slot (wins over `leadingIcon`). |\n| `busy?` | `() => boolean` | Block all interactions; row dims and sets `aria-busy`. |\n| `onContextMenu?` | `(e: MouseEvent) => void` | Right-click handler. |\n| `reorderProps?` | `Record<string, unknown>` | Spread from a reorder library (e.g. `@cujuju/solid-reorder-list`). Adds a drag handle. |\n| `infoTooltip?` | `string` | Tooltip on the row. |\n| `deleteConfirmTitle?` | `string` | Default `\"Delete\"`. |\n| `deleteConfirmMessage?` | `string` | Default `Delete \"${name}\"?`. |\n| `renameAriaLabel?` | `string` | Default `Rename ${name}`. |\n| `deleteAriaLabel?` | `string` | Default `Delete ${name}`. |\n| `pendingRename?` | `() => boolean` | External edge-triggered rename entry (false → true starts rename). |\n| `onRenameClose?` | `() => void` | Fired when rename exits for any reason. Pair with `pendingRename`. |\n| `confirmDelete?` | `(params) => Promise<boolean>` | Custom delete-confirm dialog. Default: `window.confirm`. |\n\n## Click semantics\n\nBody-click priority:\n1. If `onActivate` is set, invoke it.\n2. Else if `selection.kind === 'checkbox'` and not disabled, toggle the checkbox.\n3. Else if `onRename` is set, enter rename mode.\n\nThe pencil icon is always available as an explicit rename trigger when\n`onRename` is set, regardless of selection mode.\n\n## Theming\n\nCSS variables (defaults shown):\n\n```css\n[data-cuj-elr] {\n  --cuj-elr-bg-active: rgba(59, 130, 246, 0.1);\n  --cuj-elr-bg-hover: rgba(59, 130, 246, 0.05);\n  --cuj-elr-bg-rename-input: #fff;\n  --cuj-elr-border-rename: #3b82f6;\n  --cuj-elr-icon-fg: #6b7280;\n  --cuj-elr-icon-fg-hover: #111827;\n  --cuj-elr-icon-bg-hover: rgba(59, 130, 246, 0.1);\n  --cuj-elr-icon-danger-fg: #ef4444;\n  --cuj-elr-icon-danger-bg-hover: rgba(239, 68, 68, 0.1);\n  --cuj-elr-row-padding-y: 4px;\n  --cuj-elr-row-padding-x: 8px;\n  --cuj-elr-row-radius: 6px;\n  --cuj-elr-label-padding-y: 4px;\n  --cuj-elr-label-padding-x: 6px;\n  --cuj-elr-label-radius: 4px;\n}\n```\n\nOverride in a consumer scope (e.g. a flyout that uses your app's theme tokens).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}