@epam/ai-dial-ui-kit 0.16.0-dev.61 → 0.16.0-dev.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/CHANGELOG.md +8 -0
- package/dist/{DateCellRenderer-BFcpoREG.cjs → DateCellRenderer-6jyIN-OC.cjs} +1 -1
- package/dist/components/New/Calendar/Calendar.js +245 -228
- package/dist/components/New/ErrorBoundary/ErrorBoundary.js +67 -0
- package/dist/components/New/LoginScreen/LoginScreen.js +98 -0
- package/dist/components/Spinner/Spinner.js +16 -11
- package/dist/components-manifest.json +190 -8
- package/dist/constants/public-class-names.js +2 -0
- package/dist/dial-ui-kit.cjs +3 -3
- package/dist/dial-ui-kit.js +78 -74
- package/dist/grid.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/src/components/New/Calendar/Calendar.d.ts +32 -1
- package/dist/src/components/New/ErrorBoundary/ErrorBoundary.d.ts +78 -0
- package/dist/src/components/New/LoginScreen/LoginScreen.d.ts +63 -0
- package/dist/src/components/Spinner/Spinner.d.ts +27 -1
- package/dist/src/constants/public-class-names.d.ts +2 -0
- package/dist/src/index.d.ts +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -270,6 +270,7 @@ breaking change and goes through the migration-guide process.
|
|
|
270
270
|
| `skeleton` | `dial-kit-skeleton` | The root of a `Skeleton` |
|
|
271
271
|
| `notification` | `dial-kit-notification` | The `Notification` surface, including every toast and section-message wrapper |
|
|
272
272
|
| `noDataContent` | `dial-kit-no-data-content` | The empty-state root of `NoDataContent` |
|
|
273
|
+
| `loginScreen` | `dial-kit-login-screen` | The `section` root of a `LoginScreen` |
|
|
273
274
|
| `stateScreen` | `dial-kit-state-screen` | The `section` root of a `StateScreen` |
|
|
274
275
|
| `liveRegion` | `dial-kit-live-region` | The always-mounted wrapper of a `LiveRegion`, or of an `announce`d `CaptionText` / `ErrorText` |
|
|
275
276
|
| `transferQueue` | `dial-kit-transfer-queue` | The `role="status"` panel of a `TransferQueue`: header, rows and aggregate bar |
|
|
@@ -386,9 +387,10 @@ target already carries a stable class:
|
|
|
386
387
|
| `MarkdownEditor` | `dial-kit-markdown-editor` |
|
|
387
388
|
| `Grid` | `dial-kit-grid` (exported as `GRID_ROOT_CLASS`) |
|
|
388
389
|
|
|
389
|
-
|
|
390
|
+
Five more contribute no element of their own, and are addressed through what
|
|
390
391
|
they render: `ThemeScope` (a `display: contents` wrapper), `MultiSelectTags`
|
|
391
|
-
(`Tag`s),
|
|
392
|
+
(`Tag`s), `TooltipContainer` / `TooltipTrigger`, and `ErrorBoundary` (its
|
|
393
|
+
`LiveRegion` and fallback `StateScreen`).
|
|
392
394
|
|
|
393
395
|
Two neighbouring elements are reached through props instead, and keep being: a
|
|
394
396
|
`Dropdown`'s floating panel takes `listClassName`, and a `Popup`'s backdrop
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -31,8 +31,16 @@ Versions match the git tags on the `development` branch.
|
|
|
31
31
|
|
|
32
32
|
### Added
|
|
33
33
|
|
|
34
|
+
- **`ErrorBoundary` (2.0)** — DIAL Chat (`react-error-boundary` with its own `ErrorAlert`) and Models Garden (a hand-written class around `StateScreen`) each built their crash screen, and only Models Garden announced the crash. It catches a render error in its subtree and shows a `StateScreen` with a warning badge and a focused `PrimaryButton`; the button calls `onReset` and renders the children again, or reloads the page when there is no `onReset`. `resetKeys` clears the error when a value such as the route path changes, and `onError` reports it. The crash is announced through an assertive `LiveRegion` mounted with the boundary, before the error. All text comes from props. No new public class: it is addressed through `dial-kit-state-screen` and `dial-kit-live-region`. Additive.
|
|
35
|
+
|
|
36
|
+
- **`Spinner` (2.0) — `fullScreen`, `focusRef`** — Quick Apps, the editor and Models Garden each wrapped `Spinner` for their loading screen (`fullWidth` with `h-screen` or `h-dvh`, their own background and layer), and the three drifted apart. `fullScreen` makes the status root a fixed overlay on `bg-layer-base` at the kit's popup layer with the ring centred, so it covers the page and its header wherever it is rendered. `focusRef` makes the ring focusable (`tabIndex={-1}`) and points the ref at it, so a host can move focus to the loading state after a retry removes the focused control; the ring, not the overlay, takes focus, so the outline stays on screen. Both default off. Additive.
|
|
37
|
+
|
|
38
|
+
- **`LoginScreen` (2.0)** — the full-page sign-in screen DIAL Chat and Models Garden each built by hand: themed artwork (`gradient-1` / `gradient-2`) behind a centred card with the product mark, a focusable `h1`, state content (`children`: a spinner, an error with a retry, a notice) and one full-width link button per identity provider, with a decorative logo that is dropped when it fails to load. Edge-to-edge without the card surface on mobile. Fetching providers and building their URLs stay with the application. Stamps `DIAL_KIT_CLASS.loginScreen`. Additive.
|
|
39
|
+
|
|
34
40
|
- **`Calendar`, `MarkdownEditor` (2.0) — `ariaDescribedBy`; `MarkdownEditor` — `invalid`** — a host rendering its own `ErrorText` under these controls had nothing to link it with: `Calendar` took `invalid` but no description, and `MarkdownEditor` took neither, so hosts patched the DOM. `Calendar` sets `aria-describedby` on the focusable control — the masked input in `time` mode, which also gets `aria-invalid`, and the popover trigger otherwise. `MarkdownEditor` sets `aria-describedby` and `aria-invalid` on its textarea, and `invalid` draws the card border in the error colour. Reported from pg-ai-chat. Additive.
|
|
35
41
|
|
|
42
|
+
- **`Calendar` (2.0) — `renderTimeField`, `pickerButtonClassName`** — the `datetime` popover's footer time field could not be swapped for a host's own control, and a host that fitted the `time` field into a denser layout could not reach its clock button. `renderTimeField` (`datetime` mode) replaces the footer's time field with a control of the host's choice, e.g. one that opens its own hour/minute picker; it receives the `"HH:mm"` value, `onChange`, `onBlur`, `disabled`, `invalid`, `ariaLabel` and `timezoneLabel`, and the `Calendar` keeps owning the `Date`. A floating element opened from such a control no longer closes the calendar, because the popover is now registered in a `FloatingTree`. `pickerButtonClassName` (`time` mode) is merged onto the clock button after its defaults, so `size-6 end-1.5` overrides the default `size-8 end-2`, the way `fieldClassName` does for the field. Hosts that set neither prop see no change. Requested from `ai-dial-chat`. Additive.
|
|
43
|
+
|
|
36
44
|
- **`StateScreen` (2.0) — `announce`** — wraps the screen in a `LiveRegion` of the given politeness, for a state that replaces content the user was working in (a load error, a crash), so hosts no longer wrap it in their own `role="alert"` div. Omitted, the screen renders exactly as before. Reported from pg-ai-chat. Additive.
|
|
37
45
|
|
|
38
46
|
- **`Notification` (2.0) — `closeAriaLabel`** — the close button was always named "Close notification", so a localised host could not use `closable`. Defaults to the old text, as `Popup` and `BottomSheet` already do. Reported from pg-ai-chat. Additive.
|