@nxgt/material 3.49.0 → 3.51.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 +34 -0
- package/README.md +1 -1
- package/dist/{async-slice-DlvKCKAa.js → async-slice-BGtmF3K5.js} +2 -2
- package/dist/{button-DJgaQbBD.js → button-BWcr2b49.js} +45 -76
- package/dist/charts.js +3 -3
- package/dist/{chip-DN44R1vW.js → chip-CmLW6ZrT.js} +3 -3
- package/dist/{code-editor-BJ9ewxSC.js → code-editor-BKMaeIF6.js} +6 -6
- package/dist/code-editor.js +5 -5
- package/dist/{code-language-items-BJE3VuQg.js → code-language-items-Cs1Pwd1h.js} +2 -2
- package/dist/components/ui/layout/app-shell/activity-backdrop-shapes.css +14 -9
- package/dist/components/ui/layout/auth-card/auth-card-backdrop.css +2 -2
- package/dist/{components-AtBccCir.js → components-CuwU9Sux.js} +11878 -11614
- package/dist/components.js +26 -27
- package/dist/{dialog-ODql4vH7.js → dialog-TdT_5iUc.js} +7 -7
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-DRXYP9ta.js → dropdown-menu-BozV6Ikw.js} +25 -26
- package/dist/editor.js +9 -9
- package/dist/{empty-state-C9QqvBU1.js → empty-state-gzBPimAo.js} +2 -2
- package/dist/{escape-owner-DCrlERLM.js → escape-owner-Bu-aDEEO.js} +1 -1
- package/dist/{field-blur-DYGyIdfD.js → field-blur-47zmuDkH.js} +1 -1
- package/dist/{field-blur-context-B-fSpl1H.js → field-blur-context-6McYOnM8.js} +1 -1
- package/dist/hooks.js +2 -2
- package/dist/{hover-card-EO_CckIx.js → hover-card-zHdZJpBG.js} +14 -14
- package/dist/{i18n-provider-C0fB0sEL.js → i18n-provider-Ang2f31m.js} +1 -1
- package/dist/i18n.js +5 -5
- package/dist/{icon-badge-BQYj_LE6.js → icon-badge-CRFGIQPX.js} +3 -3
- package/dist/{icon-button-B481L2TP.js → icon-button-CtG3Snfm.js} +119 -87
- package/dist/lib/components/ui/actions/icon-button/icon-button-busy.d.ts +22 -0
- package/dist/lib/components/ui/actions/icon-button/icon-button-shape.d.ts +2 -0
- package/dist/lib/components/ui/actions/icon-button/icon-button.d.ts +7 -0
- package/dist/lib/components/ui/collections/data-table/data-table-selection-host.d.ts +7 -0
- 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 +2 -1
- package/dist/lib/components/ui/collections/filter/bar/partials/filter-quick-toggle.d.ts +3 -2
- package/dist/lib/components/ui/collections/filter/sections/filter-sections-classes.d.ts +7 -1
- package/dist/lib/components/ui/collections/page-footer/page-footer.d.ts +6 -1
- package/dist/lib/components/ui/collections/row-menu/row-menu-trigger.d.ts +5 -2
- package/dist/lib/components/ui/collections/server-table/index.d.ts +1 -1
- package/dist/lib/components/ui/collections/server-table/partials/filtered-server-table.d.ts +8 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-band.d.ts +10 -1
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-buttons.d.ts +3 -2
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-more.d.ts +4 -2
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk.d.ts +2 -1
- package/dist/lib/components/ui/collections/server-table/partials/server-table-controls.d.ts +16 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-empty-chips.d.ts +5 -3
- package/dist/lib/components/ui/collections/server-table/partials/server-table-grid.d.ts +3 -1
- package/dist/lib/components/ui/collections/server-table/partials/server-table-selection-bar.d.ts +17 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-view.d.ts +15 -0
- package/dist/lib/components/ui/collections/server-table/partials/use-server-table-phone-row.d.ts +14 -0
- package/dist/lib/components/ui/collections/server-table/partials/use-server-table-selection-slots.d.ts +24 -0
- package/dist/lib/components/ui/collections/server-table/types-paging.d.ts +17 -0
- package/dist/lib/components/ui/collections/server-table/types.d.ts +3 -10
- package/dist/lib/components/ui/collections/server-table/use-selection-band.d.ts +14 -0
- package/dist/lib/components/ui/feedback/step-up-dialog/partials/step-up-body.d.ts +5 -3
- package/dist/lib/components/ui/feedback/step-up-dialog/partials/step-up-request-error.d.ts +15 -0
- package/dist/lib/components/ui/feedback/step-up-dialog/step-up-dialog.d.ts +6 -3
- package/dist/lib/components/ui/feedback/step-up-dialog/types.d.ts +12 -1
- package/dist/lib/components/ui/feedback/step-up-dialog/use-retry-focus.d.ts +27 -0
- package/dist/lib/components/ui/feedback/step-up-dialog/use-retry.d.ts +11 -0
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/fields/verification-code/use-settled-focus.d.ts +10 -0
- package/dist/lib/components/ui/layout/app-shell/use-keep-shapes-inside.d.ts +12 -1
- package/dist/lib/i18n/resources/en/en.d.ts +4 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +6 -2
- package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +6 -2
- package/dist/lib/i18n/resources/resources.d.ts +8 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +43 -44
- package/dist/map.js +8 -8
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/print.js +2 -2
- package/dist/{public-CZBz4JVu.js → public-CTZ5RK_Y.js} +20 -20
- package/dist/{rich-code-block-597e0_Qm.js → rich-code-block-oTgL-s4W.js} +5 -5
- package/dist/{sortable-provider-CK_xAk2H.js → sortable-provider-CpA5NYgD.js} +2 -2
- package/dist/{dist-B61_o9Mg.js → spinner-UvqlDsV8.js} +478 -256
- package/dist/{stored-language-IaL1Ftn_.js → stored-language-Cb9FMEwk.js} +12 -4
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-Dnjn83TJ.js → theme-toggle-BZVz6O5q.js} +1 -1
- package/dist/{toolbar-items-CCwIu7fE.js → toolbar-items-C09bJphe.js} +106 -106
- package/dist/{translate-material-v9u-e7Kd.js → translate-material-D6KCK21i.js} +2 -2
- package/dist/{translator-Dk4_qE6U.js → translator-BnQXtpSZ.js} +1 -1
- package/dist/{use-chat-composer-Ot5XUbdn.js → use-chat-composer-AZAj4tFJ.js} +4881 -4882
- package/dist/{button-tones-BwuVvAmd.js → use-click-lock-BZYtTmVt.js} +37 -7
- package/dist/{use-heading-spy-DjKixjLm.js → use-heading-spy-C9-A2md2.js} +1 -1
- package/dist/{use-material-translation-DOkTaWK_.js → use-material-translation-pLgSqqLw.js} +2 -2
- package/docs/components/buttons-and-actions.md +2 -1
- package/docs/components/data-table-filter-and-lists.md +67 -14
- package/docs/components/feedback-and-status.md +22 -3
- package/docs/components/form-fields.md +7 -0
- package/docs/guides/backgrounds.md +3 -1
- package/docs/guides/cards-and-tiles.md +3 -0
- package/docs/guides/server-lists-url.md +3 -2
- package/lib/components/ui/layout/app-shell/activity-backdrop-shapes.css +14 -9
- package/lib/components/ui/layout/auth-card/auth-card-backdrop.css +2 -2
- package/package.json +1 -1
- package/dist/spinner-BhuZuHK1.js +0 -229
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @nxgt/material
|
|
2
2
|
|
|
3
|
+
## 3.51.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1848](https://github.com/softistx/nxgt-material/pull/1848) [`1b506da`](https://github.com/softistx/nxgt-material/commit/1b506dafb6c7fbb0e2ad287a217f3b950a521e14) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ServerTable` with `bulkActions` and `filter`: the first selected row turns the band that holds the filter bar into a selection bar in place ([#1718](https://github.com/softistx/nxgt-material/issues/1718)), on the same row and height: "N selected", the bulk actions and a tonal "Cancel" that clears the selection. The search and the page's actions stay mounted, hidden, so the table does not move; clearing the selection brings them back and gives the focus to the control that started the selection, or else to the list. The extra bulk toolbar row that grew from `h-0` is gone, and the cards' and tiles' list bar no longer repeats the count and "Clear selection". On a phone the bar is one row: the first action keeps its button, the others go into an icon "More". The public props are unchanged; without `filter`, or with the facets panel, the bulk actions stay in the table's toolbar. New text keys `material.server-table.bulk-selected`, `bulk-cancel` and `bulk-bar`.
|
|
8
|
+
|
|
9
|
+
Migration: tests that query "Clear selection" in a `ServerTable` with `filter` and `bulkActions` now query `getByRole('button', { name: 'Cancel' })` inside `getByRole('group', { name: 'Selected rows' })`, and `[data-slot="header"]` (the toolbar row) no longer appears on selection. While rows are selected the search is `inert`, so `filterRef.focus()` does nothing; cancel the selection first. Below 768px the band keeps one bulk action and puts the rest in "More".
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#1847](https://github.com/softistx/nxgt-material/pull/1847) [`a4f357c`](https://github.com/softistx/nxgt-material/commit/a4f357ca1f73cc724d29963dd4a0637b4fa87f82) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Fix a backdrop shape seen behind a paragraph of body text on a reload, or after a late font load reflows the text with `keepClear="gaps"` (or `true`) on `ActivityLayout`, `AuthCard` and the theme's background ([#1720](https://github.com/softistx/nxgt-material/issues/1720)). The first pass dropped a glyph over the text by fading it out over 150 ms, after the scene was shown, so a shape was drawn behind the text for those frames at phone width and on desktop. A dropped glyph is now hidden at once on the first pass; the fade starts one frame later (`data-settled` on the scene) and still softens every later drop and return. The pass also runs again when a web font finishes loading late, so text that reflows after it keeps its margin.
|
|
14
|
+
|
|
15
|
+
## 3.50.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [#1830](https://github.com/softistx/nxgt-material/pull/1830) [`a42fa41`](https://github.com/softistx/nxgt-material/commit/a42fa41f31a418a7ddae46a34330f75e9fe684be) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Re-export `effectiveConditions` and `splitFilterErrors` (with `FilterSplitErrors`, `FilterFieldError` and `FilterFieldErrors`) from `@nxgt/material/components`, next to `parseFilterQuery`, so a server loader reads the effective conditions and the field errors of a filter query without a direct `@nxgt/material-core` dependency ([#1726](https://github.com/softistx/nxgt-material/issues/1726)).
|
|
20
|
+
|
|
21
|
+
- [#1837](https://github.com/softistx/nxgt-material/pull/1837) [`6ec2b9d`](https://github.com/softistx/nxgt-material/commit/6ec2b9dde775e3bcac235fc0c46567d98420aad6) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Add `hideOnSinglePage` to `PageFooter` and `ServerTable`: an opt-in that renders no footer when the result is a single page (no previous and no next page), in the table, cards and tiles layouts. The default is unchanged; `ServerTable` still announces the count in its live region, and keeps its selection status with `bulkActions` ([#1732](https://github.com/softistx/nxgt-material/issues/1732)).
|
|
22
|
+
|
|
23
|
+
- [#1833](https://github.com/softistx/nxgt-material/pull/1833) [`776fbc6`](https://github.com/softistx/nxgt-material/commit/776fbc66cd26f79d4cbdcc2155d23c58989272f1) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `IconButton` and `RowMenuTrigger` take `loading`, as `Button`'s (`RowMenu` takes it in `triggerProps`): `aria-busy` and `aria-disabled`, a spinner in place of the icon with no change of size, every click blocked, and the button stays focusable, so the focus stays on it when a row's menu closes and its action runs. A busy row does not open its menu again until it is over ([#1730](https://github.com/softistx/nxgt-material/issues/1730)).
|
|
24
|
+
|
|
25
|
+
- [#1843](https://github.com/softistx/nxgt-material/pull/1843) [`440665b`](https://github.com/softistx/nxgt-material/commit/440665b38e18055baf43e6cf98196e4004618610) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `StepUpDialog` gains `onRetry`: when the code request failed (`requestError`), the alert holds a "Retry" button (`labels.retry`, `material.step-up-dialog.retry` in English and French) that calls it. While the returned promise is pending the button is busy and keeps the focus; once the request succeeds the code field takes the focus, and a retry that fails again keeps the focus on "Retry" and announces the new error, even when its text is the same. Without `onRetry` nothing changes ([#1831](https://github.com/softistx/nxgt-material/issues/1831)).
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [#1842](https://github.com/softistx/nxgt-material/pull/1842) [`cb50aae`](https://github.com/softistx/nxgt-material/commit/cb50aaeef0d7d96a8b5dcec47935da3b77cc6aaa) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Fix the touch hit areas of `static` close buttons ([#1733](https://github.com/softistx/nxgt-material/issues/1733)). A tap on a section header of the phone filters sheet, or on a field of the DataGrid's phone row panel, did nothing on a touch screen: the Close button was `static`, so its invisible 44px hit area was placed against the whole sheet and covered it. These buttons (and the gallery's column arrows, and the switcher's close) are now `relative` with their offsets reset, and cover only their own corner.
|
|
30
|
+
|
|
31
|
+
- [#1844](https://github.com/softistx/nxgt-material/pull/1844) [`1f2e06c`](https://github.com/softistx/nxgt-material/commit/1f2e06c04129f9446d4cfb2523110ac8c3ff626f) Thanks [@SteveGT96](https://github.com/SteveGT96)! - fix(filter): a quick `switch` or `checkbox` field is drawn as a toggle chip, not an add pill ([#1722](https://github.com/softistx/nxgt-material/issues/1722)). Off, `FilterQuickToggle` shows its label alone, with no plus icon and no dashed border; on, the chip's check mark and selected look. It stays a button with `aria-pressed`. The dashed "+ Field" pill remains for the quick fields that open an editor.
|
|
32
|
+
|
|
33
|
+
- [#1834](https://github.com/softistx/nxgt-material/pull/1834) [`2e083b7`](https://github.com/softistx/nxgt-material/commit/2e083b75c1b851cf34c119676b48c35ffe0fa284) Thanks [@SteveGT96](https://github.com/SteveGT96)! - ServerTable with `filter`: the no-match empty state always offers "Clear all", a single active chip included, and its label is `empty.clear` when set ([#1731](https://github.com/softistx/nxgt-material/issues/1731)). Locked conditions stay.
|
|
34
|
+
|
|
35
|
+
- [#1841](https://github.com/softistx/nxgt-material/pull/1841) [`7072131`](https://github.com/softistx/nxgt-material/commit/70721316d9c32b82d8577e5937b635d30349c02c) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `VerificationCode` and `StepUpDialog`: once a resend settles, with or without a throttle, the focus returns to the code field when "Resend" (or the page, after a disabled Resend dropped it) held it as the resend started; a focus the user moved elsewhere is left alone. `StepUpDialog` now accepts `autoFocus` and passes it to `VerificationCode`, so the code field takes the first focus instead of the title ([#1832](https://github.com/softistx/nxgt-material/issues/1832)).
|
|
36
|
+
|
|
3
37
|
## 3.49.0
|
|
4
38
|
|
|
5
39
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -639,7 +639,7 @@ Not components: what the stylesheet gives any element.
|
|
|
639
639
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-servertable.webp" width="120" alt="ServerTable"> | [`ServerTable`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#servertable), `createSorting`, `tableFilters`, `defineFilterModel`, `parseFilterQuery`, `serializeFilterQuery`, `paramsFromQuery`, `serverPagination`… | A server-mode `DataTable` driven by the URL's search params, for any router: the Filter in its top band with the page's title (optional), description and actions, the sort, forward cursor paging, a selection reset on a new query, the empty page (a scene and an action for "nothing yet", the filters as removable chips), a compact band (`bandDensity`), icon-only Previous / Next (`pageControls`, 44px targets on a touch screen, focus kept while a page loads), actions that stay on the search's row on a phone (`bandActions`), a bulk bar that reserves no row until a selection, bulk actions with `appliesTo` that count and run only the selected rows they apply to (hidden at zero), an accessible `name`, a `max` rows with a notice, and `focusTrigger()` to give the focus back after a dialog, a `filterRef` to focus the Filter, a page past the last (rows deleted) that says so and links back to the first, an error state with Retry for a failed fetch (`error`, `onRetry`), and one count announced. | `ServerTable`, `createSorting`, `tableFilters`, `serverPagination` |
|
|
640
640
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-rowmenu.webp" width="120" alt="RowMenu"> | [`RowMenu`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#rowmenu), `RowMenuTrigger`, `rowMenuColumn` | A row's "..." button named after its row ("Actions for Ada"; 44px on touch, 36px with a mouse from `md`), its menu aligned to the end with the destructive item last and 44px items on touch, and a column helper for `DataTable` and `ServerTable` under a hidden but named "Actions" header; focus returns to the button, also from a dialog an item opened. | — |
|
|
641
641
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-listempty.webp" width="120" alt="ListEmpty"> | [`ListEmpty`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#listempty) | A list's empty page: nothing yet (a title, or a scene, a line and an action), or nothing matches with what narrows it and a way out (a button or a link); its title is an `h2` (`headingLevel`). | `ListEmpty` |
|
|
642
|
-
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-pagefooter.webp" width="120" alt="PageFooter"> | [`PageFooter`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#pagefooter) | The page footer of a feed that is not a table (a list of cards, a news feed) under a `FilterBar`: the range ("21–40 of 134") and Previous / Next as real links built from the URL's cursor trail (`pageInfo`, `totalCount`, `params`; `totalCount` is optional: a feed with no total shows no range, only Previous / Next), the same footer `ServerTable` draws, icon-only with `pageControls="icon"` (44px targets on a touch screen); an end with no page is a disabled button, `aria-disabled`. | `PageFooter` |
|
|
642
|
+
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-pagefooter.webp" width="120" alt="PageFooter"> | [`PageFooter`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#pagefooter) | The page footer of a feed that is not a table (a list of cards, a news feed) under a `FilterBar`: the range ("21–40 of 134") and Previous / Next as real links built from the URL's cursor trail (`pageInfo`, `totalCount`, `params`; `totalCount` is optional: a feed with no total shows no range, only Previous / Next; `hideOnSinglePage` renders nothing when there is no previous and no next page), the same footer `ServerTable` draws, icon-only with `pageControls="icon"` (44px targets on a touch screen); an end with no page is a disabled button, `aria-disabled`. | `PageFooter` |
|
|
643
643
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-datagrid.webp" width="120" alt="DataGrid"> | [`DataGrid`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#datagrid) | An editable grid over `DataTable`'s columns: spreadsheet keys, a selected range, editors for text, numbers (with codes such as "abs"), options, dates and checkboxes, or your own; paste from Excel or Sheets, a fill handle that continues series, resizable, hideable and reorderable columns, undo, totals, and saving per cell, per row or in a batch with versions and conflicts ([guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/data-grid.md)). Long grids render only what is in view; on a phone it is a list of rows that open a panel. | — (later) |
|
|
644
644
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-daygroupedlist.webp" width="120" alt="DayGroupedList"> | [`DayGroupedList`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#daygroupedlist), `groupByDay` | A list split by day — Today, Yesterday, This week, Earlier — under headings that stick while their items scroll. | — (later) |
|
|
645
645
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/data-table-filter-lists-filter.webp" width="120" alt="Filter"> | [`Filter`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/data-table-filter-and-lists.md#filter), `FilterProvider`, `FilterContent`, `FilterChips`, `FilterPresets`, `FilterSheetTrigger`, `FilterBar`, `useFilterUrlQuery` · `FilterFormField` | Schema-driven filters with chips, presets, validation, and URL or storage persistence, and a query-driven `variant="bar"` / `"facets"` (quick filters, locked conditions, a phone sheet, a URL codec for a loader; `bandDensity="compact"` as on `ServerTable`), and `FilterBar`, the same bar bound to the URL for a feed or list without a table (`useFilterUrlQuery` is its hook, also `ServerTable`'s), a field `default` shown as an uncounted hint chip (a button that opens the editor on the default), a pressed toggle or checked values with a "Default" word (`defaults` prop), a `scope` field as a leading pill kept by "Clear all", a server refusal shown on the chip (`errors`, its words in the Alert under the bar unless `errorSummary={false}`), on the search box (`searchError`) or as an Alert under the bar (`formError`) and a model with `search: false`; the filter bar's "Filters (N)" (`FilterSheetTrigger`) can be placed inside a `ServerTable` (its actions). | `Filter`, `FilterProvider`, `FilterContent`, `FilterChips`, `FilterPresets`, `FilterSheetTrigger`, `FilterFormField`; `FilterBar`, `useFilterUrlQuery`: — (later, #1569) |
|
|
@@ -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-Cb9FMEwk.js";
|
|
2
|
+
import { r } from "./translator-BnQXtpSZ.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";
|
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { t } from "./is-production-GLw59WU8.js";
|
|
3
3
|
import { n, t as r } from "./dist-DVRQkaTK.js";
|
|
4
|
-
import { n as i,
|
|
5
|
-
import { a as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
11
|
-
//#region lib/components/ui/actions/button/busy-click-capture.ts
|
|
12
|
-
function w(e, t, n) {
|
|
13
|
-
return (r) => {
|
|
14
|
-
if (e || t.isLocked()) {
|
|
15
|
-
r.preventDefault(), r.stopPropagation();
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
t.lock(), n?.(r);
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
4
|
+
import { n as i, r as a, t as o } from "./spinner-UvqlDsV8.js";
|
|
5
|
+
import { a as s, i as c, n as l, o as u, s as d, t as f } from "./use-click-lock-BZYtTmVt.js";
|
|
6
|
+
import { t as p } from "./button-group-context-CaP0X5p_.js";
|
|
7
|
+
import { t as m } from "./has-text-content-Ds2dkHX_.js";
|
|
8
|
+
import { Children as h, Fragment as g, cloneElement as _, isValidElement as v, useContext as y, useEffect as b } from "react";
|
|
9
|
+
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
22
10
|
//#region lib/components/ui/actions/button/button.compound-variants.ts
|
|
23
|
-
var
|
|
11
|
+
var C = [
|
|
24
12
|
{
|
|
25
13
|
variant: "filled",
|
|
26
14
|
color: "primary",
|
|
@@ -196,7 +184,7 @@ var T = [
|
|
|
196
184
|
color: "default",
|
|
197
185
|
class: `${c.default} ${l.default} hover:bg-foreground/10 active:bg-muted focus:bg-foreground/10`
|
|
198
186
|
}
|
|
199
|
-
],
|
|
187
|
+
], w = i("nxgt-btn nxgt-morph-fill inline-flex center gap-[var(--btn-gap,0.5rem)] h-min cursor-pointer whitespace-nowrap disabled:pointer-events-none aria-busy:cursor-progress [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[var(--btn-ic,1rem)] shrink-0 [&_svg]:shrink-0 aria-invalid:[--btn-focus:var(--color-error)] aria-invalid:[--btn-line:var(--color-error)] px-[calc(var(--btn-px,1rem)+var(--btn-dx,0px))] py-2 has-[>svg]:px-[calc(var(--btn-px,1rem)-var(--btn-pxi,0.25rem)+var(--btn-dx,0px))]", {
|
|
200
188
|
variants: {
|
|
201
189
|
variant: {
|
|
202
190
|
filled: "",
|
|
@@ -223,11 +211,11 @@ var T = [
|
|
|
223
211
|
variant: "filled",
|
|
224
212
|
color: "primary"
|
|
225
213
|
},
|
|
226
|
-
compoundVariants:
|
|
227
|
-
}),
|
|
214
|
+
compoundVariants: C
|
|
215
|
+
}), T = ((e) => w(e?.variant === "ghost" && e.color == null ? {
|
|
228
216
|
...e,
|
|
229
217
|
color: "default"
|
|
230
|
-
} : e)),
|
|
218
|
+
} : e)), E = {
|
|
231
219
|
xs: "min-h-6",
|
|
232
220
|
sm: "min-h-8",
|
|
233
221
|
default: "min-h-9",
|
|
@@ -235,94 +223,75 @@ var T = [
|
|
|
235
223
|
xl: "min-h-14",
|
|
236
224
|
"2xl": "min-h-24"
|
|
237
225
|
};
|
|
238
|
-
function
|
|
239
|
-
return !e || t?.startsWith("icon") ? !1 : `h-auto ${t ?
|
|
226
|
+
function D(e, t) {
|
|
227
|
+
return !e || t?.startsWith("icon") ? !1 : `h-auto ${t ? E[t] : ""} whitespace-normal **:whitespace-normal text-center`;
|
|
240
228
|
}
|
|
241
229
|
//#endregion
|
|
242
230
|
//#region lib/components/ui/actions/button/label-text.tsx
|
|
243
|
-
function
|
|
231
|
+
function O(e) {
|
|
244
232
|
let t = [], n = 0, r = [], i = () => {
|
|
245
233
|
if (r.length === 0) return;
|
|
246
234
|
let e = r.join("");
|
|
247
|
-
r = [], e.trim() === "" ? t.push(e) : t.push(/* @__PURE__ */
|
|
235
|
+
r = [], e.trim() === "" ? t.push(e) : t.push(/* @__PURE__ */ x("span", {
|
|
248
236
|
"data-slot": "button-label",
|
|
249
237
|
children: e
|
|
250
238
|
}, `label-${n++}`));
|
|
251
239
|
};
|
|
252
|
-
for (let n of
|
|
240
|
+
for (let n of h.toArray(e)) {
|
|
253
241
|
if (typeof n == "string" || typeof n == "number" || typeof n == "bigint") {
|
|
254
242
|
r.push(n);
|
|
255
243
|
continue;
|
|
256
244
|
}
|
|
257
|
-
i(), t.push(
|
|
245
|
+
i(), t.push(k(n));
|
|
258
246
|
}
|
|
259
247
|
return i(), t;
|
|
260
248
|
}
|
|
261
|
-
function
|
|
262
|
-
return
|
|
263
|
-
}
|
|
264
|
-
//#endregion
|
|
265
|
-
//#region lib/components/ui/actions/button/use-click-lock.ts
|
|
266
|
-
var M = 1e3;
|
|
267
|
-
function N(e, t) {
|
|
268
|
-
let n = b(!1), r = b(!1), i = b(void 0), [a, o] = x(!1), s = _(() => {
|
|
269
|
-
n.current = !1, r.current = !1, clearTimeout(i.current), o(!1);
|
|
270
|
-
}, []), c = _(() => {
|
|
271
|
-
e && (n.current = !0, o(!0), clearTimeout(i.current), i.current = setTimeout(() => {
|
|
272
|
-
r.current || s();
|
|
273
|
-
}, M));
|
|
274
|
-
}, [e, s]);
|
|
275
|
-
return y(() => {
|
|
276
|
-
n.current && (t ? r.current = !0 : r.current && s());
|
|
277
|
-
}, [t, s]), y(() => () => clearTimeout(i.current), []), {
|
|
278
|
-
locked: a,
|
|
279
|
-
lock: c,
|
|
280
|
-
isLocked: _(() => n.current, [])
|
|
281
|
-
};
|
|
249
|
+
function k(e) {
|
|
250
|
+
return v(e) && e.type === g ? _(e, void 0, O(e.props.children)) : e;
|
|
282
251
|
}
|
|
283
252
|
//#endregion
|
|
284
253
|
//#region lib/components/ui/actions/button/button.tsx
|
|
285
|
-
function
|
|
286
|
-
let
|
|
287
|
-
|
|
254
|
+
function A({ className: i, variant: a = "filled", asChild: s = !1, children: c, color: l, size: h, loading: g = !1, lockOnClick: _, spinnerVariant: v = "2", wrap: C, shape: w, selected: E, disabled: k, onClickCapture: A, type: j = "button", ...M }) {
|
|
255
|
+
let N = s ? r : "button", P = y(p), F = h ?? P, I = s && E !== void 0;
|
|
256
|
+
b(() => {
|
|
288
257
|
I && !t() && console.warn("Button: `selected` is ignored with `asChild`; set aria-pressed on the child element.");
|
|
289
258
|
}, [I]);
|
|
290
|
-
let L = !s &&
|
|
291
|
-
return /* @__PURE__ */
|
|
259
|
+
let L = !s && E !== void 0, R = y(d) || !!(M["aria-label"] || M["aria-labelledby"]) || m(c), z = f(_, g), B = g || z.locked, V = u(B, z, A);
|
|
260
|
+
return /* @__PURE__ */ x(d, {
|
|
292
261
|
value: R,
|
|
293
|
-
children: /* @__PURE__ */
|
|
262
|
+
children: /* @__PURE__ */ S(N, {
|
|
294
263
|
"data-slot": "button",
|
|
295
264
|
"data-variant": a,
|
|
296
265
|
"data-color": l,
|
|
297
266
|
"data-size": F,
|
|
298
|
-
"data-shape":
|
|
299
|
-
"data-selected": L &&
|
|
300
|
-
className: e("w-fit max-w-full min-w-0 justify-center", s && "nxgt-btn-as-child overflow-clip text-ellipsis whitespace-nowrap [overflow-clip-margin:22px]",
|
|
267
|
+
"data-shape": w,
|
|
268
|
+
"data-selected": L && E ? "true" : void 0,
|
|
269
|
+
className: e("w-fit max-w-full min-w-0 justify-center", s && "nxgt-btn-as-child overflow-clip text-ellipsis whitespace-nowrap [overflow-clip-margin:22px]", T({
|
|
301
270
|
variant: a,
|
|
302
271
|
color: l,
|
|
303
272
|
size: F
|
|
304
|
-
}),
|
|
305
|
-
type: s ? void 0 :
|
|
306
|
-
disabled:
|
|
307
|
-
...
|
|
308
|
-
"aria-disabled": B ||
|
|
309
|
-
"aria-busy": B ||
|
|
310
|
-
"aria-pressed": L ?
|
|
273
|
+
}), D(C, F), i),
|
|
274
|
+
type: s ? void 0 : j,
|
|
275
|
+
disabled: k,
|
|
276
|
+
...M,
|
|
277
|
+
"aria-disabled": B || M["aria-disabled"],
|
|
278
|
+
"aria-busy": B || M["aria-busy"],
|
|
279
|
+
"aria-pressed": L ? E : M["aria-pressed"],
|
|
311
280
|
onClickCapture: V,
|
|
312
|
-
children: [B && /* @__PURE__ */
|
|
313
|
-
variant:
|
|
281
|
+
children: [B && /* @__PURE__ */ x(o, {
|
|
282
|
+
variant: v,
|
|
314
283
|
color: a === "filled" ? "light" : l,
|
|
315
|
-
className: e("starting:scale-0 duration-500",
|
|
316
|
-
}), /* @__PURE__ */
|
|
284
|
+
className: e("starting:scale-0 duration-500", v === "4" ? "size-7.5" : "size-4.5")
|
|
285
|
+
}), /* @__PURE__ */ x(n, { children: s ? c : O(c) })]
|
|
317
286
|
})
|
|
318
287
|
});
|
|
319
288
|
}
|
|
320
|
-
function
|
|
321
|
-
return e ? /* @__PURE__ */
|
|
289
|
+
function j({ tooltip: e, ...t }) {
|
|
290
|
+
return e ? /* @__PURE__ */ x(a, {
|
|
322
291
|
content: e,
|
|
323
|
-
children: /* @__PURE__ */
|
|
324
|
-
}) : /* @__PURE__ */
|
|
292
|
+
children: /* @__PURE__ */ x(A, { ...t })
|
|
293
|
+
}) : /* @__PURE__ */ x(A, { ...t });
|
|
325
294
|
}
|
|
326
|
-
var
|
|
295
|
+
var M = "tonal";
|
|
327
296
|
//#endregion
|
|
328
|
-
export {
|
|
297
|
+
export { T as i, M as n, O as r, j 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
3
|
import { t as n } from "./warn-once-C_e47JM8.js";
|
|
4
|
-
import { t as r } from "./use-material-translation-
|
|
5
|
-
import { t as i } from "./button-
|
|
4
|
+
import { t as r } from "./use-material-translation-pLgSqqLw.js";
|
|
5
|
+
import { t as i } from "./button-BWcr2b49.js";
|
|
6
6
|
import { t as a } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
7
7
|
import { i as o, n as s, r as c, t as l } from "./util-4heV2LPI.js";
|
|
8
8
|
import { t as u } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
9
|
-
import { t as d } from "./chip-
|
|
9
|
+
import { t as d } from "./chip-CmLW6ZrT.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,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as r } from "./use-material-translation-
|
|
2
|
+
import { r as t } from "./spinner-UvqlDsV8.js";
|
|
3
|
+
import { s as n } from "./use-click-lock-BZYtTmVt.js";
|
|
4
|
+
import { t as r } from "./use-material-translation-pLgSqqLw.js";
|
|
5
5
|
import { t as i } from "./react-node-text-Crkpfpco.js";
|
|
6
6
|
import { cloneElement as a, isValidElement as o } from "react";
|
|
7
7
|
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
@@ -2,13 +2,13 @@ import { r as e } from "./rolldown-runtime-BFFgcFxR.js";
|
|
|
2
2
|
import { t } from "./utils-BLfntITJ.js";
|
|
3
3
|
import { t as n } from "./is-production-GLw59WU8.js";
|
|
4
4
|
import { a as r } from "./dist-lmHmz_bu.js";
|
|
5
|
-
import { c as i, d as a, f as o, n as s, t as c } from "./dropdown-menu-
|
|
6
|
-
import { a as l, i as u, n as d } from "./field-blur-context-
|
|
7
|
-
import { a as f, d as p, r as m, t as h, u as g } from "./toolbar-items-
|
|
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-
|
|
5
|
+
import { c as i, d as a, f as o, n as s, t as c } from "./dropdown-menu-BozV6Ikw.js";
|
|
6
|
+
import { a as l, i as u, n as d } from "./field-blur-context-6McYOnM8.js";
|
|
7
|
+
import { a as f, d as p, r as m, t as h, u as g } from "./toolbar-items-C09bJphe.js";
|
|
8
|
+
import { t as _ } from "./use-material-translation-pLgSqqLw.js";
|
|
9
|
+
import { i as v, n as y, o as b, t as x } from "./code-language-items-Cs1Pwd1h.js";
|
|
10
10
|
import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
11
|
-
import { n as C, t as w } from "./escape-owner-
|
|
11
|
+
import { n as C, t as w } from "./escape-owner-Bu-aDEEO.js";
|
|
12
12
|
import { t as T } from "./skeleton-DSdtr2qc.js";
|
|
13
13
|
import { t as E } from "./react-node-text-Crkpfpco.js";
|
|
14
14
|
import D, { memo as O, useCallback as ee, useEffect as k, useId as A, useImperativeHandle as j, useMemo as M, useRef as N, useState as P } from "react";
|
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-
|
|
6
|
-
import { r as u, t as d } from "./field-blur-
|
|
3
|
+
import { d as n, r, t as i, u as a } from "./toolbar-items-C09bJphe.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-pLgSqqLw.js";
|
|
5
|
+
import { i as s, n as c, o as l } from "./code-language-items-Cs1Pwd1h.js";
|
|
6
|
+
import { r as u, t as d } from "./field-blur-47zmuDkH.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-BKMaeIF6.js";
|
|
12
12
|
import { useEffect as k, useRef as A, useState as j } from "react";
|
|
13
13
|
import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
|
|
14
14
|
import { ChevronDown as F, ChevronUp as I, Columns2 as L } from "lucide-react";
|
|
@@ -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-BozV6Ikw.js";
|
|
2
|
+
import { t as n } from "./use-material-translation-pLgSqqLw.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";
|
|
@@ -18,15 +18,20 @@
|
|
|
18
18
|
visibility: hidden;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
/* A shape over the page's text, controls or surfaces (cards, tables, lists)
|
|
22
|
-
* clear (watch-content.ts): it is hidden,
|
|
23
|
-
* moon, the planet, the eclipse: `.pt.mg`)
|
|
24
|
-
* (`.pt.mh`). The scene stays invisible until
|
|
25
|
-
* flashes over the content.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[data-
|
|
29
|
-
[data-
|
|
21
|
+
/* A shape over the page's text, controls or surfaces (cards, tables, lists)
|
|
22
|
+
* fades out and comes back once clear (watch-content.ts): it is hidden,
|
|
23
|
+
* never moved. A compound body (the moon, the planet, the eclipse: `.pt.mg`)
|
|
24
|
+
* is hidden whole, with its halo (`.pt.mh`). The scene stays invisible until
|
|
25
|
+
* the first check, so nothing flashes over the content. The fade waits for
|
|
26
|
+
* `data-settled`, set a frame after the first pass: a shape that pass drops
|
|
27
|
+
* is hidden at once, never seen fading out over the text on a reload. */
|
|
28
|
+
[data-keep-inside][data-settled] .mo > *,
|
|
29
|
+
[data-keep-inside][data-settled] .pt,
|
|
30
|
+
[data-slot="activity-layout-backdrop"]
|
|
31
|
+
[data-background][data-settled]
|
|
32
|
+
.mo
|
|
33
|
+
> *,
|
|
34
|
+
[data-slot="activity-layout-backdrop"] [data-background][data-settled] .pt {
|
|
30
35
|
transition: opacity 150ms ease;
|
|
31
36
|
}
|
|
32
37
|
/* Important: a preset sets its own opacity on a body (`.md`, the dark
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
visibility: hidden;
|
|
14
14
|
}
|
|
15
15
|
/* A shape over the card or the brand row fades out (watch-content.ts). */
|
|
16
|
-
[data-slot="auth-card-backdrop"] [data-background] .mo > *,
|
|
17
|
-
[data-slot="auth-card-backdrop"] [data-background] .pt {
|
|
16
|
+
[data-slot="auth-card-backdrop"] [data-background][data-settled] .mo > *,
|
|
17
|
+
[data-slot="auth-card-backdrop"] [data-background][data-settled] .pt {
|
|
18
18
|
transition: opacity 150ms ease;
|
|
19
19
|
}
|
|
20
20
|
[data-slot="auth-card-backdrop"] [data-background] .mo > [data-hidden],
|