@nxgt/material 3.36.0 → 3.38.0
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/CHANGELOG.md +33 -0
- package/README.md +1 -1
- package/dist/{async-slice-BNI_F0jz.js → async-slice-DqjtOYlO.js} +2 -2
- package/dist/{button-EMWOFSDB.js → button-D52ron-a.js} +3 -2
- package/dist/charts.js +3 -3
- package/dist/{chip-B6m3yagf.js → chip-0XYwSp9o.js} +1 -1
- package/dist/{code-editor-BdiufnpC.js → code-editor-BetIXpJ6.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-v5Rnq425.js → code-language-items-C7prxl_7.js} +2 -2
- package/dist/components/components.css +2 -0
- package/dist/components/ui/collections/server-table/server-table-phone-row.css +189 -0
- package/dist/{components-C0WjV2oy.js → components-NoCZ44Ri.js} +15551 -15316
- package/dist/components.js +24 -24
- package/dist/{dialog-DR9rACzY.js → dialog-BCsT_aLo.js} +1 -1
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-CpSnRXd-.js → dropdown-menu-Crt5QvTr.js} +1 -1
- package/dist/editor.js +908 -909
- package/dist/{empty-state-DMr94lsF.js → empty-state-DFWq2CWB.js} +1 -1
- package/dist/hooks.js +2 -2
- package/dist/{i18n-provider-A4mI4vc1.js → i18n-provider-C0RBM8rH.js} +1 -1
- package/dist/i18n.js +5 -5
- package/dist/{icon-badge-DXEBeS1y.js → icon-badge-XBoBIt_R.js} +1 -1
- package/dist/lib/components/ui/actions/button/button.d.ts +8 -0
- package/dist/lib/components/ui/collections/data-table/data-table-list-slots.d.ts +12 -0
- package/dist/lib/components/ui/collections/data-table/hooks.d.ts +6 -1
- package/dist/lib/components/ui/collections/data-table/internal.d.ts +1 -0
- package/dist/lib/components/ui/collections/data-table/partials/layouts/data-table-list-bar.d.ts +11 -1
- package/dist/lib/components/ui/collections/data-table/select-checkbox.d.ts +9 -1
- package/dist/lib/components/ui/collections/filter/bar/filter-bar-view.d.ts +1 -1
- package/dist/lib/components/ui/collections/filter/facets/filter-facets.d.ts +1 -1
- package/dist/lib/components/ui/collections/filter/facets/partials/filter-facets-footer.d.ts +4 -1
- package/dist/lib/components/ui/collections/filter/facets/partials/filter-facets-panel.d.ts +3 -1
- package/dist/lib/components/ui/collections/filter/filter-presets.d.ts +1 -1
- package/dist/lib/components/ui/collections/filter/internal.d.ts +1 -0
- package/dist/lib/components/ui/collections/filter/query/types.d.ts +13 -0
- package/dist/lib/components/ui/collections/filter/sections/sheet/filter-sheet-footer.d.ts +3 -1
- package/dist/lib/components/ui/collections/filter/sections/sheet/filter-sheet.d.ts +3 -1
- package/dist/lib/components/ui/collections/filter/types-props.d.ts +3 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-band-classes.d.ts +10 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-band.d.ts +13 -2
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-buttons.d.ts +6 -2
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk.d.ts +10 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-phone-row.d.ts +17 -0
- package/dist/lib/components/ui/feedback/confirm-dialog/confirm-dialog.d.ts +7 -1
- package/dist/lib/components/ui/feedback/confirmation-dialog/confirmation-dialog.d.ts +7 -1
- package/dist/lib/components/ui/fields/attributes/attribute-dialog.d.ts +4 -1
- package/dist/lib/components/ui/fields/attributes/attributes-field/attributes-dialog-field.d.ts +4 -1
- package/dist/lib/components/ui/fields/attributes/attributes-field/attributes-inline-field.d.ts +1 -1
- package/dist/lib/components/ui/fields/contacts/contact-dialog.d.ts +4 -1
- package/dist/lib/components/ui/fields/contacts/contacts-dialog-form-field.d.ts +4 -1
- package/dist/lib/components/ui/fields/contacts/contacts-form-field.d.ts +4 -1
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/fields/opening-hours/opening-hours-dialog-form-field.d.ts +4 -1
- package/dist/lib/components/ui/fields/opening-hours/opening-hours-dialog.d.ts +4 -1
- package/dist/lib/components/ui/fields/opening-hours/opening-hours-form-field.d.ts +4 -1
- package/dist/lib/components/ui/fields/postal-address/postal-address-dialog.d.ts +4 -1
- package/dist/lib/components/ui/fields/postal-address/postal-address-form-field.d.ts +4 -1
- package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +2 -2
- package/dist/lib/components/ui/layout/app-shell/activity-layout.d.ts +1 -1
- package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +18 -1
- package/dist/lib/components/ui/layout/app-shell/app-breadcrumb.d.ts +20 -4
- package/dist/lib/components/ui/layout/app-shell/header-context.d.ts +10 -0
- package/dist/lib/components/ui/layout/app-shell/header-title.d.ts +5 -1
- package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +21 -2
- package/dist/lib/components/ui/media/image-cropper/image-cropper.d.ts +4 -1
- package/dist/lib/components/ui/selection/chip-group-field/chip-group-columns.d.ts +3 -0
- package/dist/lib/components/ui/selection/chip-group-field/chip-group-field.d.ts +28 -5
- package/dist/lib/components/ui/selection/chip-group-field/chip-group-field.types.d.ts +17 -0
- package/dist/lib/components/ui/selection/chip-group-field/partials/chip-group-option.d.ts +7 -3
- package/dist/lib/components/ui/selection/chip-group-field/partials/chip-group-sections.d.ts +13 -0
- package/dist/lib/components/ui/selection/choice-group/choice-key-target.d.ts +1 -1
- package/dist/lib/components/ui/selection/choice-group/choice-press.d.ts +2 -0
- package/dist/lib/components/ui/selection/choice-group/use-choice-group-field.d.ts +3 -1
- package/dist/lib/components/ui/selection/choice-group/use-choice-group.d.ts +2 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-events.utils.d.ts +11 -1
- package/dist/lib/components/ui/widgets/rich-text-editor/types.d.ts +3 -0
- package/dist/lib/i18n/resources/en/en.d.ts +1 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +2 -1
- package/dist/lib/i18n/resources/fr/fr.d.ts +1 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +2 -1
- package/dist/lib/i18n/resources/resources.d.ts +2 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +41 -41
- package/dist/map.js +4 -4
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/print.js +2 -2
- package/dist/{public-f9CBkMZP.js → public-CWIpzLzO.js} +6 -6
- package/dist/{rich-code-block-Bwhfhu7J.js → rich-code-block-C4aBv4cA.js} +4 -4
- package/dist/{sortable-provider-BshacF8v.js → sortable-provider-0uBi0zcP.js} +3 -2
- package/dist/{spinner-CKlDba5I.js → spinner-CuxEwO0d.js} +1 -1
- package/dist/{stored-language-CfQGHLq9.js → stored-language-D8aemZhx.js} +4 -2
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle--Zcf5AM8.js → theme-toggle-ik5nV1P5.js} +1 -1
- package/dist/{toolbar-items-B1W-uVHS.js → toolbar-items-C97E5HRa.js} +2 -2
- package/dist/{translate-material-xDh10aWZ.js → translate-material-B84ufMSF.js} +2 -2
- package/dist/{translator-BbOZntEF.js → translator-Bq8UHmvu.js} +1 -1
- package/dist/{use-chat-composer-C5g_Va_g.js → use-chat-composer-DmDcEGp4.js} +2317 -2190
- package/dist/{use-heading-spy-DXYCeegh.js → use-heading-spy-BgG7Q47k.js} +1 -1
- package/dist/{use-material-translation-BK2YYCY3.js → use-material-translation-CiYhVc39.js} +2 -2
- package/docs/components/buttons-and-actions.md +19 -1
- package/docs/components/data-table-filter-and-lists.md +65 -3
- package/docs/components/feedback-and-status.md +3 -1
- package/docs/components/form-fields.md +10 -4
- package/docs/components/media-and-files.md +1 -0
- package/docs/components/navigation-and-layout.md +4 -2
- package/docs/components/primitives.md +1 -1
- package/docs/components/rich-widgets.md +2 -2
- package/docs/components/selection-and-choice.md +67 -3
- package/docs/guides/app-shell.md +91 -2
- package/docs/guides/cards-and-tiles.md +5 -0
- package/docs/guides/i18n.md +1 -1
- package/docs/roadmap.md +5 -1
- package/lib/components/components.css +2 -0
- package/lib/components/ui/collections/server-table/server-table-phone-row.css +189 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @nxgt/material
|
|
2
2
|
|
|
3
|
+
## 3.38.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1761](https://github.com/softistx/nxgt-material/pull/1761) [`da9cb18`](https://github.com/softistx/nxgt-material/commit/da9cb18f2d9a75ae0ced9b168ee73f9106d8acd5) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `AppBreadcrumb`'s `root` (and `ActivityLayout`'s `breadcrumbRoot`) take `icon: true` ([#1746](https://github.com/softistx/nxgt-material/issues/1746)): the trail starts with the house icon alone, linked to `to` and named `label` (a string), which is also its tooltip, shown on hover and on keyboard focus. It keeps the home icon's 44px touch target and focus ring. The text root is unchanged, and the default home icon, still linked to `/` and named by `material.app-shell.home`, now shows that name as a tooltip. `AppBreadcrumbRoot` is now the union of `AppBreadcrumbTextRoot` and `AppBreadcrumbIconRoot`.
|
|
8
|
+
|
|
9
|
+
The home icon's 44px hit area is no longer clipped by the trail's scrolling list on a touch screen.
|
|
10
|
+
|
|
11
|
+
- [#1768](https://github.com/softistx/nxgt-material/pull/1768) [`bc06c9a`](https://github.com/softistx/nxgt-material/commit/bc06c9a288b6cfd4f8186eeeb979f059ecdabd31) Thanks [@SteveGT96](https://github.com/SteveGT96)! - feat(chip-group-field): visible disabled reasons, a `columns` grid and option `groups` ([#1751](https://github.com/softistx/nxgt-material/issues/1751)). A disabled option's `disabledReason` is now printed as a small muted line under its chip, and the chip is tied to it by `aria-describedby` (it stays `aria-disabled` and reachable by arrows); `showDisabledReason={false}` brings back the tooltip-only look. `columns` (`4`, or `{ base, sm, md, lg }`) lays the chips out in equal-width cells with static classes, and Up and Down then move by row. `groups` (`{ label, options }[]`) draws titled sections, each a `role="group"` named by its heading, with one arrow-key sequence across them. `options` becomes optional (give `options` or `groups`). Single and multiple modes, `dir="rtl"`, 44px coarse targets and the server markup are unchanged.
|
|
12
|
+
|
|
13
|
+
- [#1757](https://github.com/softistx/nxgt-material/pull/1757) [`3d1a12c`](https://github.com/softistx/nxgt-material/commit/3d1a12c7363472e37d4d05390a46d6fea1518d01) Thanks [@SteveGT96](https://github.com/SteveGT96)! - feat(activity-layout): a slot after the header title ([#1745](https://github.com/softistx/nxgt-material/issues/1745)) and a context line ([#1747](https://github.com/softistx/nxgt-material/issues/1747)). `handle.titleAfter` on a route (a node, or a function of the match, the deepest declaring route winning, like `handle.title`) and the `titleAfter` prop of `ActivityLayout` (which wins over the handle) render a node right after the page's title in the app bar, such as a record's `Switcher` in link mode. It sits outside the `h1`, a sibling in the same row and centred with it, so the heading's accessible name stays the plain title; on a phone it stays on screen and the title truncates first. `AppShellHandle` gains `titleAfter`. Nothing changes without a slot: the server-rendered markup is the same.
|
|
14
|
+
|
|
15
|
+
`headerContext` ([#1747](https://github.com/softistx/nxgt-material/issues/1747)) renders a small muted line (the tenant's name) after the title and the slot, from `md` up: outside the `h1`, truncated at 14rem with its full text as the tooltip once cut off, hidden on a phone where the menu sheet's `context` carries it; the two props are independent, so nothing is shown twice. The title truncates first. Ignored while the bar has no page title.
|
|
16
|
+
|
|
17
|
+
- [#1728](https://github.com/softistx/nxgt-material/pull/1728) [`7e9b687`](https://github.com/softistx/nxgt-material/commit/7e9b687718eb08f1e5984482854e58af96c8cd69) Thanks [@SteveGT96](https://github.com/SteveGT96)! - feat(server-table): a two-row header on a phone for a list in cards or tiles ([#1719](https://github.com/softistx/nxgt-material/issues/1719)). Below 768px, with `filter`, `actions` and a `cards` or `tiles` list (`layout`, or the phone side of `{ phone, wide }`), the header takes two rows instead of three: the search, then "Select all" at the start (a short visible label, its accessible name still "Select all on this page") and, at the end, the sort menu, "Filters (N)" and the page's `actions`. While rows are selected, that row becomes the selection bar: "N rows selected" and "Clear selection" take the label's place and the `bulkActions` take the place of the sort, "Filters (N)" and the actions (icon buttons on a phone, named "Label n rows" with a tooltip and a count badge, hidden at 0 rows; [#1737](https://github.com/softistx/nxgt-material/issues/1737)), so the header stays at two rows; the footer's polite status still tells the selection. The cards' separate list bar row and the `actions` row above the search are gone in this layout (`bandActions` has no effect there). A button of `actions` with an icon is drawn as the icon alone, its text kept as its accessible name and a tooltip (`title`); the row compacts to the band's width (the sort keeps its icon and arrow, "Filters (N)" its icon and count while rows are selected or on a narrow band) and every control stays a 44px target on a coarse pointer. Visible change on phones: lists that matched this setup now have two header rows and an icon-only primary action; from 768px, the table layout, lists without `filter` or `actions`, and a standalone `DataTable` are unchanged.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [#1772](https://github.com/softistx/nxgt-material/pull/1772) [`fb1bbd3`](https://github.com/softistx/nxgt-material/commit/fb1bbd3d3374217743a87207fd2656e8e23653b7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `EventCalendar` passes axe WCAG 2.2 AA in its own markup ([#1762](https://github.com/softistx/nxgt-material/issues/1762)):
|
|
22
|
+
|
|
23
|
+
- A day's time column is a named group (its date) instead of a `div` with an `aria-label` and no role, and an event's drag wrapper is a group instead of dnd-kit's `button` around the chip's own button (nested interactive). The all-day lane's cells lose their label. The bare resize strip is hidden from assistive technology: it only answered the pointer.
|
|
24
|
+
- The weekend day heads keep the muted colour at 4.5:1 and are told apart by a lighter weight and a tint. The event chip's time ink is mixed 55% with the foreground (was 72%) so it holds 4.5:1 on its tint in dark mode.
|
|
25
|
+
- The day heads are named by what they show, then the date to open (`Mon 26, Open Monday, October 26th, 2026`, a letter on a phone), and the date trigger is named by the period it shows, with `Choose date` as its description. `material.event-calendar.add` is no longer used by the time grid.
|
|
26
|
+
- An event is drawn at least 24px tall (WCAG 2.5.8), and two short events that would then touch share the width instead of overlapping.
|
|
27
|
+
|
|
28
|
+
- [#1765](https://github.com/softistx/nxgt-material/pull/1765) [`6996442`](https://github.com/softistx/nxgt-material/commit/69964428f2fa26801fb417b941ed22d6fd3fa6e2) Thanks [@SteveGT96](https://github.com/SteveGT96)! - fix(server-table): the phone form of the `bulkActions` list shows labels (corrects [#1737](https://github.com/softistx/nxgt-material/issues/1737)). Below 768px, in the selection bar, each action keeps its icon, a short label and its count ("Publish (2)", named "Publish 2 rows") instead of an icon with a badge; the buttons wrap onto a second line when they do not fit, and past the third action the rest go into a "More" menu (`material.server-table.bulk-more`, "Plus" in French) whose items keep their counts. An action at 0 rows stays hidden, menu included. From 768px nothing changes. `IconButton`'s `badge` stays.
|
|
29
|
+
|
|
30
|
+
## 3.37.0
|
|
31
|
+
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- [#1754](https://github.com/softistx/nxgt-material/pull/1754) [`e6662f1`](https://github.com/softistx/nxgt-material/commit/e6662f19cf969b189b3440a9025262ad0926c548) Thanks [@SteveGT96](https://github.com/SteveGT96)! - feat(buttons): the Cancel / Close secondary button the library draws in its footers is `tonal` by default, under a filled Confirm; a text or outlined Cancel read poorly as a button and its hit area was invisible. It covers `AlertDialogCancel` (so `ConfirmDialog` and the delete confirmation of `useDeleteRowsHandler`), `ConfirmationDialog`, the dialogs of `Contacts`, `PostalAddress`, `OpeningHours` and `Attributes`, `ImageCropper`, the `RichTextEditor` Save / Cancel row, the phone filter sheet's "Clear all", the staged facets panel's "Reset", the `FilterPresets` save dialog, the data grid's save bar "Discard" and paste "Dismiss", and the comment composer and editor of `DocumentEditor`. Icon-only close buttons, toolbar buttons and text links are unchanged. **To restore the earlier look**, pass `cancelVariant` (a `Button` `variant`: `'outlined'` or `'ghost'`) on `ConfirmDialog`, `ConfirmationDialog`, `ContactDialog`, `PostalAddressDialog`, `OpeningHoursDialog`, `AttributeDialog` and their `*FormField` / `*DialogField` wrappers, `ImageCropper`, `Filter` (`variant="bar"` and `"facets"`) and `FilterPresets`; `options.cancelVariant` on `RichTextEditor`; `useDeleteRowsHandler(onDelete, { cancelVariant })`; `variant` on `AlertDialogCancel`. The data grid's save bar and paste panel and the comment forms of `DocumentEditor` are tonal with no option (no caller-facing surface); the comment editor's Save is now filled to keep the hierarchy. `ConfirmationDialog`'s Cancel was already tonal: only its `cancelVariant` is new. New exports: the `ButtonVariant` type and `DEFAULT_CANCEL_VARIANT`. The docs' and recipes' examples now write `variant="tonal"` on their Cancel.
|
|
35
|
+
|
|
3
36
|
## 3.36.0
|
|
4
37
|
|
|
5
38
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -422,7 +422,7 @@ Each area a consumer starts from has its own page under `docs/guides/`.
|
|
|
422
422
|
| --- | --- |
|
|
423
423
|
| [Forms](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/forms.md) | wiring fields to React Hook Form and Zod, composite values (contacts, opening hours), config-driven `Field`, server errors, what each field emits |
|
|
424
424
|
| [i18n](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/i18n.md) | adding your strings next to the package's, switching language, translated Zod messages, SSR without a text mismatch |
|
|
425
|
-
| [App shell](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md) | laying out an app with `ActivityLayout` (route changes cross-fade by default, `routeTransition={false}` opts out; it draws the theme's background, `backdrop` is the exception and `backdrop={false}` a plain page), its `items` (rendered as links; `linkComponent` to pass your own), the brand (`logo`, `name`, and `context` for the phone sheet's tenant line), the header's title, a route's `handle.title` as the page's `h1` in the app bar (`AppShellHandle`, `PageTitle`; it labels `<main>`, and `usePageTitleFocus()` focuses it after a navigation), and `AccountMenu`, the active entry and breadcrumbs (needs a data router; `breadcrumbRoot` replaces the home icon with a text link, `breadcrumb={false}` hides the trail), the `<main>` landmark, the `h1` title, document scrolling, a background preset behind the shell (`backdrop`), and the tinted page ground the cards stand on (`--ground`, the opt-out) |
|
|
425
|
+
| [App shell](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md) | laying out an app with `ActivityLayout` (route changes cross-fade by default, `routeTransition={false}` opts out; it draws the theme's background, `backdrop` is the exception and `backdrop={false}` a plain page), its `items` (rendered as links; `linkComponent` to pass your own), the brand (`logo`, `name`, and `context` for the phone sheet's tenant line), the header's title, a route's `handle.title` as the page's `h1` in the app bar (`AppShellHandle`, `PageTitle`; `handle.titleAfter` / `titleAfter` a slot right after it, such as a record's `Switcher`, and `headerContext` a small tenant line from md up; it labels `<main>`, and `usePageTitleFocus()` focuses it after a navigation), and `AccountMenu`, the active entry and breadcrumbs (needs a data router; `breadcrumbRoot` replaces the home icon with a text link, or with `icon: true` keeps it with its own target and name, `breadcrumb={false}` hides the trail), the `<main>` landmark, the `h1` title, document scrolling, a background preset behind the shell (`backdrop`), and the tinted page ground the cards stand on (`--ground`, the opt-out) |
|
|
426
426
|
| [Themes for your app](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/themes.md) | defining app themes, generating their stylesheets and types with the Vite plugin's `themes` option or the `nxgt-theme` command, the CI check |
|
|
427
427
|
| [Theming](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/theming.md) | changing colours, radius or fonts, motion and corner tokens, the page ground (`--ground`, `bg-ground`: its light and dark values and the opt-out), dark mode, tones (the `data-tone` channel, app tones and the calm zone `data-density="calm"`), touch targets, using the compiled CSS without Tailwind |
|
|
428
428
|
| [Printing](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/printing.md) | producing PDFs with `@nxgt/material/print` and getting the file in one call (download, new tab, preview, server `Response`) — its own entry since 2.0.0, with optional peers, a bundling trap on SSR servers, and the `next.config.ts` a Next.js route handler (and `output: 'standalone'`) needs |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as e, r as t, t as n } from "./stored-language-
|
|
2
|
-
import { r } from "./translator-
|
|
1
|
+
import { i as e, r as t, t as n } from "./stored-language-D8aemZhx.js";
|
|
2
|
+
import { r } from "./translator-Bq8UHmvu.js";
|
|
3
3
|
import { t as i } from "./_baseIsEqual-C6ksIHya.js";
|
|
4
4
|
import { useMemo as a } from "react";
|
|
5
5
|
import { asyncThunkCreator as o, buildCreateSlice as s } from "@reduxjs/toolkit";
|
|
@@ -2,7 +2,7 @@ import { t as e } from "./utils-BLfntITJ.js";
|
|
|
2
2
|
import { n as t, t as n } from "./dist-DVRQkaTK.js";
|
|
3
3
|
import { o as r, t as i } from "./tooltip-CkttDIab.js";
|
|
4
4
|
import { t as a } from "./is-production-GLw59WU8.js";
|
|
5
|
-
import { t as o } from "./spinner-
|
|
5
|
+
import { t as o } from "./spinner-CuxEwO0d.js";
|
|
6
6
|
import { a as s, i as c, r as l, t as u } from "./button-tones-BwuVvAmd.js";
|
|
7
7
|
import { t as d } from "./button-group-context-CaP0X5p_.js";
|
|
8
8
|
import { t as f } from "./has-text-content-Ds2dkHX_.js";
|
|
@@ -323,5 +323,6 @@ function F({ tooltip: e, ...t }) {
|
|
|
323
323
|
children: /* @__PURE__ */ S(P, { ...t })
|
|
324
324
|
}) : /* @__PURE__ */ S(P, { ...t });
|
|
325
325
|
}
|
|
326
|
+
var I = "tonal";
|
|
326
327
|
//#endregion
|
|
327
|
-
export {
|
|
328
|
+
export { D as a, A as i, I as n, w as o, N as r, F as t };
|
package/dist/charts.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as e } from "./ui.utils-CAnKTCw5.js";
|
|
2
2
|
import { t } from "./utils-BLfntITJ.js";
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
4
|
-
import { t as r } from "./button-
|
|
3
|
+
import { t as n } from "./use-material-translation-CiYhVc39.js";
|
|
4
|
+
import { t as r } from "./button-D52ron-a.js";
|
|
5
5
|
import { t as i } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
6
6
|
import { i as a, n as o, r as s, t as c } from "./util-4heV2LPI.js";
|
|
7
7
|
import { t as l } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
8
8
|
import { t as u } from "./warn-once-C_e47JM8.js";
|
|
9
|
-
import { t as d } from "./chip-
|
|
9
|
+
import { t as d } from "./chip-0XYwSp9o.js";
|
|
10
10
|
import { c as f, d as p, f as m, i as h, o as g, p as _, s as v, t as y } from "./line-path-C5pZGC49.js";
|
|
11
11
|
import { t as b } from "./live-status-BGPaN8r8.js";
|
|
12
12
|
import { t as x } from "./linear-G97mfnKF.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { t } from "./tooltip-CkttDIab.js";
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
3
|
+
import { t as n } from "./use-material-translation-CiYhVc39.js";
|
|
4
4
|
import { a as r } from "./button-tones-BwuVvAmd.js";
|
|
5
5
|
import { t as i } from "./react-node-text-Crkpfpco.js";
|
|
6
6
|
import { Check as a, X as o } from "lucide-react";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as e } from "./rolldown-runtime-BFFgcFxR.js";
|
|
2
2
|
import { t } from "./utils-BLfntITJ.js";
|
|
3
3
|
import { a as n } from "./dist-lmHmz_bu.js";
|
|
4
|
-
import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-
|
|
4
|
+
import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-Crt5QvTr.js";
|
|
5
5
|
import { a as c, i as l, n as u } from "./field-blur-context-Cft9s7Hg.js";
|
|
6
|
-
import { a as d, d as f, r as p, t as m, u as h } from "./toolbar-items-
|
|
6
|
+
import { a as d, d as f, r as p, t as m, u as h } from "./toolbar-items-C97E5HRa.js";
|
|
7
7
|
import { t as g } from "./is-production-GLw59WU8.js";
|
|
8
|
-
import { t as _ } from "./use-material-translation-
|
|
9
|
-
import { i as v, n as y, o as b, t as x } from "./code-language-items-
|
|
8
|
+
import { t as _ } from "./use-material-translation-CiYhVc39.js";
|
|
9
|
+
import { i as v, n as y, o as b, t as x } from "./code-language-items-C7prxl_7.js";
|
|
10
10
|
import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
11
11
|
import { n as C, t as w } from "./escape-owner-C4W_sOAU.js";
|
|
12
12
|
import { t as T } from "./skeleton-DSdtr2qc.js";
|
package/dist/code-editor.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { a as t } from "./dist-lmHmz_bu.js";
|
|
3
|
-
import { d as n, r, t as i, u as a } from "./toolbar-items-
|
|
4
|
-
import { t as o } from "./use-material-translation-
|
|
5
|
-
import { i as s, n as c, o as l } from "./code-language-items-
|
|
3
|
+
import { d as n, r, t as i, u as a } from "./toolbar-items-C97E5HRa.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-CiYhVc39.js";
|
|
5
|
+
import { i as s, n as c, o as l } from "./code-language-items-C7prxl_7.js";
|
|
6
6
|
import { r as u, t as d } from "./field-blur-CJHzVSh9.js";
|
|
7
7
|
import { t as f } from "./skeleton-DSdtr2qc.js";
|
|
8
8
|
import { t as p } from "./live-status-BGPaN8r8.js";
|
|
9
9
|
import { t as m } from "./use-mobile-BDro060N.js";
|
|
10
10
|
import { t as h } from "./react-node-text-Crkpfpco.js";
|
|
11
|
-
import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-
|
|
11
|
+
import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-BetIXpJ6.js";
|
|
12
12
|
import { ChevronDown as k, ChevronUp as A, Columns2 as j } from "lucide-react";
|
|
13
13
|
import { useEffect as M, useRef as N, useState as P } from "react";
|
|
14
14
|
import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as e, f as t } from "./dropdown-menu-
|
|
2
|
-
import { t as n } from "./use-material-translation-
|
|
1
|
+
import { d as e, f as t } from "./dropdown-menu-Crt5QvTr.js";
|
|
2
|
+
import { t as n } from "./use-material-translation-CiYhVc39.js";
|
|
3
3
|
import { t as r } from "./live-status-BGPaN8r8.js";
|
|
4
4
|
import { useEffect as i, useRef as a, useState as o } from "react";
|
|
5
5
|
import { jsx as s } from "react/jsx-runtime";
|
|
@@ -63,6 +63,8 @@
|
|
|
63
63
|
@import "./ui/collections/data-table/data-table-items-bar.css";
|
|
64
64
|
@import "./ui/collections/data-table/data-table-items-forced.css";
|
|
65
65
|
@import "./ui/collections/data-table/data-table-items-tiles.css";
|
|
66
|
+
/* ServerTable's second header row on a phone: select-all, sort, Filters and the actions. */
|
|
67
|
+
@import "./ui/collections/server-table/server-table-phone-row.css";
|
|
66
68
|
/* Checkbox and Radio: the check that draws in, the dot that springs in, the state layer. */
|
|
67
69
|
@import "./ui/selection/selection-controls.css";
|
|
68
70
|
@import "./ui/selection/selection-controls-forced.css";
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/* ServerTable's second header row below 768px (#1719): the list's "Select all"
|
|
2
|
+
* (or the count and "Clear selection") at the start; the sort, "Filters (N)"
|
|
3
|
+
* and the page's actions at the end. Logical properties throughout. The list
|
|
4
|
+
* bar's own rules (data-table-items-bar.css) answer to the list's width; here
|
|
5
|
+
* the row is the band's, so they are restated for its slots.
|
|
6
|
+
*
|
|
7
|
+
* Unlayered on purpose: the buttons' sizes are Tailwind utilities (`min-w-0`,
|
|
8
|
+
* `px-*`), a layer that comes after `components`. */
|
|
9
|
+
/* The row is the container the compactions below answer to: the band's
|
|
10
|
+
* width, not the window's (a page may pad it). */
|
|
11
|
+
[data-slot="server-table-phone-row"] {
|
|
12
|
+
container: server-table-phone-row / inline-size;
|
|
13
|
+
}
|
|
14
|
+
[data-slot="server-table-phone-row-start"]
|
|
15
|
+
> [data-slot="data-table-list-bar-start"] {
|
|
16
|
+
flex-wrap: nowrap;
|
|
17
|
+
gap: 0.25rem 0.5rem;
|
|
18
|
+
}
|
|
19
|
+
[data-slot="data-table-list-bar-start"][data-in-row] {
|
|
20
|
+
/* A fixed row: the 44px box's height on a coarse pointer, the 36px
|
|
21
|
+
* buttons' otherwise, so the count and the label swap with no move. */
|
|
22
|
+
min-height: 2.25rem;
|
|
23
|
+
}
|
|
24
|
+
[data-slot="data-table-list-bar-start"][data-in-row]
|
|
25
|
+
[data-slot="data-table-list-bar-count"] {
|
|
26
|
+
min-width: 0;
|
|
27
|
+
overflow-wrap: anywhere;
|
|
28
|
+
line-height: 1.15;
|
|
29
|
+
}
|
|
30
|
+
[data-slot="data-table-list-bar-start"][data-in-row][data-selected]
|
|
31
|
+
[data-slot="data-table-list-bar-count"] {
|
|
32
|
+
color: var(--primary-text);
|
|
33
|
+
}
|
|
34
|
+
[data-slot="server-table-phone-row"] [data-slot="data-table-list-bar-clear"] {
|
|
35
|
+
aspect-ratio: 1;
|
|
36
|
+
min-width: 2.25rem;
|
|
37
|
+
padding-inline: 0;
|
|
38
|
+
}
|
|
39
|
+
[data-slot="server-table-phone-row"] [data-slot="data-table-sort"] {
|
|
40
|
+
max-width: 9rem;
|
|
41
|
+
}
|
|
42
|
+
/* Room on a phone: the sort keeps its icon and its arrow (its name, "Sort:
|
|
43
|
+
* Name, Ascending", is still its accessible name); while rows are selected,
|
|
44
|
+
* and on a narrow band, "Filters (N)" keeps its icon and its count, and the
|
|
45
|
+
* name too. The count and "Clear selection" need the room. */
|
|
46
|
+
@container server-table-phone-row (max-width: 30rem) {
|
|
47
|
+
[data-slot="data-table-sort-label"] {
|
|
48
|
+
position: absolute;
|
|
49
|
+
width: 1px;
|
|
50
|
+
height: 1px;
|
|
51
|
+
overflow: hidden;
|
|
52
|
+
clip-path: inset(50%);
|
|
53
|
+
white-space: nowrap;
|
|
54
|
+
}
|
|
55
|
+
[data-slot="server-table-phone-row"]:has(
|
|
56
|
+
[data-slot="data-table-list-bar-start"][data-selected]
|
|
57
|
+
)
|
|
58
|
+
[data-slot="filter-sheet-trigger"]
|
|
59
|
+
> [data-slot="button-label"] {
|
|
60
|
+
position: absolute;
|
|
61
|
+
width: 1px;
|
|
62
|
+
height: 1px;
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
clip-path: inset(50%);
|
|
65
|
+
white-space: nowrap;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
@container server-table-phone-row (max-width: 19rem) {
|
|
69
|
+
[data-slot="filter-sheet-trigger"] > [data-slot="button-label"] {
|
|
70
|
+
position: absolute;
|
|
71
|
+
width: 1px;
|
|
72
|
+
height: 1px;
|
|
73
|
+
overflow: hidden;
|
|
74
|
+
clip-path: inset(50%);
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/* Icon-only: a button of the actions with an icon loses its label to its
|
|
79
|
+
* name and tooltip (a button without an icon keeps its text). */
|
|
80
|
+
[data-slot="server-table-phone-row"]
|
|
81
|
+
[data-slot="server-table-actions"]
|
|
82
|
+
[data-slot="button"]:has(> svg:only-of-type) {
|
|
83
|
+
aspect-ratio: 1;
|
|
84
|
+
min-width: 2.25rem;
|
|
85
|
+
padding-inline: 0;
|
|
86
|
+
}
|
|
87
|
+
@media (pointer: coarse) {
|
|
88
|
+
[data-slot="server-table-phone-row"] [data-slot="data-table-list-bar-clear"],
|
|
89
|
+
[data-slot="server-table-phone-row"]
|
|
90
|
+
[data-slot="server-table-actions"]
|
|
91
|
+
[data-slot="button"]:has(> svg:only-of-type) {
|
|
92
|
+
min-width: 2.75rem;
|
|
93
|
+
min-height: 2.75rem;
|
|
94
|
+
}
|
|
95
|
+
/* The 44px box sits at the row's edge: the label's 14px of room
|
|
96
|
+
* is taken back, so the box lines up with the search above. */
|
|
97
|
+
[data-slot="server-table-phone-row-start"]
|
|
98
|
+
[data-slot="select-checkbox-label"] {
|
|
99
|
+
margin-inline-start: -0.875rem;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
[data-slot="server-table-phone-row"]
|
|
103
|
+
[data-slot="data-table-list-bar-clear-label"],
|
|
104
|
+
[data-slot="server-table-phone-row"] [data-slot="data-table-sort-prefix"],
|
|
105
|
+
[data-slot="server-table-phone-row"]
|
|
106
|
+
[data-slot="server-table-actions"]
|
|
107
|
+
[data-slot="button"]:has(> svg:only-of-type)
|
|
108
|
+
> [data-slot="button-label"] {
|
|
109
|
+
position: absolute;
|
|
110
|
+
width: 1px;
|
|
111
|
+
height: 1px;
|
|
112
|
+
overflow: hidden;
|
|
113
|
+
clip-path: inset(50%);
|
|
114
|
+
white-space: nowrap;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* While rows are selected the row is the selection bar: the bulk actions take
|
|
118
|
+
* the place of the sort, "Filters (N)" and the page's actions, which are
|
|
119
|
+
* hidden (not unmounted) and come back once the selection is empty. */
|
|
120
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
121
|
+
[data-slot="server-table-phone-sort"],
|
|
122
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
123
|
+
[data-slot="filter-sheet-trigger"],
|
|
124
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
125
|
+
[data-slot="server-table-actions"] {
|
|
126
|
+
display: none;
|
|
127
|
+
}
|
|
128
|
+
/* The bulk buttons keep icon, label and count; they wrap onto a second line
|
|
129
|
+
* rather than scroll, and a long label is cut to the row's width. */
|
|
130
|
+
[data-slot="server-table-phone-bulk"] {
|
|
131
|
+
flex: 1 1 auto;
|
|
132
|
+
justify-content: flex-end;
|
|
133
|
+
}
|
|
134
|
+
[data-slot="server-table-phone-bulk"] [data-slot="button"] {
|
|
135
|
+
max-width: 100%;
|
|
136
|
+
}
|
|
137
|
+
/* The menu trigger's own item radius would square the More
|
|
138
|
+
* button: it keeps its siblings' pill, and so does its focus ring. */
|
|
139
|
+
[data-slot="server-table-phone-bulk"] [data-slot="dropdown-menu-trigger"] {
|
|
140
|
+
border-radius: var(--btn-rad, var(--btn-round));
|
|
141
|
+
}
|
|
142
|
+
/* An icon with its tone at full strength: the duotone's second layer is
|
|
143
|
+
* drawn at 40% by default, which on its own, in a button with no text, reads
|
|
144
|
+
* as disabled. */
|
|
145
|
+
[data-slot="server-table-phone-row"]
|
|
146
|
+
[data-slot="server-table-actions"]
|
|
147
|
+
[data-slot="button"]:has(> svg:only-of-type) {
|
|
148
|
+
--fa-secondary-opacity: 1;
|
|
149
|
+
}
|
|
150
|
+
/* The selection bar wraps: the count and Clear keep their own width on the
|
|
151
|
+
* first line, the bulk buttons take the rest of it, or a line of their own
|
|
152
|
+
* (right-aligned) when they do not fit beside it; they wrap again inside it. */
|
|
153
|
+
[data-slot="server-table-phone-row"][data-selecting] {
|
|
154
|
+
flex-wrap: wrap;
|
|
155
|
+
row-gap: 0.25rem;
|
|
156
|
+
}
|
|
157
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
158
|
+
[data-slot="server-table-phone-row-start"] {
|
|
159
|
+
flex: 0 0 auto;
|
|
160
|
+
}
|
|
161
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
162
|
+
[data-slot="data-table-list-bar-count"] {
|
|
163
|
+
white-space: nowrap;
|
|
164
|
+
}
|
|
165
|
+
[data-slot="server-table-phone-row"][data-selecting]
|
|
166
|
+
[data-slot="server-table-phone-row-end"] {
|
|
167
|
+
flex: 1 1 auto;
|
|
168
|
+
min-width: 0;
|
|
169
|
+
}
|
|
170
|
+
/* The row is at least as high as the actions (40px, 44px on a coarse
|
|
171
|
+
* pointer), so selecting moves nothing; it grows when the bulk buttons wrap. */
|
|
172
|
+
[data-slot="server-table-phone-row"] {
|
|
173
|
+
min-height: 2.5rem;
|
|
174
|
+
}
|
|
175
|
+
@media (pointer: coarse) {
|
|
176
|
+
[data-slot="server-table-phone-row"] {
|
|
177
|
+
min-height: 2.75rem;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
@media (pointer: coarse) {
|
|
181
|
+
/* The 32px bulk buttons reach 44px with an invisible 6px margin: a gap of
|
|
182
|
+
* 12px keeps neighbours from taking each other's edge. */
|
|
183
|
+
[data-slot="server-table-phone-row"][data-selecting] {
|
|
184
|
+
gap: 0.75rem;
|
|
185
|
+
}
|
|
186
|
+
[data-slot="server-table-phone-bulk"] {
|
|
187
|
+
gap: 0.75rem;
|
|
188
|
+
}
|
|
189
|
+
}
|