{"_id":"@dojo-ng/rich-text-lists","name":"@dojo-ng/rich-text-lists","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dojo-ng/rich-text-lists","version":"0.1.0","license":"BSD-3-Clause","description":"Bulleted/numbered/checklist plugin for @dojo-ng/rich-text","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"dependencies":{"@dojo-ng/rich-text":"^0.1.0","@dojo-ng/i18n":"^0.1.0","lexical":"^0.21.0","@lexical/list":"^0.21.0","lit":"^3.3.0"},"_id":"@dojo-ng/rich-text-lists@0.1.0","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-LgT11B5vqzNZLTD7aqoQOGetZxBwFOfWNgXMKEBh3bxY/EYiU/tWGrHPPq4mgfUi8PZ0IQxynLCiSweHI5e1rw==","shasum":"79ed0040fbe33a18a5cdae2ab99a7117ca57fdaa","tarball":"https://registry.npmjs.org/@dojo-ng/rich-text-lists/-/rich-text-lists-0.1.0.tgz","fileCount":6,"unpackedSize":12355,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCl/jTzgejZRoathMoOz6IybtjJo2seQ3niavFcXTs+KQIgNauUkwXj/POgV5plvGg9tSREHFZhYThuxRunXrmoAP0="}]},"_npmUser":{"name":"bitranch","email":"bill@bitranch.com"},"directories":{},"maintainers":[{"name":"saysomething","email":"joshs@holmescorp.com"},{"name":"bitranch","email":"bill@bitranch.com"},{"name":"jepe","email":"jeffreyp@holmescorp.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rich-text-lists_0.1.0_1788374436526_0.19234974737242116"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-02T18:40:36.316Z","0.1.0":"2026-09-02T18:40:36.668Z","modified":"2026-09-02T18:40:37.044Z"},"maintainers":[{"name":"saysomething","email":"joshs@holmescorp.com"},{"name":"bitranch","email":"bill@bitranch.com"},{"name":"jepe","email":"jeffreyp@holmescorp.com"}],"description":"Bulleted/numbered/checklist plugin for @dojo-ng/rich-text","license":"BSD-3-Clause","readme":"# @dojo-ng/rich-text-lists\n\nBulleted/numbered/checklist plugin for @dojo-ng/rich-text\n\nPart of [Dojo NG](../../README.md), a framework-agnostic web component library. BSD-3-Clause.\n\n> An opt-in plugin for `@dojo-ng/rich-text` (not a custom element). It contributes the `ListNode`/`ListItemNode` classes, installs Lexical's list behaviour, and adds three toolbar buttons that toggle the current block into and out of a bulleted, numbered, or check list. Setting `plugins` REPLACES the default set, so spread `...defaultPlugins`. Exports `listsPlugin`. CHECKLISTS: the installed `@lexical/list` does not export `registerCheckList`, so the plugin owns the interaction — it registers `INSERT_CHECK_LIST_COMMAND` (via `insertList(editor, \"check\")`), reflects each check item's state onto its `<li>` as `data-dj-checked=\"true|false\"` plus `role=\"checkbox\"` and `aria-checked` (theme-independent, keyed by CSS), toggles on a click in the ~1.6em marker zone (LTR left edge, RTL right edge — clicking the text just places the caret), and toggles on Space at the start of an item. Checked state round-trips through the `value` HTML on Lexical 0.21's native list export/import (the emitted markup is `<ul __lexicallisttype=\"check\"><li role=\"checkbox\" aria-checked=\"true|false\">…</li></ul>`), so no serialization overrides are needed; consuming sites can style the exported `data-dj-checked`/`aria-checked` attributes themselves. DEFERRED: nested-checklist indent styling beyond what lists already do, and read-only interactive checkboxes outside the editor.\n\n## Install\n\n```bash\nnpm install @dojo-ng/rich-text-lists\n```\n\n## Usage\n\nCompose the lists plugin with the default set; the toolbar gains bulleted, numbered, and checklist toggles. Click a checkbox (or press Space at the start of an item) to toggle it.\n\n```html\n<dj-rich-text id=\"editor\" label=\"Article\"></dj-rich-text>\n<script type=\"module\">\n  import \"@dojo-ng/rich-text\";\n  import { defaultPlugins } from \"@dojo-ng/rich-text\";\n  import { listsPlugin } from \"@dojo-ng/rich-text-lists\";\n  document.getElementById(\"editor\").plugins = [...defaultPlugins, listsPlugin];\n</script>\n```\n","readmeFilename":"README.md","_rev":"1-4ff9921e417ddfb0b656fcda8f2b1924"}