Repository navigation
Release v4.16.0
Command dialogs can now ask for confirmation before they execute, Chat shows loading and failure states, and FilterPanel works from the keyboard and with screen readers.
Added
confirmBeforeExecuteonCommandDialog,StepperCommandDialog, andCommandStepperasks a question after validation andonBeforeExecute, and before the command runs. Onlytrueexecutes. Any other answer leaves the dialog or stepper open without running the command. If the command values change while the question is open, the command is not executed and you confirm again. Stepper fields are disabled until the confirmed submission settles. Without the prop, command execution is unchanged. TheConfirmBeforeExecutetype is exported. (#317)ChatSidebaracceptstopicsStatusandmessagesStatus(the newChatStatusenum), andChatSidebarForObservableQueriessets them from its queries. The topic list and conversation show loading, failure, and unauthorized text from newlabelskeys, and never show server exception text. A failure keeps what is already shown and adds an alert above it. Unauthorized replaces the content and disables the composer and the New topic button. (#327)PivotViewerlabelsmakes the toolbar text, the item count, and the filter panel's name and search placeholder localizable. The defaults are unchanged.loadingLabelstill takes precedence overlabels.loading. (#334)PivotViewerlabels.searchGroupnames the search box of each option group in the filter panel. It receives the group's label and defaults toSearch <group>, so each group search now has its own accessible name. (#334)- FilterPanel
aria-labelandsearchAriaLabel,FilterDefinitionsearchAriaLabelandautoFocus, andCheckboxListFiltersearchAriaLabelandautoFocusSearch. (#328, #244) - A
DatePickerInputreference page, and Common and Dialogs landing pages that help you choose a control. (#260)
Changed
Tooltipcontentaccepts any React node, and0now shows.undefined,null, booleans, and an empty string still disable the tooltip. Keep tooltip content non-interactive. Renderer adapters that implementcommon.tooltipreceive nodes and must render them as they are; the Conformance profile now checks this. (#230)- FilterPanel is now a named, non-modal dialog. Opening it moves focus into the panel, and Escape closes it and returns focus to the element that opened it. It now renders as a
divwithrole="dialog"instead of an<aside>, so it is no longer a complementary landmark:getByRole('complementary')no longer finds it, and CSS or tests that target theasideelement must use.pv-filter-dropdownorgetByRole('dialog', { name })instead. This also applies to the filter panel insidePivotViewer. (#328) - Loading and failure rows in query tables now remount on each state change, so screen readers announce the change. (#327)
- Conformance merges a part variant's own
ptattributes with the profile's pass-through markers instead of replacing them.
Fixed
- A read-only or disabled
DatePickerInputcan no longer change its value through the Today and Clear actions, and a read-only picker no longer opens its calendar withAlt+ArrowDown. DataTableForQuery,DataTableForObservableQueryandDataPageshow their loading state, not the empty state, while an Arc query result says it is not ready yet (isReady: false). Results that do not report readiness behave as before.
Closes #317, closes #327, closes #230, closes #244, closes #260, closes #334. Refs #328 (toolbar arrow-key navigation remains) and #349.