# data-testid values used by the shared frontend code that are NOT listed in API.md section 5.
# One name per line. Lines starting with "#" are comments. tests/web/test_static_policy.py
# fails when a template or script uses a test id found in neither API.md section 5 nor here.
# Add a name here (with a comment saying where it is used) instead of renaming an API.md one.

# core/dialog.js: default test ids of confirmDialog (callers can pass their own, e.g. delete-confirm)
confirm-dialog
confirm-dialog-confirm
confirm-dialog-cancel

# core/states.js: shared empty / error / loading blocks
state-empty
state-error
state-retry
state-loading

# w3-lvc (library, viewer, compare pages)
# js/library/bundle.js: import flow dialogs and the confirm button
import-dialog
import-confirm
import-report
# js/library/controller.js: the delete confirmation dialog (its confirm button is delete-confirm)
delete-dialog
# js/library/selection-bar.js: the bar that appears while graphs are picked
selection-bar
selection-clear
# js/library/toolbar.js, view.js: reset of the filters, result summary line, empty search result
library-clear-filters
library-count
library-no-results
# js/viewer/controller.js: the graph was deleted after the page opened
viewer-missing
# js/viewer/export.js: colour theme of exported files (light or dark)
export-theme
# js/viewer/links-table.js: the details block with the links as a table
links-table
# js/viewer/charts.js: the details block with the category table (the donut as numbers)
category-details
# js/compare/card.js, toolbar.js: remove a graph, add a graph, shared category colour note
compare-remove
compare-add
compare-add-select
compare-shared-colours

# w3-settings (settings page; js/settings/*.js)
# appearance.js: the three theme cards of the page (the header owns theme-switch)
settings-theme-option
# storage.js: the Database field of the MongoDB storage target, the graphs folder of the file store and the result line of "Test storage"
settings-storage-database
settings-storage-folder
settings-storage-status
# connection-row.js: the result line of "Test connection" (its latency is connection-latency)
connection-status
# environment.js: the read-only facts of "This server"
settings-remote-mode
settings-writes-allowed
# report.js: the report shown after "copy existing graphs" and the list of unreadable graph ids
settings-copy-report
settings-copy-unreadable
# save.js: "Save mine anyway" in the dialog that says the settings were changed elsewhere
settings-conflict-overwrite
# savebar.js: the state sentence and the "Discard changes" button of the save bar
settings-save-status
settings-discard

# w3-edit-b (editor output panels; js/editor/entries, export, savebar)
# entries/bulk.js: the category input of "Categorise all entries matching this filter"
categorise-category
# entries/panel.js: the notice about categorised entries the donut basis leaves out
entries-basis-hint
# export/panel.js: which chart the HTML, JSON and CSV buttons describe
export-data-chart
# savebar/panel.js: the status line (data-state new|dirty|saved|saving|error|readonly)
save-status

# w3-edit-a (editor input panels; js/editor/meta, source, transform, style, pages/editor.js)
# source/panel.js, transform/panel.js, style/panel.js: the section header buttons (transform and style start collapsed)
section-source
section-transform
section-style
# source/mapping.js: the "first row is a header" checkbox
source-has-header
# source/tab-mongo.js: the empty state shown while no MongoDB connection is configured
mongo-no-connections
# transform/panel.js: the strict-reading checkbox; transform/editors.js: the category rules table
transform-strict
transform-rules
# pages/editor.js: the link to the viewer, shown once the graph is saved
view-graph

# w3b (final QA): no id was added in wave 3b. templates/error.html (the HTML not-found page) reuses
# state-empty; the settings "On this page" list (settings/toc.js) and the upload "Choose a file" button
# are found by class / role (nav.settings-toc, label.btn in .ed-dropzone-pick), not by test id.
# js/editor/chart/summary.js: colour picker laid over a category swatch
category-colour
# js/editor/style/fields.js: One colour picker and its reset button
style-mono-color
style-mono-reset
# js/viewer/display-menu.js: the display menu of the chart card
display-menu-button
display-menu-panel
display-node-values
display-donut-percent
display-donut-value
# js/viewer/export-menu.js: the settings gear of the chart card and its export popover
export-menu-button
export-menu-panel
# js/editor/source/tab-paste.js: the Clear icon inside the paste box
source-clear
# js/editor/chart-settings.js: the gear in the chart header and its Style/Export popover
chart-settings-button
chart-settings-panel
chart-settings-close
chart-settings-tab-style
chart-settings-tab-export
# js/core/menu.js + editor/title-menu.js: the graph settings gear and its menu
graph-settings-button
graph-settings-menu
graph-settings-details
graph-settings-source
# js/editor/details/dialog.js: the graph details dialog
details-dialog
details-done
# js/editor/source/change-dialog.js: the change data source dialog
change-source-dialog
change-source-apply
change-source-keep
# js/core/dialog.js: the optional X button
dialog-close
# js/editor/edits/consent.js: the "Change your data too?" dialog
write-back-dialog
write-back-accept
write-back-decline
write-back-never
write-back-cancel
# js/editor/source/write-back-field.js: the write-back status of a file or collection source
source-write-back
# editor/wizard/index.js: new-graph wizard
new-wizard
wizard-step-details
wizard-step-source
wizard-next
wizard-back
wizard-create
wizard-later
wizard-cancel
# editor/entries/add-dialog.js, add-form.js: add an entry from the Entries card (F7)
entries-add
add-entry-dialog
add-entry-source
add-entry-target
add-entry-value
add-entry-category
add-entry-error
add-entry-submit
add-entry-cancel
# editor/entries/stale-overrides.js, overlay-list.js: category edits that match nothing; the graph-only edits list
entries-unmatched
entries-overlays
overlays-dialog
overlay-remove
# js/library/{breadcrumb,folder-cards,folder-dialogs,folders,card,selection-bar,view}.js: library collections (folders in code)
folder-breadcrumb
folder-crumb
folder-new
folder-new-graph
folder-grid
folder-card
folder-open
folder-rename
folder-move
folder-delete
folder-dialog
folder-name-input
folder-name-error
folder-name-confirm
move-dialog
move-option
move-confirm
folder-delete-dialog
folder-delete-confirm
graph-move
selection-move
graph-folder
library-folder-empty
library-folder-missing
library-scope-note
# editor/chart/order-reset.js, order-dialog.js: reset the stored node order and the keyboard twin of dragging a node
chart-reset-order
chart-order-open
order-dialog
order-up
order-down
# editor/entries/add-form.js: F2 direction choice of the Add a flow dialog (click a node)
add-entry-direction
add-entry-from-node
add-entry-to-node
