{
  "_id": "6a13f900acfb0bcc41d34899",
  "Type": "Package",
  "Package": "sortable",
  "Title": "Drag-and-Drop in 'shiny' Apps with 'SortableJS'",
  "Version": "0.6.0",
  "Authors@R": "c(\nperson(\"Andrie\", \"de Vries\", , \"apdevries@gmail.com\", role = c(\"cre\", \"aut\")),\nperson(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\"),\nperson(\"Kenton\", \"Russell\", , \"kent.russell@timelyportfolio.com\", role = c(\"aut\", \"ccp\"),\ncomment = \"Original author\"),\nperson(\"Posit\", role = c(\"cph\", \"fnd\")),\nperson(\"Lebedev\", \"Konstantin\", role = \"cph\",\ncomment = \"'SortableJS', https://sortablejs.github.io/Sortable/\")\n)",
  "Description": "Enables drag-and-drop behaviour in Shiny apps, by exposing\nthe functionality of the 'SortableJS'\n<https://sortablejs.github.io/Sortable/> JavaScript library as\nan 'htmlwidget'.  You can use this in Shiny apps and widgets,\n'learnr' tutorials as well as R Markdown. In addition, provides\na custom 'learnr' question type - 'question_rank()' - that\nallows ranking questions with drag-and-drop.",
  "License": "MIT + file LICENSE",
  "URL": "https://rstudio.github.io/sortable/",
  "BugReports": "https://github.com/rstudio/sortable/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/pak/sysreqs": "cmake make libuv1-dev zlib1g-dev",
  "Repository": "https://rstudio.r-universe.dev",
  "Date/Publication": "2026-02-18 08:38:34 UTC",
  "RemoteUrl": "https://github.com/rstudio/sortable",
  "RemoteRef": "HEAD",
  "RemoteSha": "ba72387a53ad9681b508e0b7234fc631367e2661",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-25 07:20:40 UTC",
    "User": "root"
  },
  "Author": "Andrie de Vries [cre, aut],\nBarret Schloerke [aut],\nKenton Russell [aut, ccp] (Original author),\nPosit [cph, fnd],\nLebedev Konstantin [cph] ('SortableJS',\nhttps://sortablejs.github.io/Sortable/)",
  "Maintainer": "Andrie de Vries <apdevries@gmail.com>",
  "MD5sum": "646dc90bfa17e5524361a21b26d45f26",
  "_user": "rstudio",
  "_type": "src",
  "_file": "sortable_0.6.0.tar.gz",
  "_fileid": "0336d4504112dbbffc5d636bee5134b8901c4866a7cba4a5116ef52d7d6ad2d9",
  "_filesize": 2089371,
  "_sha256": "0336d4504112dbbffc5d636bee5134b8901c4866a7cba4a5116ef52d7d6ad2d9",
  "_created": "2026-05-25T07:20:40.000Z",
  "_published": "2026-05-25T07:23:44.700Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77672738520,
      "time": 145,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7193599178"
    },
    {
      "job": 77672738545,
      "time": 141,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7193598089"
    },
    {
      "job": 77672738525,
      "time": 92,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7193589330"
    },
    {
      "job": 77672738519,
      "time": 80,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7193584779"
    },
    {
      "job": 77672354217,
      "time": 201,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7193563878"
    },
    {
      "job": 77672738542,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7193590189"
    },
    {
      "job": 77672738580,
      "time": 87,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7193585285"
    },
    {
      "job": 77672738559,
      "time": 86,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7193584896"
    },
    {
      "job": 77672738497,
      "time": 90,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7193586167"
    }
  ],
  "_buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/rstudio/sortable",
  "_commit": {
    "id": "ba72387a53ad9681b508e0b7234fc631367e2661",
    "author": "andrie <apdevries@gmail.com>",
    "committer": "andrie <apdevries@gmail.com>",
    "message": "Include `shinytest2` to ensure tests run. Fixes #130\n",
    "time": 1771403914
  },
  "_maintainer": {
    "name": "Andrie de Vries",
    "email": "apdevries@gmail.com",
    "login": "andrie",
    "mastodon": "@andrie@fosstodon.org",
    "description": "Director of product strategy at @Posit, helping to make R and Python first class citizens for data science and enterprise deployment. ",
    "uuid": 479998
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "assertthat",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "htmlwidgets",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "learnr",
      "version": ">= 0.10.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "shiny",
      "version": ">= 1.9.0",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "base64enc",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "magrittr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 2.1.0",
      "role": "Suggests"
    },
    {
      "package": "webshot",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "rstudio",
  "_selfowned": true,
  "_usedby": 29,
  "_updates": [
    {
      "week": "2025-49",
      "n": 15
    },
    {
      "week": "2025-50",
      "n": 9
    },
    {
      "week": "2026-08",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "htmlwidget"
  ],
  "_stars": 136,
  "_contributors": [
    {
      "user": "andrie",
      "count": 306,
      "uuid": 479998
    },
    {
      "user": "schloerke",
      "count": 157,
      "uuid": 93231
    },
    {
      "user": "timelyportfolio",
      "count": 18,
      "uuid": 837910
    },
    {
      "user": "cderv",
      "count": 1,
      "uuid": 6791940
    },
    {
      "user": "wurli",
      "count": 1,
      "uuid": 17475731
    },
    {
      "user": "ocstringham",
      "count": 1,
      "uuid": 12629617
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    }
  ],
  "_userbio": {
    "uuid": 513560,
    "type": "organization",
    "name": "RStudio"
  },
  "_downloads": {
    "count": 4823,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/sortable"
  },
  "_devurl": "https://github.com/rstudio/sortable",
  "_pkgdown": "https://rstudio.github.io/sortable/",
  "_searchresults": 412,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/sortable.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/rstudio/sortable",
  "_realowner": "rstudio",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.4.2",
      "date": "2019-12-01"
    },
    {
      "version": "0.4.3",
      "date": "2020-08-26"
    },
    {
      "version": "0.4.4",
      "date": "2020-09-17"
    },
    {
      "version": "0.4.5",
      "date": "2021-12-13"
    },
    {
      "version": "0.4.6",
      "date": "2022-08-14"
    },
    {
      "version": "0.5.0",
      "date": "2023-03-26"
    },
    {
      "version": "0.6.0",
      "date": "2025-12-14"
    }
  ],
  "_exports": [
    "add_rank_list",
    "bucket_list",
    "chain_js_events",
    "enable_modules",
    "is_modules_enabled",
    "is_sortable_options",
    "question_rank",
    "rank_list",
    "render_sortable",
    "sortable_js",
    "sortable_js_capture_bucket_input",
    "sortable_js_capture_input",
    "sortable_options",
    "sortable_output",
    "update_bucket_list",
    "update_rank_list"
  ],
  "_help": [
    {
      "page": "add_rank_list",
      "title": "Add a rank list inside bucket list.",
      "topics": [
        "add_rank_list"
      ]
    },
    {
      "page": "bucket_list",
      "title": "Create a bucket list.",
      "topics": [
        "bucket_list"
      ]
    },
    {
      "page": "chain_js_events",
      "title": "Chain multiple JavaScript events",
      "concept": [
        "JavaScript functions"
      ],
      "topics": [
        "chain_js_events"
      ]
    },
    {
      "page": "modules",
      "title": "Check if shiny modules are enabled for 'sortable'.",
      "topics": [
        "enable_modules",
        "is_modules_enabled"
      ]
    },
    {
      "page": "is_sortable_options",
      "title": "Check if object is sortable options.",
      "topics": [
        "is_sortable_options"
      ]
    },
    {
      "page": "question_rank",
      "title": "Ranking question for learnr tutorials.",
      "topics": [
        "question_rank"
      ]
    },
    {
      "page": "rank_list",
      "title": "Create a ranking item list.",
      "topics": [
        "rank_list"
      ]
    },
    {
      "page": "render_sortable",
      "title": "Widget render function for use in Shiny.",
      "topics": [
        "render_sortable"
      ]
    },
    {
      "page": "sortable_js",
      "title": "Creates an htmlwidget with embedded 'SortableJS' library.",
      "topics": [
        "sortable_js"
      ]
    },
    {
      "page": "sortable_js_capture_input",
      "title": "Construct JavaScript method to capture Shiny inputs on change.",
      "concept": [
        "JavaScript functions"
      ],
      "topics": [
        "sortable_js_capture_bucket_input",
        "sortable_js_capture_input"
      ]
    },
    {
      "page": "sortable_options",
      "title": "Define options to pass to a sortable object.",
      "topics": [
        "sortable_options"
      ]
    },
    {
      "page": "sortable_output",
      "title": "Widget output function for use in Shiny.",
      "topics": [
        "sortable_output"
      ]
    },
    {
      "page": "update_bucket_list",
      "title": "Change the value of a bucket list.",
      "topics": [
        "update_bucket_list"
      ]
    },
    {
      "page": "update_rank_list",
      "title": "Change the text or labels of a rank list.",
      "topics": [
        "update_rank_list"
      ]
    }
  ],
  "_pkglogo": "https://github.com/rstudio/sortable/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/rstudio/sortable/raw/HEAD/README.md",
  "_rundeps": [
    "assertthat",
    "backports",
    "base64enc",
    "bslib",
    "cachem",
    "checkmate",
    "cli",
    "commonmark",
    "digest",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "knitr",
    "later",
    "learnr",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "memoise",
    "mime",
    "otel",
    "promises",
    "R6",
    "rappdirs",
    "Rcpp",
    "renv",
    "rlang",
    "rmarkdown",
    "rprojroot",
    "sass",
    "shiny",
    "sourcetools",
    "tinytex",
    "withr",
    "xfun",
    "xtable",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "cloning.Rmd",
      "filename": "cloning.html",
      "title": "Cloning and removing elements",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Cloning an element",
        "Removing an element",
        "Full example"
      ],
      "created": "2020-08-22 20:32:31",
      "modified": "2024-09-12 11:04:27",
      "commits": 6
    },
    {
      "source": "updating_rank_list.Rmd",
      "filename": "updating_rank_list.html",
      "title": "Dynamically updating a rank_list element",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Full example"
      ],
      "created": "2021-04-22 06:07:15",
      "modified": "2025-12-12 20:09:14",
      "commits": 4
    },
    {
      "source": "novel_solutions.Rmd",
      "filename": "novel_solutions.html",
      "title": "Novel solutions using sortable in shiny apps",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Creating an app",
        "Source code"
      ],
      "created": "2019-07-03 16:23:25",
      "modified": "2024-09-12 11:04:27",
      "commits": 5
    },
    {
      "source": "understanding_sortable_js.Rmd",
      "filename": "understanding_sortable_js.html",
      "title": "Understanding the interface to sortable.js",
      "author": "Andrie de Vries and Kenton Russell",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The central idea",
        "An example using raw HTML",
        "Use a tag list to achieve the same, but from R",
        "Little harder but better example",
        "The power of groups",
        "Dragging and dropping shiny tabs"
      ],
      "created": "2019-06-25 13:01:59",
      "modified": "2024-09-12 11:04:27",
      "commits": 18
    },
    {
      "source": "shiny_modules.Rmd",
      "filename": "shiny_modules.html",
      "title": "Using sortable with shiny modules",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Summary",
        "Introduction",
        "Understanding the module namespace issue",
        "Enabling and disabling shiny modules support",
        "Backward Compatibility"
      ],
      "created": "2025-12-07 11:41:39",
      "modified": "2025-12-10 21:38:52",
      "commits": 3
    },
    {
      "source": "using_custom_css.Rmd",
      "filename": "using_custom_css.html",
      "title": "Using custom styles with CSS",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Using custom styles",
        "Source code"
      ],
      "created": "2020-02-06 08:46:55",
      "modified": "2024-09-12 11:04:27",
      "commits": 3
    },
    {
      "source": "built_in.Rmd",
      "filename": "built_in.html",
      "title": "Using rank list and bucket lists in Shiny apps",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Rank list",
        "Demo",
        "Source code",
        "Bucket list"
      ],
      "created": "2020-08-24 10:14:35",
      "modified": "2024-09-12 11:04:27",
      "commits": 3
    }
  ],
  "_score": 12.170613188397436,
  "_indexed": true,
  "_nocasepkg": "sortable",
  "_universes": [
    "rstudio",
    "andrie"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-05-25T07:22:59.000Z",
      "distro": "noble",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "ab1895fe6a4e6cfd9ae93245cb8671c0157d146e2e86b24b4f8667f956a4c530",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-05-25T07:22:57.000Z",
      "distro": "noble",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "24f412d4016ec4c92a772dad001ffb70771ce658e34306ff35ba090fa78f4c8a",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-05-25T07:22:27.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "9c2b2816e6fbdc31811ed6d43497ae55ccba5b286eb6ed1e8851ca93f191a087",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-05-25T07:22:09.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "f431547822af10a91aeb77f0e2d13108d17ee9cdd51efabe670712db661577e1",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.0",
      "date": "2026-05-25T07:22:46.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "a3d2ceb6c3b76a06d62ec964ad6f0ef72b6bcb1fa521f761e9c171e77e9f610f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-05-25T07:21:58.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "99f321bb9489d3294c4d224a5563f1e9bf993b0d3b5fd2d5cfdf81a135218b08",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-05-25T07:21:56.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "6d4f3ae0b62bb0539f47670bd17ac009d2bd820cd4bf3ef58c5e0ef8aec2062c",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-05-25T07:21:59.000Z",
      "commit": "ba72387a53ad9681b508e0b7234fc631367e2661",
      "fileid": "cbe920a1c17e73020d23b02baf9969e0afb77ffef4c1b5eba94ea4569ba16ebb",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/rstudio/actions/runs/26388484849"
    }
  ]
}