{
  "_id": "6a1f0cb4b401979e7341cdbe",
  "Package": "VizModules",
  "Title": "Flexible, Interactive 'shiny' Modules for Almost Any Plot",
  "Version": "0.1.1",
  "Authors@R": "c(person(given = \"Jared\", family = \"Andrews\", email = \"jared.andrews07@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-0780-6248\")),\nperson(given = \"Jacob\",\nfamily = \"Martin\",\nrole = c(\"aut\"),\ncomment = c(ORCID = \"0009-0007-6896-4796\"),\nemail = \"jacob@martin-email.com\"))",
  "Description": "Offers a core selection of interactivity-first 'shiny'\nmodules for many plot types meant to serve as flexible building\nblocks for applications and as the base for more complex\nmodules. These modules allow for the rapid and convenient\nconstruction of 'shiny' apps with very few lines of code and\ndecouple plotting from the underlying data. These modules allow\nfor full plot aesthetic customization by the end user through\nUI inputs. Utility functions for simple UI organization,\nautomated UI tooltips, and additional plot enhancements are\nalso provided.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://j-andrews7.github.io/VizModules/,\nhttps://github.com/j-andrews7/VizModules",
  "Config/pak/sysreqs": "cmake make libicu-dev libjpeg-dev libpng-dev\nlibuv1-dev libxml2-dev libssl-dev zlib1g-dev",
  "Repository": "https://j-andrews7.r-universe.dev",
  "Date/Publication": "2026-04-17 15:15:17 UTC",
  "RemoteUrl": "https://github.com/j-andrews7/vizmodules",
  "RemoteRef": "HEAD",
  "RemoteSha": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-17 09:27:16 UTC",
    "User": "root"
  },
  "Author": "Jared Andrews [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-0780-6248>),\nJacob Martin [aut] (ORCID: <https://orcid.org/0009-0007-6896-4796>)",
  "Maintainer": "Jared Andrews <jared.andrews07@gmail.com>",
  "MD5sum": "1a7549c95ddcfeee170fa2e4420ec2c7",
  "_user": "j-andrews7",
  "_type": "src",
  "_file": "VizModules_0.1.1.tar.gz",
  "_fileid": "67ea55b879ad5006f5718f533b2e397d5d07a83d8077364d05abf576ffa47ba9",
  "_filesize": 2560587,
  "_sha256": "67ea55b879ad5006f5718f533b2e397d5d07a83d8077364d05abf576ffa47ba9",
  "_created": "2026-05-17T09:27:16.000Z",
  "_published": "2026-06-02T17:02:44.879Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79126923506,
      "time": 201,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7041235945"
    },
    {
      "job": 79126923642,
      "time": 190,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7041234759"
    },
    {
      "job": 79126924348,
      "time": 287,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7041238849"
    },
    {
      "job": 79126923408,
      "time": 157,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7041229059"
    },
    {
      "job": 79126922901,
      "time": 244,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7041214045"
    },
    {
      "job": 79126922703,
      "time": 146,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7364517656"
    },
    {
      "job": 79126923431,
      "time": 191,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7041234805"
    },
    {
      "job": 79126923501,
      "time": 210,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7041237072"
    },
    {
      "job": 79126923305,
      "time": 165,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7041231971"
    }
  ],
  "_buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/j-andrews7/vizmodules",
  "_commit": {
    "id": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
    "author": "Jacob <jacob@martin-email.com>",
    "committer": "Jacob <jacob@martin-email.com>",
    "message": "0.04 subplot default\n",
    "time": 1776438917
  },
  "_maintainer": {
    "name": "Jared Andrews",
    "email": "jared.andrews07@gmail.com",
    "login": "j-andrews7",
    "twitter": "@JMA_Data",
    "description": "Senior Bioinformatics Research Scientist at St. Jude Children's Research Hospital",
    "uuid": 10225716,
    "orcid": "0000-0002-0780-6248"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "shiny",
      "role": "Depends"
    },
    {
      "package": "dittoViz",
      "role": "Depends"
    },
    {
      "package": "plotly",
      "role": "Depends"
    },
    {
      "package": "R",
      "version": ">= 4.5",
      "role": "Depends"
    },
    {
      "package": "shinyBS",
      "role": "Depends"
    },
    {
      "package": "plotthis",
      "version": ">= 0.11.0",
      "role": "Depends"
    },
    {
      "package": "roclang",
      "role": "Imports"
    },
    {
      "package": "colourpicker",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "DT",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "shinyjs",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "shinyjqui",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "shinyWidgets",
      "role": "Imports"
    },
    {
      "package": "htmlwidgets",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "j-andrews7",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-50",
      "n": 1
    },
    {
      "week": "2025-51",
      "n": 1
    },
    {
      "week": "2026-01",
      "n": 12
    },
    {
      "week": "2026-02",
      "n": 17
    },
    {
      "week": "2026-03",
      "n": 52
    },
    {
      "week": "2026-04",
      "n": 27
    },
    {
      "week": "2026-05",
      "n": 52
    },
    {
      "week": "2026-06",
      "n": 6
    },
    {
      "week": "2026-08",
      "n": 5
    },
    {
      "week": "2026-09",
      "n": 20
    },
    {
      "week": "2026-10",
      "n": 61
    },
    {
      "week": "2026-11",
      "n": 18
    },
    {
      "week": "2026-12",
      "n": 13
    },
    {
      "week": "2026-13",
      "n": 43
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 1
    },
    {
      "week": "2026-16",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-03-27"
    },
    {
      "name": "v0.1.1",
      "date": "2026-04-01"
    }
  ],
  "_topics": [
    "data-visualization",
    "modules",
    "shiny",
    "visualization"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "j-andrews7",
      "count": 335,
      "uuid": 10225716
    },
    {
      "user": "jacob1106",
      "count": 271,
      "uuid": 67519891
    },
    {
      "user": "copilot",
      "count": 240,
      "uuid": 198982749
    }
  ],
  "_userbio": {
    "uuid": 10225716,
    "type": "user",
    "name": "Jared Andrews",
    "description": "Senior Bioinformatics Research Scientist at St. Jude Children's Research Hospital"
  },
  "_downloads": {
    "count": 438,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/VizModules"
  },
  "_devurl": "https://github.com/j-andrews7/vizmodules",
  "_pkgdown": "https://j-andrews7.github.io/VizModules/",
  "_searchresults": 82,
  "_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/VizModules.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/j-andrews7/vizmodules",
  "_realowner": "j-andrews7",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2026-04-08"
    }
  ],
  "_exports": [
    "adjust_column_values",
    "createModuleApp",
    "dataFilterServer",
    "dataFilterUI",
    "default_palettes",
    "dittoViz_scatterPlotApp",
    "dittoViz_scatterPlotInputsUI",
    "dittoViz_scatterPlotOutputUI",
    "dittoViz_scatterPlotServer",
    "dittoViz_yPlotApp",
    "dittoViz_yPlotInputsUI",
    "dittoViz_yPlotOutputUI",
    "dittoViz_yPlotServer",
    "dumbbellPlot",
    "dumbbellPlotApp",
    "dumbbellPlotInputsUI",
    "dumbbellPlotOutputUI",
    "dumbbellPlotServer",
    "get_documentation",
    "is_pure_type",
    "linePlot",
    "linePlotApp",
    "linePlotInputsUI",
    "linePlotOutputUI",
    "linePlotServer",
    "module_tack_ui",
    "multiColorPicker",
    "organize_inputs",
    "parallelCoordinatesPlot",
    "parallelCoordinatesPlotApp",
    "parallelCoordinatesPlotInputsUI",
    "parallelCoordinatesPlotOutputUI",
    "parallelCoordinatesPlotServer",
    "piePlot",
    "piePlotApp",
    "piePlotInputsUI",
    "piePlotOutputUI",
    "piePlotServer",
    "plotthis_AreaPlotApp",
    "plotthis_AreaPlotInputsUI",
    "plotthis_AreaPlotOutputUI",
    "plotthis_AreaPlotServer",
    "plotthis_BarPlotApp",
    "plotthis_BarPlotInputsUI",
    "plotthis_BarPlotOutputUI",
    "plotthis_BarPlotServer",
    "plotthis_BoxPlotApp",
    "plotthis_BoxPlotInputsUI",
    "plotthis_BoxPlotOutputUI",
    "plotthis_BoxPlotServer",
    "plotthis_DensityPlotApp",
    "plotthis_DensityPlotInputsUI",
    "plotthis_DensityPlotOutputUI",
    "plotthis_DensityPlotServer",
    "plotthis_HistogramApp",
    "plotthis_HistogramInputsUI",
    "plotthis_HistogramOutputUI",
    "plotthis_HistogramServer",
    "plotthis_SplitBarPlotApp",
    "plotthis_SplitBarPlotInputsUI",
    "plotthis_SplitBarPlotOutputUI",
    "plotthis_SplitBarPlotServer",
    "plotthis_ViolinPlotApp",
    "plotthis_ViolinPlotInputsUI",
    "plotthis_ViolinPlotOutputUI",
    "plotthis_ViolinPlotServer",
    "radarPlot",
    "radarPlotApp",
    "radarPlotInputsUI",
    "radarPlotOutputUI",
    "radarPlotServer",
    "resolve_palette",
    "safe_eval_filter",
    "safe_resolve_adj_fxn",
    "setup_auto_update_logic",
    "ternaryPlot",
    "ternaryPlotApp",
    "ternaryPlotInputsUI",
    "ternaryPlotOutputUI",
    "ternaryPlotServer",
    "updateMultiColorPicker",
    "validate_expression"
  ],
  "_datasets": [
    {
      "name": "example_bar",
      "title": "Bar dataset for bar and split bar plot examples",
      "object": "example_bar",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Group",
        "Type",
        "Values",
        "Numbers",
        "Score"
      ],
      "rows": 5,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_demographics",
      "title": "Example demographics dataset",
      "object": "example_demographics",
      "class": [
        "data.frame"
      ],
      "fields": [
        "department",
        "job_level",
        "gender",
        "age",
        "salary",
        "satisfaction",
        "performance",
        "tenure_years",
        "weekly_hours"
      ],
      "rows": 500,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_iris",
      "title": "Example grouped iris dataset",
      "object": "example_iris",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Sepal.Length",
        "Sepal.Width",
        "Petal.Length",
        "Petal.Width",
        "Species",
        "Group"
      ],
      "rows": 150,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_mtcars",
      "title": "Example mtcars dataset with factors",
      "object": "example_mtcars",
      "class": [
        "data.frame"
      ],
      "fields": [
        "mpg",
        "cyl",
        "disp",
        "hp",
        "drat",
        "wt",
        "qsec",
        "vs",
        "am",
        "gear",
        "carb"
      ],
      "rows": 32,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_population",
      "title": "Example population dataset A simulated population dataset with 400 rows covering 50 years and 8 age groups. Designed for line, area, and stacked bar plot examples.",
      "object": "example_population",
      "class": [
        "data.frame"
      ],
      "fields": [
        "year",
        "age_group",
        "count",
        "record_id"
      ],
      "rows": 400,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_roles",
      "title": "Example roles dataset for ternary plots",
      "object": "example_roles",
      "class": [
        "data.frame"
      ],
      "fields": [
        "journalist",
        "developer",
        "designer",
        "label",
        "team"
      ],
      "rows": 11,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_sales",
      "title": "Example sales dataset",
      "object": "example_sales",
      "class": [
        "data.frame"
      ],
      "fields": [
        "region",
        "revenue",
        "year",
        "month",
        "units",
        "sale_id",
        "product_line"
      ],
      "rows": 720,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_school_earnings",
      "title": "Example school earnings dataset for dumbbell plots",
      "object": "example_school_earnings",
      "class": [
        "data.frame"
      ],
      "fields": [
        "School",
        "Women",
        "Men",
        "Group"
      ],
      "rows": 6,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_skills",
      "title": "Example multi-player skills dataset for radar plots",
      "object": "example_skills",
      "class": [
        "data.frame"
      ],
      "fields": [
        "category",
        "value",
        "player"
      ],
      "rows": 15,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "adjust_column_values",
      "title": "Adjust numeric column values in a data frame using mathematical transformations",
      "topics": [
        "adjust_column_values"
      ]
    },
    {
      "page": "createModuleApp",
      "title": "Create an Example Module App from Any Module Trio",
      "topics": [
        "createModuleApp"
      ]
    },
    {
      "page": "dataFilterServer",
      "title": "Server logic for the dataFilter module",
      "topics": [
        "dataFilterServer"
      ]
    },
    {
      "page": "dataFilterUI",
      "title": "UI component for the dataFilter module",
      "topics": [
        "dataFilterUI"
      ]
    },
    {
      "page": "default_palettes",
      "title": "Color palette options for palettePicker",
      "topics": [
        "default_palettes"
      ]
    },
    {
      "page": "dittoViz_scatterPlotApp",
      "title": "Create an example Modular scatterPlot Shiny Application",
      "topics": [
        "dittoViz_scatterPlotApp"
      ]
    },
    {
      "page": "dittoViz_scatterPlotInputsUI",
      "title": "Input UI components for the scatterPlot module",
      "topics": [
        "dittoViz_scatterPlotInputsUI"
      ]
    },
    {
      "page": "dittoViz_scatterPlotOutputUI",
      "title": "Output UI components for the scatterPlot module",
      "topics": [
        "dittoViz_scatterPlotOutputUI"
      ]
    },
    {
      "page": "dittoViz_scatterPlotServer",
      "title": "Server logic for scatterPlot module",
      "topics": [
        "dittoViz_scatterPlotServer"
      ]
    },
    {
      "page": "dittoViz_yPlotApp",
      "title": "Create an example Modular yPlot Shiny Application",
      "topics": [
        "dittoViz_yPlotApp"
      ]
    },
    {
      "page": "dittoViz_yPlotInputsUI",
      "title": "Input UI components for the yPlot module",
      "topics": [
        "dittoViz_yPlotInputsUI"
      ]
    },
    {
      "page": "dittoViz_yPlotOutputUI",
      "title": "Output UI components for the yPlot module",
      "topics": [
        "dittoViz_yPlotOutputUI"
      ]
    },
    {
      "page": "dittoViz_yPlotServer",
      "title": "Server logic for yPlot module",
      "topics": [
        "dittoViz_yPlotServer"
      ]
    },
    {
      "page": "dumbbellPlot",
      "title": "Create an Interactive Dumbbell Plot with plotly",
      "topics": [
        "dumbbellPlot"
      ]
    },
    {
      "page": "dumbbellPlotApp",
      "title": "Create a Shiny App for Dumbbell Plots",
      "topics": [
        "dumbbellPlotApp"
      ]
    },
    {
      "page": "dumbbellPlotInputsUI",
      "title": "Input UI components for the dumbbellPlot module",
      "topics": [
        "dumbbellPlotInputsUI"
      ]
    },
    {
      "page": "dumbbellPlotOutputUI",
      "title": "Output UI components for the dumbbellPlot module",
      "topics": [
        "dumbbellPlotOutputUI"
      ]
    },
    {
      "page": "dumbbellPlotServer",
      "title": "Server logic for dumbbellPlot module",
      "topics": [
        "dumbbellPlotServer"
      ]
    },
    {
      "page": "example_bar",
      "title": "Bar dataset for bar and split bar plot examples",
      "topics": [
        "example_bar"
      ]
    },
    {
      "page": "example_demographics",
      "title": "Example demographics dataset",
      "topics": [
        "example_demographics"
      ]
    },
    {
      "page": "example_iris",
      "title": "Example grouped iris dataset",
      "topics": [
        "example_iris"
      ]
    },
    {
      "page": "example_mtcars",
      "title": "Example mtcars dataset with factors",
      "topics": [
        "example_mtcars"
      ]
    },
    {
      "page": "example_population",
      "title": "Example population dataset A simulated population dataset with 400 rows covering 50 years and 8 age groups. Designed for line, area, and stacked bar plot examples.",
      "topics": [
        "example_population"
      ]
    },
    {
      "page": "example_roles",
      "title": "Example roles dataset for ternary plots",
      "topics": [
        "example_roles"
      ]
    },
    {
      "page": "example_sales",
      "title": "Example sales dataset",
      "topics": [
        "example_sales"
      ]
    },
    {
      "page": "example_school_earnings",
      "title": "Example school earnings dataset for dumbbell plots",
      "topics": [
        "example_school_earnings"
      ]
    },
    {
      "page": "example_skills",
      "title": "Example multi-player skills dataset for radar plots",
      "topics": [
        "example_skills"
      ]
    },
    {
      "page": "get_documentation",
      "title": "Extract parameter documentation from an R function help page",
      "topics": [
        "get_documentation"
      ]
    },
    {
      "page": "is_pure_type",
      "title": "Check if column inputs contain mixed data types",
      "topics": [
        "is_pure_type"
      ]
    },
    {
      "page": "linePlot",
      "title": "Create an Interactive Line Plot with plotly",
      "topics": [
        "linePlot"
      ]
    },
    {
      "page": "linePlotApp",
      "title": "Create an example Modular linePlot Shiny Application",
      "topics": [
        "linePlotApp"
      ]
    },
    {
      "page": "linePlotInputsUI",
      "title": "Input UI components for the linePlot module",
      "topics": [
        "linePlotInputsUI"
      ]
    },
    {
      "page": "linePlotOutputUI",
      "title": "Output UI components for the linePlot module",
      "topics": [
        "linePlotOutputUI"
      ]
    },
    {
      "page": "linePlotServer",
      "title": "Server logic for linePlot module",
      "topics": [
        "linePlotServer"
      ]
    },
    {
      "page": "module_tack_ui",
      "title": "Create standard tack UI for module inputs",
      "topics": [
        "module_tack_ui"
      ]
    },
    {
      "page": "multiColorPicker",
      "title": "Compact multi-group color picker input",
      "topics": [
        "multiColorPicker"
      ]
    },
    {
      "page": "organize_inputs",
      "title": "Organize arbitrary Shiny inputs into a grid layout",
      "topics": [
        "organize_inputs"
      ]
    },
    {
      "page": "parallelCoordinatesPlot",
      "title": "Create an Interactive Parallel Coordinates Plot with plotly",
      "topics": [
        "parallelCoordinatesPlot"
      ]
    },
    {
      "page": "parallelCoordinatesPlotApp",
      "title": "Create an example Modular parallelCoordinatesPlot Shiny Application",
      "topics": [
        "parallelCoordinatesPlotApp"
      ]
    },
    {
      "page": "parallelCoordinatesPlotInputsUI",
      "title": "Input UI components for the parallelCoordinatesPlot module",
      "topics": [
        "parallelCoordinatesPlotInputsUI"
      ]
    },
    {
      "page": "parallelCoordinatesPlotOutputUI",
      "title": "Output UI components for the parallelCoordinatesPlot module",
      "topics": [
        "parallelCoordinatesPlotOutputUI"
      ]
    },
    {
      "page": "parallelCoordinatesPlotServer",
      "title": "Server logic for parallelCoordinatesPlot module",
      "topics": [
        "parallelCoordinatesPlotServer"
      ]
    },
    {
      "page": "piePlot",
      "title": "Create a plotly pie chart",
      "topics": [
        "piePlot"
      ]
    },
    {
      "page": "piePlotApp",
      "title": "Create an example Modular piePlot Shiny Application",
      "topics": [
        "piePlotApp"
      ]
    },
    {
      "page": "piePlotInputsUI",
      "title": "Input UI components for the piePlot module",
      "topics": [
        "piePlotInputsUI"
      ]
    },
    {
      "page": "piePlotOutputUI",
      "title": "Output UI components for the piePlot module",
      "topics": [
        "piePlotOutputUI"
      ]
    },
    {
      "page": "piePlotServer",
      "title": "Server logic for piePlot module",
      "topics": [
        "piePlotServer"
      ]
    },
    {
      "page": "plotthis_AreaPlotApp",
      "title": "Create an example Modular AreaPlot Shiny Application",
      "topics": [
        "plotthis_AreaPlotApp"
      ]
    },
    {
      "page": "plotthis_AreaPlotInputsUI",
      "title": "Input UI components for the AreaPlot module",
      "topics": [
        "plotthis_AreaPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_AreaPlotOutputUI",
      "title": "Output UI components for the AreaPlot module",
      "topics": [
        "plotthis_AreaPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_AreaPlotServer",
      "title": "Server logic for AreaPlot module",
      "topics": [
        "plotthis_AreaPlotServer"
      ]
    },
    {
      "page": "plotthis_BarPlotApp",
      "title": "Create an example Modular BarPlot Shiny Application",
      "topics": [
        "plotthis_BarPlotApp"
      ]
    },
    {
      "page": "plotthis_BarPlotInputsUI",
      "title": "Input UI components for the BarPlot module",
      "topics": [
        "plotthis_BarPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_BarPlotOutputUI",
      "title": "Output UI components for the BarPlot module",
      "topics": [
        "plotthis_BarPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_BarPlotServer",
      "title": "Server logic for BarPlot module",
      "topics": [
        "plotthis_BarPlotServer"
      ]
    },
    {
      "page": "plotthis_BoxPlotApp",
      "title": "Create an example Modular BoxPlot Shiny Application",
      "topics": [
        "plotthis_BoxPlotApp"
      ]
    },
    {
      "page": "plotthis_BoxPlotInputsUI",
      "title": "Input UI components for the BoxPlot module",
      "topics": [
        "plotthis_BoxPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_BoxPlotOutputUI",
      "title": "Output UI components for the BoxPlot module",
      "topics": [
        "plotthis_BoxPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_BoxPlotServer",
      "title": "Server logic for BoxPlot module",
      "topics": [
        "plotthis_BoxPlotServer"
      ]
    },
    {
      "page": "plotthis_DensityPlotApp",
      "title": "Create an example Modular DensityPlot Shiny Application",
      "topics": [
        "plotthis_DensityPlotApp"
      ]
    },
    {
      "page": "plotthis_DensityPlotInputsUI",
      "title": "Input UI components for the DensityPlot module",
      "topics": [
        "plotthis_DensityPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_DensityPlotOutputUI",
      "title": "Output UI components for the DensityPlot module",
      "topics": [
        "plotthis_DensityPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_DensityPlotServer",
      "title": "Density Plot Server Module",
      "topics": [
        "plotthis_DensityPlotServer"
      ]
    },
    {
      "page": "plotthis_HistogramApp",
      "title": "Create an example Modular Histogram Shiny Application",
      "topics": [
        "plotthis_HistogramApp"
      ]
    },
    {
      "page": "plotthis_HistogramInputsUI",
      "title": "Input UI components for the Histogram module",
      "topics": [
        "plotthis_HistogramInputsUI"
      ]
    },
    {
      "page": "plotthis_HistogramOutputUI",
      "title": "Output UI components for the histogramPlot module",
      "topics": [
        "plotthis_HistogramOutputUI"
      ]
    },
    {
      "page": "plotthis_HistogramServer",
      "title": "Histogram Plot Server Module",
      "topics": [
        "plotthis_HistogramServer"
      ]
    },
    {
      "page": "plotthis_SplitBarPlotApp",
      "title": "Create an example Modular SplitBarPlot Shiny Application",
      "topics": [
        "plotthis_SplitBarPlotApp"
      ]
    },
    {
      "page": "plotthis_SplitBarPlotInputsUI",
      "title": "Input UI components for the SplitBarPlot module",
      "topics": [
        "plotthis_SplitBarPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_SplitBarPlotOutputUI",
      "title": "Output UI components for the SplitBarPlot module",
      "topics": [
        "plotthis_SplitBarPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_SplitBarPlotServer",
      "title": "Server logic for SplitBarPlot module",
      "topics": [
        "plotthis_SplitBarPlotServer"
      ]
    },
    {
      "page": "plotthis_ViolinPlotApp",
      "title": "Create an example Modular ViolinPlot Shiny Application",
      "topics": [
        "plotthis_ViolinPlotApp"
      ]
    },
    {
      "page": "plotthis_ViolinPlotInputsUI",
      "title": "Input UI components for the ViolinPlot module",
      "topics": [
        "plotthis_ViolinPlotInputsUI"
      ]
    },
    {
      "page": "plotthis_ViolinPlotOutputUI",
      "title": "Output UI components for the ViolinPlot module",
      "topics": [
        "plotthis_ViolinPlotOutputUI"
      ]
    },
    {
      "page": "plotthis_ViolinPlotServer",
      "title": "Server logic for ViolinPlot module",
      "topics": [
        "plotthis_ViolinPlotServer"
      ]
    },
    {
      "page": "radarPlot",
      "title": "Create a plotly radar chart",
      "topics": [
        "radarPlot"
      ]
    },
    {
      "page": "radarPlotApp",
      "title": "Create an example Modular radarPlot Shiny Application",
      "topics": [
        "radarPlotApp"
      ]
    },
    {
      "page": "radarPlotInputsUI",
      "title": "Input UI components for the radarPlot module",
      "topics": [
        "radarPlotInputsUI"
      ]
    },
    {
      "page": "radarPlotOutputUI",
      "title": "Output UI components for the radarPlot module",
      "topics": [
        "radarPlotOutputUI"
      ]
    },
    {
      "page": "radarPlotServer",
      "title": "Server logic for radarPlot module",
      "topics": [
        "radarPlotServer"
      ]
    },
    {
      "page": "resolve_palette",
      "title": "Resolve a color palette for plot groups",
      "topics": [
        "resolve_palette"
      ]
    },
    {
      "page": "safe_eval_filter",
      "title": "Safely evaluate a user-provided filter expression against a data frame",
      "topics": [
        "safe_eval_filter"
      ]
    },
    {
      "page": "safe_resolve_adj_fxn",
      "title": "Safely resolve an adjustment function name to an actual function",
      "topics": [
        "safe_resolve_adj_fxn"
      ]
    },
    {
      "page": "setup_auto_update_logic",
      "title": "Set up auto-update/isolate logic for reactive contexts",
      "topics": [
        "setup_auto_update_logic"
      ]
    },
    {
      "page": "ternaryPlot",
      "title": "Create a plotly ternary plot",
      "topics": [
        "ternaryPlot"
      ]
    },
    {
      "page": "ternaryPlotApp",
      "title": "Create an example Modular ternaryPlot Shiny Application",
      "topics": [
        "ternaryPlotApp"
      ]
    },
    {
      "page": "ternaryPlotInputsUI",
      "title": "Input UI components for the ternaryPlot module",
      "topics": [
        "ternaryPlotInputsUI"
      ]
    },
    {
      "page": "ternaryPlotOutputUI",
      "title": "Output UI components for the ternaryPlot module",
      "topics": [
        "ternaryPlotOutputUI"
      ]
    },
    {
      "page": "ternaryPlotServer",
      "title": "Server logic for ternaryPlot module",
      "topics": [
        "ternaryPlotServer"
      ]
    },
    {
      "page": "updateMultiColorPicker",
      "title": "Update a multiColorPicker input on the client",
      "topics": [
        "updateMultiColorPicker"
      ]
    },
    {
      "page": "validate_expression",
      "title": "Validate a user-provided expression string for safety",
      "topics": [
        "validate_expression"
      ]
    }
  ],
  "_readme": "https://github.com/j-andrews7/vizmodules/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "brew",
    "bslib",
    "cachem",
    "callr",
    "cellranger",
    "circlize",
    "cli",
    "colorspace",
    "colourpicker",
    "commonmark",
    "cowplot",
    "cpp11",
    "crayon",
    "crosstalk",
    "curl",
    "data.table",
    "desc",
    "digest",
    "dittoViz",
    "dplyr",
    "DT",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "forcats",
    "fs",
    "generics",
    "ggnewscale",
    "ggplot2",
    "ggrepel",
    "ggridges",
    "GlobalOptions",
    "glue",
    "gridtext",
    "gtable",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "httr",
    "isoband",
    "jpeg",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "later",
    "lattice",
    "lazyeval",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "memoise",
    "mime",
    "miniUI",
    "openssl",
    "otel",
    "patchwork",
    "pillar",
    "pkgbuild",
    "pkgconfig",
    "pkgload",
    "plotly",
    "plotthis",
    "plyr",
    "png",
    "prettyunits",
    "processx",
    "progress",
    "promises",
    "ps",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "readxl",
    "rematch",
    "reshape2",
    "rex",
    "rlang",
    "rmarkdown",
    "roclang",
    "roxygen2",
    "rprojroot",
    "S7",
    "sass",
    "scales",
    "shape",
    "shiny",
    "shinyBS",
    "shinyjqui",
    "shinyjs",
    "shinyWidgets",
    "sourcetools",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xml2",
    "xtable",
    "yaml",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "adding-a-new-module.Rmd",
      "filename": "adding-a-new-module.html",
      "title": "Adding a New Module",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Quick Checklist",
        "Naming & Organization",
        "Documentation Standards",
        "1. @section Plot parameters not implemented or with altered functionality:",
        "2. @section Plot parameters and defaults:",
        "3. @section Plot parameters implementing new functionality:",
        "Functionality & Non-Exposed Inputs",
        "Example App Requirement",
        "Testing Requirements",
        "Implementing a New Plotting Function (e.g., piePlot)",
        "Integrating Statistical Testing (Stats Tab)",
        "UI",
        "Server",
        "Key helpers (all in R/stat_helper.R)",
        "Gallery App",
        "Review Before Submitting",
        "Style Guide",
        "Input Labels",
        "Tooltips with tipify",
        "Reuse Uniform Input Helpers",
        "Imports: @importFrom Over ::",
        "Additional Conventions",
        "Sanitizing User-Provided Expressions",
        "safe_eval_filter(expr_text, data)",
        "validate_expression(expr_text, col_names)",
        "safe_resolve_adj_fxn(fn_name)",
        "What counts as \"allowed\"?"
      ],
      "created": "2026-01-16 21:14:14",
      "modified": "2026-03-27 20:45:22",
      "commits": 7
    },
    {
      "source": "custom-modules.Rmd",
      "filename": "custom-modules.html",
      "title": "Building Custom Modules",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The Pattern",
        "A Minimal Example",
        "The UI",
        "The Server",
        "Putting It Together",
        "Hiding Base Module Inputs",
        "Best Practices",
        "See Also"
      ],
      "created": "2025-12-30 15:44:36",
      "modified": "2026-03-24 19:50:05",
      "commits": 4
    },
    {
      "source": "quick-start.Rmd",
      "filename": "quick-start.html",
      "title": "Quick Start with VizModules",
      "engine": "knitr::rmarkdown",
      "headings": [
        "See the modules",
        "Drop a module into your app",
        "Set defaults and hide controls",
        "App factory with createModuleApp()",
        "Which plot parameters are exposed?"
      ],
      "created": "2026-01-16 22:40:34",
      "modified": "2026-03-26 22:06:13",
      "commits": 5
    }
  ],
  "_score": 6.621384028481653,
  "_indexed": true,
  "_nocasepkg": "vizmodules",
  "_universes": [
    "j-andrews7"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-17T09:30:06.000Z",
      "distro": "noble",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "d9b0ecc238081d69a1827dc8b9061f438e543d2d89168bd8f1ab95328d710467",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-17T09:29:49.000Z",
      "distro": "noble",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "e7e30142dfd485cf447fb4c18fb3b074aae105925158cdf7e74b1b5cfc092c49",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-17T09:30:28.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "cf96055f41a543b6f080b57c1fdc2c7325bdef0f2a831e4069bf6f65beec1cfd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-17T09:29:19.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "c794292cff80fae9982c524c8b0385b4fabd283098a282ac3f698377780f70b1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-17T09:29:23.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "6b1ac344b9b8dac536ccdf242662a40184450f8684c93522fc1cb6ff3a7c922b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-17T09:29:41.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "91483d99311439d896c403b0b79e519593bc4086bd10be5d856691c3355979d5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-17T09:29:09.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "458185bf95b06bd671a18734dcc4316317754d428d22330b17baf78b96a80e5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-06-02T17:01:52.000Z",
      "commit": "e42495bb22962022e8ed73a3f0c966f1fae1ad5a",
      "fileid": "6d225b942553da632f7ee9bd8f45afd7f5ce8580502108f5b832300a5f605751",
      "status": "success",
      "buildurl": "https://github.com/r-universe/j-andrews7/actions/runs/25987004023"
    }
  ]
}