Skip to contents

Setup and page

Once per app: theme, styles, header, versions.

kit_page()
A KIT page: theme, styles, and header set up in one call
kit_theme()
KIT's bslib theme
use_kit()
KIT styles and browser-side scripts (an htmltools dependency)
kit_header()
KIT header
kit_app_meta()
The version line in the header, e.g. "kitJoin v0.6.0 · 2026-10-31"
kit_app_description()
Read the app's version and date (Version and Date in DESCRIPTION)
kit_versions()
Versions: kitDesign and the app's own
kit_logo_uri()
KIT logo (data URI)
kit_logo_file()
URL of a logo file (for use on the page)
kit_logo_dependency()
htmlDependency for the logo files (inst/logo/): the header SVG and tab icon are fetched by URL
kit_colors()
KIT brand color constants (for custom CSS or charts)
kit_new_app()
Start a new KIT Shiny app
kit_gallery()
Component gallery app

Brand

Switch to another project’s logo and colors.

kit_brand()
Brand: logo and colors
kit_current_brand()
The current brand: options(kitDesign.brand = ), KIT when not set

Step tabs (NavTabs)

kit_step_tabs_ui() kit_step_tabs_server()
Step tabs module
kit_navgroups()
Grouped tab bar (unnumbered; the kitJoin style)
kit_navgroup()
One group in the tab bar (for kit_navgroups())
kit_flow_tabs()
Ordered workflow tabs (the kitsUI style)
kit_tab_states()
State of each tab
kit_watch_tab_states()
Send tab states to the browser whenever they change
kit_send_tab_states()
Send tab states to the browser

Scope bar (ScopeBar)

One choice shared by the whole app (for example which item bank), right under the tab bar.

kit_scope_bar()
Scope bar: an app-wide choice under the tab bar

Page guide (PageGuide)

kit_tab_guide()
Page guide: what this page does
kit_steps()
Numbered list of steps (for the steps of kit_tab_guide())

Status box (StatusBox)

kit_status() as.tags(<kit_status>) format(<kit_status>) print(<kit_status>)
Status object (status box)
kit_done_status()
Status after a run: 【完成,但請注意】 (done, but take note) when something needs attention, otherwise 【完成】 (done)
kit_error_status()
Status for a failed run (【停下來】, stopped)
kit_stale_status()
Old result no longer valid after files or settings change (【要重新執行】, "Run again")
kit_status_ui()
Status box
kit_notify()
Show a notification (Shiny's showNotification)
kit_abort()
An error meant for the user
kit_is_user_error()
Was the error thrown by kit_abort()?

Button

kit_button()
Button
kit_btn_class()
Class for a button kind

Download button (DownloadButton)

kit_download_button()
Download button
kit_test_download()
Press a download button in tests

File helpers

Encoding, SPSS variable names, compressed file paths, opening the browser.

kit_fix_utf8_chr() kit_fix_utf8_df() kit_is_valid_utf8_df() kit_sav_safe_names() kit_truncate_bytes() kit_gz_path() kit_open_browser()
File helpers: encoding, SPSS variable names, compressed file paths, opening the browser

Callout

kit_callout()
Callout
kit_cloud_banner()
Cloud version reminder banner (one line below the header)
kit_cloud_footer()
Cloud version usage notes (bottom of the page, small gray text)
kit_is_cloud()
Is this the cloud version?

Data table (DataTable)

kit_static_table()
Small table (put directly inside renderUI(); no separate output needed)
kit_dt()
Interactive table (DT) with the KIT look
kit_preview_table()
Data for a preview table (pass to shiny::renderTable())
kit_rows_note()
Note for a long table: "共 3,418 列 × 25 欄,以下前 10 列、前 20 欄。" ("3,418 rows × 25 columns in total; first 10 rows and 20 columns below.")
kit_table_scroll()
Put wide tables in here: they scroll sideways in their own box and do not break the layout
kit_num()
Integer with thousands separators
kit_dims()
Dimension text: "5 列 × 7 欄" ("5 rows × 7 columns")

Chart

kit_plotly_style()
Give a plotly chart the KIT look (chart)
kit_plotly_fonts()
Attach the app's typeface to a plotly chart (for downloaded HTML)
kit_chart_colors()
Categorical chart colors
kit_chart_neutral()
Neutral color for non-categorical chart elements
kit_chart_sequential()
Color scale for continuous values (chart)

Details row (Details)

kit_details_row()
Details row
kit_detail()
One detail: collapsed by default, a one-line small-print title
kit_advanced()
Advanced settings: collapsed by default
kit_settings_line()
Settings summary: a line of small text above the primary button or the result

How to do it in R (CodePanel)

kit_code_panel_ui() kit_code_panel_server()
"How to do it in R" module (code panel)
kit_code() as.tags(<kit_code>) format(<kit_code>) print(<kit_code>)
Code for one version (code panel)
kit_code_wrap()
Wrap code to at most 70 columns per line
kit_code_cols()
Display width of each line (CJK and full-width characters count as 2 columns)
kit_code_panel()
Placeholder for "How to do it in R" (code panel)
kit_render_code_panel()
Server side: render code into kit_code_panel()
kit_code_blocks()
Content of "How to do it in R": a note plus code in one or more versions (with "Copy")

Step card (StepCard)

kit_stepcards_ui() kit_stepcards_server()
Step card module
kit_step_card()
Step card
kit_step_head()
Step card header
kit_step_body()
Step card content

Checklist

What’s still needed (ReadyLine)

kit_run_gate_ui() kit_run_gate_server()
Primary button + "Still needed: …" module (ready line)
kit_ready_line()
Ready line ("what's still needed")
kit_run_gate()
When the primary button cannot be pressed yet: disable it and show what is still needed above it
kit_need_files()
"還差" ("Still needed"): the sentence shown when there are not enough files

Next step (NextStep)

kit_next_step()
Next step
kit_app_link()
A link to another website or app (opens in a new tab)

Diagram

kit_diagram()
Diagram: small table before → small table after, with a plain-language line below
kit_dg_table()
Small table for diagrams (2–3 columns, 2–4 rows)

Run tab (RunTab)

The skeleton of a tab with one primary button: page order and status flow.

Modules

Stateful components: *_ui(id) + *_server(id), one line per page.

kit_step_tabs_ui() kit_step_tabs_server()
Step tabs module
kit_stepcards_ui() kit_stepcards_server()
Step card module
kit_run_gate_ui() kit_run_gate_server()
Primary button + "Still needed: …" module (ready line)
kit_code_panel_ui() kit_code_panel_server()
"How to do it in R" module (code panel)

Page behavior

Scroll to the result, open collapsed sections, warn before leaving.

kit_scroll_to()
After running, scroll the status box to the top of the screen
kit_open_details()
Open a collapsible section (for example, open the advanced settings after applying a preset)
kit_unload_guard()
Reminder before leaving the page