@nxgt/material 3.85.0 → 3.86.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 +36 -0
- package/README.md +39 -5
- package/dist/{alert-dialog-1t6ULy5i.js → alert-dialog-DZnt8PYE.js} +1 -1
- package/dist/{async-slice-xyA9Uzct.js → async-slice-D3OdV2BS.js} +1 -1
- package/dist/{button-DhiNGrdT.js → button-MAL5an7L.js} +1 -1
- package/dist/{calculator-BcgxxScL.js → calculator-CyBjPONf.js} +10 -10
- package/dist/calculator-field.js +6 -6
- package/dist/{calculator-segment-C4WQAHcN.js → calculator-segment-BigMpjhn.js} +1 -1
- package/dist/calculator.js +1 -1
- package/dist/charts.js +3 -3
- package/dist/{chip-m0_usuzd.js → chip-DKAKoNxq.js} +2 -2
- package/dist/{code-editor-BgKFrcld.js → code-editor-B6dFQSUJ.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-BWw17W9s.js → code-language-items-CXEMiWoF.js} +2 -2
- package/dist/components/components.css +2 -0
- package/dist/components/theme-tokens.css +18 -0
- package/dist/components/ui/layout/app-bar/top-app-bar/top-app-bar-collapse.css +60 -0
- package/dist/components/ui/layout/app-bar/top-app-bar/top-app-bar.css +205 -0
- package/dist/components/ui/layout/app-shell/app-header.css +70 -63
- package/dist/{components-cgUDvVTe.js → components-BVHbzzju.js} +17330 -16928
- package/dist/components.js +24 -24
- package/dist/{conversion-variant-DultZZQm.js → conversion-variant-BT5n4-jm.js} +3 -3
- package/dist/{currency-field-CPbaM7ay.js → currency-field-t41sFYg_.js} +4 -4
- package/dist/{dialog-DmlG9opW.js → dialog-BjKiRXJg.js} +3 -3
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-CDKev8dk.js → dropdown-menu-IRFp4CH9.js} +1 -1
- package/dist/editor.js +7 -7
- package/dist/{empty-state-C56000TB.js → empty-state-C70prDDr.js} +1 -1
- package/dist/{financial-variant-BYjQ690K.js → financial-variant-DqW4HJ_v.js} +5 -5
- package/dist/{hooks-BTwLAy_A.js → hooks-CjO11MS7.js} +2 -2
- package/dist/hooks.js +2 -2
- package/dist/{hover-card-CDtW6utN.js → hover-card-cU_aJa18.js} +1 -1
- package/dist/i18n.js +3 -3
- package/dist/{icon-badge-ec7MmUGA.js → icon-badge-D3KO6uEQ.js} +1 -1
- package/dist/{icon-button-CG4aO8Gh.js → icon-button-DrqNk1Ww.js} +1 -1
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/layout/app-bar/index.d.ts +1 -1
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/index.d.ts +1 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-actions.d.ts +15 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-headline.d.ts +4 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-link.d.ts +9 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-menu-section.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-primary-action.d.ts +12 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-row.d.ts +23 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-title-block.d.ts +18 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.actions.d.ts +43 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.d.ts +9 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.types.d.ts +120 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.utils.d.ts +43 -0
- package/dist/lib/components/ui/layout/app-shell/activity-app-bar.d.ts +6 -6
- package/dist/lib/components/ui/layout/app-shell/activity-chrome.d.ts +6 -3
- package/dist/lib/components/ui/layout/app-shell/activity-column-props.d.ts +1 -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-navigation.types.d.ts +32 -4
- package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +12 -2
- package/dist/lib/components/ui/layout/app-shell/app-header.d.ts +9 -3
- package/dist/lib/components/ui/layout/app-shell/header-look.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-shell/header-title.d.ts +9 -36
- package/dist/lib/components/ui/layout/app-shell/header.utils.d.ts +13 -3
- package/dist/lib/components/ui/layout/app-shell/index.d.ts +1 -1
- package/dist/lib/components/ui/layout/app-shell/navigation.utils.d.ts +7 -2
- package/dist/lib/components/ui/layout/app-shell/shell-scroll.d.ts +23 -1
- package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.d.ts +10 -0
- package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.parts.d.ts +58 -0
- package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.types.d.ts +26 -0
- package/dist/lib/components/ui/layout/app-shell/use-header-scroll.d.ts +16 -9
- package/dist/lib/components/ui/layout/app-shell/use-shell-header.d.ts +1 -1
- package/dist/lib/i18n/resources/en/en.d.ts +4 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +4 -0
- package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +4 -0
- 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 +28 -28
- package/dist/map.js +7 -7
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/{percent-field-8_pILs15.js → percent-field-D47IlaPF.js} +1 -1
- package/dist/{picker-surface-pyGv-Qh9.js → picker-surface-Cg4V4-E0.js} +4 -4
- package/dist/{popover-3EF4q2CT.js → popover-Dzk4-l9U.js} +1 -1
- package/dist/{pos-types-Dv2UxKSN.js → pos-types-JOXMY4Y2.js} +1 -1
- package/dist/{pos-variant-DJvtN9N8.js → pos-variant-B2mS8bMB.js} +4 -4
- package/dist/print.js +1 -1
- package/dist/{programmer-variant-Bmcq2KzC.js → programmer-variant-C_Tl0P4_.js} +2 -2
- package/dist/{public-BNebh4z0.js → public-ByAsqBOf.js} +9 -9
- package/dist/{rich-code-block-DmX7d58S.js → rich-code-block-CJAfqk6b.js} +5 -5
- package/dist/{scientific-variant-DijUrpP8.js → scientific-variant-CskM4MLV.js} +2 -2
- package/dist/{sortable-provider-Cnmt_gWu.js → sortable-provider-ICS_vkLA.js} +2 -2
- package/dist/{spinner-C6LP2Rw8.js → spinner-CweqX5A9.js} +1 -1
- package/dist/styles.css +2 -0
- package/dist/{tabs-Bj1zOe7-.js → tabs-BOT9B4le.js} +1 -1
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-Cxku5iBP.js → theme-toggle-WAFkncYx.js} +1 -1
- package/dist/{toolbar-items-CEIuSxU_.js → toolbar-items-BsgzHSNf.js} +4 -4
- package/dist/{translate-material-DI3nmQ6I.js → translate-material-DTIAPmlU.js} +1 -1
- package/dist/{translator-BstxG_hN.js → translator-BRZNhsy5.js} +8 -0
- package/dist/{use-chat-composer-BqLkk_iH.js → use-chat-composer-67MgWAHz.js} +15 -15
- package/dist/{use-heading-spy-nFyb9_KE.js → use-heading-spy-D8WbHJuK.js} +4 -4
- package/dist/{use-material-translation-1kCHtB0p.js → use-material-translation-CCy1Me0h.js} +1 -1
- package/dist/{use-return-focus-Hv8rn55-.js → use-return-focus-BA8G1qVU.js} +1 -1
- package/docs/README.md +1 -0
- package/docs/components/navigation-and-layout.md +85 -32
- package/docs/guides/app-shell.md +158 -63
- package/docs/guides/drawing.md +2 -0
- package/docs/guides/layouts.md +3 -3
- package/docs/guides/migrating-to-top-app-bar.md +156 -0
- package/docs/guides/theming.md +5 -0
- package/docs/previews/navigation-layout-appshell-blue-moon.webp +0 -0
- package/docs/previews/navigation-layout-appshell-footer-icon.webp +0 -0
- package/docs/previews/navigation-layout-appshell-menu-badge.webp +0 -0
- package/docs/previews/navigation-layout-appshell-page-ground.webp +0 -0
- package/docs/previews/navigation-layout-appshell-themes.webp +0 -0
- package/docs/previews/navigation-layout-appshell.webp +0 -0
- package/docs/previews/navigation-layout-topappbar.webp +0 -0
- package/docs/roadmap.md +17 -6
- package/docs/troubleshooting.md +80 -0
- package/lib/components/components.css +2 -0
- package/lib/components/theme-tokens.css +18 -0
- package/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar-collapse.css +60 -0
- package/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.css +205 -0
- package/lib/components/ui/layout/app-shell/app-header.css +70 -63
- package/lib/styles.css +2 -0
- package/lib/themes/ambre.css +5 -1
- package/lib/themes/ardoise.css +5 -1
- package/lib/themes/bleumono.css +5 -1
- package/lib/themes/bluemoon.css +5 -1
- package/lib/themes/corail.css +5 -1
- package/lib/themes/foret.css +5 -1
- package/lib/themes/lavande.css +5 -1
- package/lib/themes/menthe.css +5 -1
- package/lib/themes/ocean.css +5 -1
- package/lib/themes/pink.css +5 -1
- package/lib/themes/prune.css +5 -1
- package/lib/themes/sable.css +5 -1
- package/lib/themes/slate.css +5 -1
- package/lib/themes/teal.css +5 -1
- package/package.json +2 -2
- package/dist/lib/components/ui/layout/app-bar/top-app-bar.d.ts +0 -18
- package/dist/lib/components/ui/layout/app-shell/app-header-row.d.ts +0 -3
- package/dist/lib/components/ui/layout/app-shell/header-context.d.ts +0 -10
- package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +0 -27
- /package/dist/lib/components/ui/layout/{app-shell → app-bar/top-app-bar}/use-truncated-title.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# @nxgt/material
|
|
2
2
|
|
|
3
|
+
## 3.86.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ActivityLayout` `header` and a route's `handle.header` accept the new header sizes: `size` (`'small' | 'medium-flexible' | 'large-flexible' | 'search'`) and `align` (`'start' | 'center'`), as a string size or in the options object. The old values keep working and are deprecated: `'center'` becomes `{ size: 'small', align: 'center' }`, `'medium'` becomes `'medium-flexible'`, `'large'` becomes `'large-flexible'`, and `variant` in the options is replaced by `size` and `align` (`'none'` stays). A development console warning names the new spelling once per value. A route's header in one spelling overrides the layout's in the other; a string in the new spelling sets the size only, so the layout's `align` stays. The bar is drawn with `TopAppBar` (see the `ActivityLayout` changeset of this release). `resolveHeader` and `ResolvedHeader` gain `size` and `align`; `variant` stays filled with the old equivalent. `ShellHeaderVariant` is widened with the new values: an exhaustive `switch` over it needs them.
|
|
8
|
+
|
|
9
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ActivityLayout` draws its app bar with `TopAppBar`, as the page's one `<header>` banner. The bar is flat on the page ground and tints with a hairline once the page scrolls; `header` / `handle.header` sizes (`small`, `medium-flexible`, `large-flexible`, `search`) map to `TopAppBar`'s `size` and `align`, a medium or large bar collapses with the measured headline row, and `hideOnScroll` slides it away. `headerContext` is the title's subtitle (desktop only), the page title is the one `h1`, and the `search` size makes the search field the bar's centre with the title kept for assistive tech. New `headerPrimaryAction` (`TopAppBar`'s `primaryAction`: a `Button` from 768 px, a `Fab` on a phone), and `headerActions` also takes a `TopAppBarAction[]`. On a phone the menu button is a ghost icon button leading the bar, with no brand; desktop is unchanged.
|
|
10
|
+
|
|
11
|
+
Visual change: the bar's heights follow `TopAppBar`'s design. The headline row of a medium bar is 3 rem and a large bar's 6.5 rem before it is measured (it was 5 rem and 8 rem), the bar sits flat on the ground instead of a translucent card, and a phone's small bar keeps a long title to two lines.
|
|
12
|
+
|
|
13
|
+
No markup break: the bar keeps its `data-slot` names (`app-header`, `app-header-page-title`, `app-header-headline`, `app-header-collapsed-title`, `app-header-context`, `app-header-tabs`, `app-header-title-after`, `app-header-back`). Renaming them to `top-app-bar*` is planned for the next major. `TopAppBar` takes an internal `slotNames` for this, and its CSS styles both names. `AppHeader` stays exported with its props, as a deprecated wrapper over `TopAppBar` (a development warning once); use `TopAppBar` or `ActivityLayout`.
|
|
14
|
+
|
|
15
|
+
Other visible changes: the bar is a `<header>` (the page's banner) instead of a `<div>`; the internal `--nxgt-header-h` custom property (never documented) is gone, while `--nxgt-header-height` still sets the bar's height (the row is that height less the bar's own 1 rem of vertical padding) and the first-paint `--nxgt-header-total` follows it; `data-variant="small"` is still set on a small bar that hides on scroll or has tabs; the slot `app-header-page-title-row` is now the title block, always drawn around the title and the context line (it was drawn only with a `titleAfter` or `headerContext`). A `className` background, radius or shadow on the bar applies at rest; once scrolled the tint replaces a `className` background. A standalone `TopAppBar`'s root is now a column whose children sit in a `[data-slot="top-app-bar-row"]`, so layout utilities on its `className` (`justify-between`, `gap-*`, `items-*`) no longer reach them, and its `title` prop (formerly the HTML `title` attribute) now renders the bar's `<h1>`: see the migration guide, "What looks different".
|
|
16
|
+
|
|
17
|
+
Fixes [#2514](https://github.com/softistx/nxgt-material/issues/2514).
|
|
18
|
+
|
|
19
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Theme: two new tokens, `--surface-container` and `--surface-container-high`, with the Tailwind utilities `bg-surface-container` and `bg-surface-container-high` (React; Vue gets the CSS variables only) (additive, nothing to migrate). `--surface-container` is the scrolled top app bar (pair it with a 1px `--border` hairline): the primary at 12 % over `--ground` in light, 26 % in dark. `--surface-container-high` is raised chrome such as a search field: the primary at 16 % over `--background` in light, 34 % over `--ground` in dark. `defineTheme` and every preset generate them, `ThemeToken` lists them, and the contrast pairs check foreground, muted foreground and primary text on both in light and dark. Fixes [#2509](https://github.com/softistx/nxgt-material/issues/2509).
|
|
20
|
+
|
|
21
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `TopAppBar`: free icon actions, an account menu and a primary action (additive: an `actions` that is a node, an array of elements included, and `trailing` draw as before; only an array whose every item is a plain object with a string `label` is read as data). `actions` also takes a `TopAppBarAction[]` (`label`, `icon`, `onClick`, `href`, `placement: 'bar' | 'account'`, `group`, `selected`, `disabled`): the first ones are free ghost icon buttons (one on a phone, two from 768 px, no pill or group background), the others and every `'account'` action go to a menu opened by `trailing` (the avatar, named "Account menu") or by a More button when there is no `trailing`. Entries with a `group` ("Language", "Theme") sit under that label as inline sections, never submenus, which overflow at 360 px. `linkComponent` draws the actions with an `href` (the nearest `LinkComponentProvider`'s, else `<a>`). A group of non-link entries where one sets `selected` is a radio group. `primaryAction` (`label`, `icon`, `onClick`) is a `Button` from 768 px and a `Fab` above `--nxgt-bottom-chrome` on a phone. New message keys `material.top-app-bar.account` and `material.top-app-bar.more` (en, fr). Fixes [#2512](https://github.com/softistx/nxgt-material/issues/2512).
|
|
22
|
+
|
|
23
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `TopAppBar` and the shell's `AppHeader`: a flexible bar now collapses over its headline row's real height instead of a fixed 5rem / 8rem (those stay only as the height before it is measured, on the server and at first paint). The title shrinks to 90% from its start edge as the bar folds, a reduced-motion visitor gets the collapse snapped, and a scrolled bar takes the `--surface-container` tint with a 1px `--border` hairline through a `data-scrolled` attribute set on the element, so a frame of scrolling no longer re-renders the bar. A collapsing `TopAppBar` also shows a small, `aria-hidden` copy of its title in the top row once the headline has folded away (the one `<h1>` stays in the headline). `[data-collapse]` on a `TopAppBar` has the matching CSS (`--nxgt-header-progress`, `--nxgt-header-extra`). The `AppHeader` headline row now has its natural height (`flex-none`), and `TopAppBar` is no longer `position: relative` except for `size="search"`, so a `sticky` class works. A background, radius or shadow set through `className` applies at rest (the bar's own look is in `@layer components`); once the page scrolls, the scrolled tint replaces a `className` background. No API to migrate; the bar looks different (see "What looks different" in the migration guide, `docs/guides/migrating-to-top-app-bar.md`).
|
|
24
|
+
|
|
25
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `TopAppBar`: new `size` (`'small'`, `'medium-flexible'`, `'large-flexible'`, `'search'`) and `align` (`'start'`, `'center'`) props, a `title` that the bar renders as the page's one `<h1>`, a `subtitle` line under it, and slots `leading`, `titleAfter`, `actions`, `trailing`, `search` and `tabs`, plus `as="header"`, `titleId`, `collapse` and `hideOnScroll` flags. The bar is now flat on the page ground with no shadow; once the shell marks it `data-scrolled` it takes a soft tint and a hairline. Medium titles are 28 px and large ones 40 px (36 px on a phone). No API to migrate (the visual changes are listed below): `variant` (`'center'`, `'medium'`, `'large'`) and `headline` keep working and are deprecated for `size`/`align` and `title`: each logs a one-time development warning (`variant="center"`, `"medium"` and `"large"` warn, `"small"` does not; `headline` without `title` warns). `headline` now takes the bar's title styling (it was display type) and still renders in a non-heading element. `data-variant` is still set (`"search"` is new) and `data-size` / `data-align` are added. Vertical padding now sits on the bar itself, so `className="py-1"` still works. Visual change: the root is now a column (children in a `[data-slot="top-app-bar-row"]`, so root `className` layout utilities no longer reach them), `title` is the bar's `<h1>` (it was the HTML `title` attribute), and the bar no longer paints a surface background and bottom border by default, so snapshots of apps that render it will change. Fixes [#2510](https://github.com/softistx/nxgt-material/issues/2510).
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [#2537](https://github.com/softistx/nxgt-material/pull/2537) [`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Document the `TopAppBar` family: a README example, the `TopAppBar` section of the navigation and layout components page (every `TopAppBarAction` field), a "Top app bar sizes" section in the app shell guide, a new "Moving to TopAppBar" guide (`AppHeader`, the old `header` values, `variant` and `headline`, the visual changes and the `data-slot` rename planned for the next major) and troubleshooting entries for the deprecation warnings.
|
|
30
|
+
- Updated dependencies [[`0251d58`](https://github.com/softistx/nxgt-material/commit/0251d586037b2d922dc1391dedca176f6cc6cde7)]:
|
|
31
|
+
- @nxgt/material-core@0.51.0
|
|
32
|
+
|
|
33
|
+
## 3.85.1
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- [#2536](https://github.com/softistx/nxgt-material/pull/2536) [`06c866d`](https://github.com/softistx/nxgt-material/commit/06c866d6669e722ad58fa78bf7df474f2dd332ce) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `EventCalendar`: a click on the event preview's Edit or Delete button no longer also creates a slot. With `onSlotClick` set, the press on the popover (portaled, but a React child of the time column) made the column capture the pointer, so the click went to the column and `onSlotClick` fired instead of the button. The column now ignores presses that start outside its own DOM. Nothing to migrate.
|
|
38
|
+
|
|
3
39
|
## 3.85.0
|
|
4
40
|
|
|
5
41
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -300,7 +300,7 @@ import { ActivityLayout, SettingsLayout } from '@nxgt/material/components';
|
|
|
300
300
|
<ActivityLayout
|
|
301
301
|
items={items}
|
|
302
302
|
navigation={{ phone: 'bar', tablet: 'rail', desktop: 'sidebar', persistKey: 'nav' }}
|
|
303
|
-
header={{
|
|
303
|
+
header={{ size: 'large-flexible', search: { placeholder: 'Search' } }}
|
|
304
304
|
>
|
|
305
305
|
<Outlet />
|
|
306
306
|
</ActivityLayout>
|
|
@@ -311,6 +311,39 @@ import { ActivityLayout, SettingsLayout } from '@nxgt/material/components';
|
|
|
311
311
|
/>
|
|
312
312
|
```
|
|
313
313
|
|
|
314
|
+
### A top app bar
|
|
315
|
+
|
|
316
|
+
`TopAppBar` is the bar `ActivityLayout` draws; use it alone for a layout of your
|
|
317
|
+
own. `size` is `'small'` (one row), `'medium-flexible'`, `'large-flexible'` (the
|
|
318
|
+
`title` on a second row, collapsing into the small row on scroll) or `'search'`;
|
|
319
|
+
`align="center"` centres a small bar's title. `actions` takes plain nodes or an
|
|
320
|
+
array of data: free icon buttons in the bar, the rest in the account menu on the
|
|
321
|
+
`trailing` avatar. `primaryAction` is a `Button` from 768px and a `Fab` on a phone.
|
|
322
|
+
|
|
323
|
+
```tsx
|
|
324
|
+
import { Bell, Languages, Plus } from 'lucide-react';
|
|
325
|
+
import { Avatar, TopAppBar } from '@nxgt/material/components';
|
|
326
|
+
|
|
327
|
+
<TopAppBar
|
|
328
|
+
as="header"
|
|
329
|
+
size="large-flexible"
|
|
330
|
+
collapse
|
|
331
|
+
title="Orders"
|
|
332
|
+
subtitle="Acme workspace"
|
|
333
|
+
actions={[
|
|
334
|
+
{ label: 'Notifications', icon: <Bell />, onClick: openInbox },
|
|
335
|
+
{ label: 'English', icon: <Languages />, group: 'Language', selected: true, placement: 'account' },
|
|
336
|
+
]}
|
|
337
|
+
trailing={<Avatar alt="Ada Lovelace" fallback="AL" />}
|
|
338
|
+
primaryAction={{ label: 'New order', icon: <Plus />, onClick: createOrder }}
|
|
339
|
+
/>
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
In the shell the same things are `header` / `handle.header`, `headerContext`
|
|
343
|
+
(the subtitle), `headerActions` and `headerPrimaryAction`. `AppHeader` and the
|
|
344
|
+
old `variant` / `headline` props still work and are deprecated: see
|
|
345
|
+
[Moving to TopAppBar](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/migrating-to-top-app-bar.md).
|
|
346
|
+
|
|
314
347
|
Also: `ListDetailsLayout`, `PaneLayout`, `ThreadLayout`, `ResponsiveGrid`,
|
|
315
348
|
`DashboardGrid`, `EditorLayout` and `LandingLayout`. The [layouts guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/layouts.md)
|
|
316
349
|
picks one by need.
|
|
@@ -517,10 +550,10 @@ Each area a consumer starts from has its own page under `docs/guides/`.
|
|
|
517
550
|
| --- | --- |
|
|
518
551
|
| [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 |
|
|
519
552
|
| [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 |
|
|
520
|
-
| [App shell](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md) | laying out an app with `ActivityLayout` (its `header`: small,
|
|
553
|
+
| [App shell](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md) | laying out an app with `ActivityLayout` (its `header`: small, medium-flexible and large-flexible collapsing on scroll, search, hide on scroll, a search in the bar, sticky tabs under it, a back arrow per route with `handle.back`, per route with `handle.header`; 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) |
|
|
521
554
|
| [Layouts](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/layouts.md) | choosing a navigation preset (bar, rail, drawer, sidebar, top, two-level, floating), an app bar variant or a page layout (list and details, settings, dashboard, editor, landing), with an example of each |
|
|
522
555
|
| [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 |
|
|
523
|
-
| [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 |
|
|
556
|
+
| [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), the chrome surfaces (`--surface-container`, `--surface-container-high`), dark mode, tones (the `data-tone` channel, app tones and the calm zone `data-density="calm"`), touch targets, using the compiled CSS without Tailwind |
|
|
524
557
|
| [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 |
|
|
525
558
|
| [Maps](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/maps.md) | using `@nxgt/material/map` — browser-only, optional leaflet peers, `map.css` |
|
|
526
559
|
| [Charts](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/charts.md) | drawing charts with `@nxgt/material/charts` (client-only): the twelve charts, shared props, legend, View data, `onPointClick`, reference bands, thresholds and point tones on the line chart, zoom and phone scroll, right-to-left pages, keyboard and accessibility, theming the `--chart-*` tokens, and migrating from the Nivo charts, removed in 3.0 |
|
|
@@ -536,6 +569,7 @@ Each area a consumer starts from has its own page under `docs/guides/`.
|
|
|
536
569
|
| [Content Security Policy](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/csp.md) | serving a strict CSP: the directives, `NonceProvider` and the per-request nonce, the components that still inject a `<style>`, the zod and KaTeX settings, a self-hosted font |
|
|
537
570
|
| [The Vite plugin](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/vite-plugin.md) | adding `nxgtMaterial()` to `vite.config.ts`: the CSP by hash or nonce, self-hosted fonts, a build that checks the stylesheet, and each option's opt-out |
|
|
538
571
|
| [The field look (2.x)](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/field-look-2-x.md) | what changed in the fields' look during 2.x (corners, surface, hover, focus halo, error, read-only; the `Select`, `Combobox`, `Autocomplete` and `TreeSelectField` triggers and their connected lists, the 44px `NativeSelect`, the country, time-zone and phone fields, `SearchField`, the date and time fields' boxes and triggers, and the lists' headers, descriptions and empty state) and how to get the earlier look back |
|
|
572
|
+
| [Moving to TopAppBar](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/migrating-to-top-app-bar.md) | your app uses `AppHeader`, `TopAppBar`'s `variant` / `headline`, the shell's `'center'` / `'medium'` / `'large'` header values or the `app-header*` slots: each old spelling, its replacement, the visual changes (heights, flat bar) and the slot rename planned for the next major |
|
|
539
573
|
| [Migrating to 3.0](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/migrating-to-3.md) | upgrading from 2.x: the React 19.3 and React Router 8.5 peers, `ActivityLayout`'s default route transition (`routeTransition`), and each API removed in 3.0 with what replaces it, as search → replace pairs |
|
|
540
574
|
| [Migrating to the Vite plugin](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/migrate-to-vite-plugin.md) | moving an app's hand-written CSP header, nonce, zod setting, Inter import or PDF bundling to `nxgtMaterial()`, as search → replace pairs |
|
|
541
575
|
| [Code editor](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/code-editor.md) | `CodeEditor` and `CodeDiff` from `@nxgt/material/code-editor`: the theme presets and `defineCodeTheme`, several themes on one page, a self-hosted Monaco with `configureMonaco`, and moving off the barrel import |
|
|
@@ -764,11 +798,11 @@ Not components: what the stylesheet gives any element.
|
|
|
764
798
|
|
|
765
799
|
| Preview | Component | What it does | @nxgt/material-vue |
|
|
766
800
|
| --- | --- | --- | --- |
|
|
767
|
-
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-appshell.webp" width="120" alt="ActivityLayout"> | [`ActivityLayout`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#activitylayout), `ActivityContent`, `AppSidebar`, `AppHeader
|
|
801
|
+
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-appshell.webp" width="120" alt="ActivityLayout"> | [`ActivityLayout`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#activitylayout), `ActivityContent`, `AppSidebar`, `AppHeader` (deprecated, use `TopAppBar`), `AppBreadcrumb`, `AppBreadcrumbItem`, `AppBreadcrumbSeparator` | App shell: sidebar built from `items`, a header with a mobile sheet (`header` picks its size: small, medium-flexible, large-flexible or search, `align`, collapsing on scroll, `hideOnScroll`, a route's `handle.header`; `headerActions` as data and `headerPrimaryAction`), route breadcrumbs and a titled page; entries are real links, and `linkComponent` swaps the link; it draws the theme's background (Lavande's is the gradient), `backdrop` puts a `/backgrounds` preset behind it for one screen, and `backdrop={false}` draws a plain page, and `keepClear="gaps"` lets its glyphs sit in the gaps between surfaces of a dense page. It paints the tinted page ground (`--ground`, `bg-ground`) under the content, with the sidebar and the app bar flat on `--background` and the cards on `bg-card` (`--ground: var(--background)` opts out). `ActivityContent` takes an `aside` side panel (beside the content from 1280px in CSS only, sticky under the app bar, a named `complementary` landmark, stacked below) and `width="form" \| "reading"` to cap the main column with the panel right beside it; `notice` puts an `Alert` or `Banner` above both, at their width. See the [app shell guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md). | `ActivityLayout`, `ActivityContent`, `AppSidebar`, `AppHeader` (deprecated, use `TopAppBar`), `AppBreadcrumb` |
|
|
768
802
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-accountmenu.webp" width="120" alt="AccountMenu"> | [`AccountMenu`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#accountmenu) | The app bar's avatar menu: named after the account, the name and e-mail, the app's links, then an optional Theme choice (`themeChoice`) and a destructive Sign out with a busy state. | `AccountMenu` |
|
|
769
803
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-authcard.webp" width="120" alt="AuthCard"> | [`AuthCard`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#authcard) | The frame of a signed-out page: one `main`, a centred card whose title is the `h1` (focusable on an end state), a status or alert notice, a brand and toolbar row, safe-area padding, an optional backdrop (the theme's by default) that keeps clear of the card. | `AuthCard` |
|
|
770
804
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-sidebar.webp" width="120" alt="Sidebar"> | [`Sidebar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#sidebar), `SidebarHeader`, `SidebarContent`, `SidebarFooter`, `SidebarMenuItem`, `SidebarMenuLabel` | Collapsible navigation sidebar with icons, tooltips and active items. | `Sidebar` (same parts) |
|
|
771
|
-
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-topappbar.webp" width="120" alt="TopAppBar"> | [`TopAppBar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#topappbar), `BottomAppBar` |
|
|
805
|
+
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-topappbar.webp" width="120" alt="TopAppBar"> | [`TopAppBar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#topappbar), `BottomAppBar` | The top app bar: four sizes (`size`: small, medium-flexible, large-flexible, search), `align`, a `title` that is the page's `h1` with a `subtitle`, collapse on scroll, free icon `actions` as data with an account menu, a `primaryAction` (a FAB on a phone); and a bottom bar of icon actions with an active state. `AppHeader` is its deprecated wrapper. | `TopAppBar`, `BottomAppBar` |
|
|
772
806
|
| | [`AppSearchBar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#appsearchbar), `SearchView` | The app bar's search (`header.search` on `ActivityLayout`): a pill with a docked results panel from 768px (a `shortcut`, `results` as a node or a function, a polite `resultCount`), a search button opening a full-screen, focus-trapped `SearchView` on a phone. | not yet |
|
|
773
807
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-stickyactionbar.webp" width="120" alt="StickyActionBar"> | [`StickyActionBar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#stickyactionbar) | The bar of a page's main decision: stuck to the bottom on a phone above the keyboard and clear of the safe areas, inline from `md`, one primary action. | not yet |
|
|
774
808
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-breadcrumb.webp" width="120" alt="Breadcrumb"> | [`Breadcrumb`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#breadcrumb), `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis` | Breadcrumb primitives. | `Breadcrumb` (same parts) |
|
|
@@ -4,7 +4,7 @@ import { o as n } from "./dist-DVRQkaTK.js";
|
|
|
4
4
|
import { r } from "./dist-DWZXlCZR.js";
|
|
5
5
|
import { a as i } from "./dist-DHdUUM1w.js";
|
|
6
6
|
import { t as a } from "./in-dialog-D61Yeaol.js";
|
|
7
|
-
import { a as o, c as s, d as c, i as l, l as u, n as d, o as f, r as p, s as m, t as h, u as g } from "./use-return-focus-
|
|
7
|
+
import { a as o, c as s, d as c, i as l, l as u, n as d, o as f, r as p, s as m, t as h, u as g } from "./use-return-focus-BA8G1qVU.js";
|
|
8
8
|
import { i as _ } from "./escape-owner-DpaP0lm1.js";
|
|
9
9
|
import * as v from "react";
|
|
10
10
|
import { Fragment as y, isValidElement as b } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as e, r as t, s as n, u as r } from "./translator-
|
|
1
|
+
import { l as e, r as t, s as n, u as r } from "./translator-BRZNhsy5.js";
|
|
2
2
|
import { t as i } from "./_baseIsEqual-C6ksIHya.js";
|
|
3
3
|
import { useMemo as a } from "react";
|
|
4
4
|
import { asyncThunkCreator as o, buildCreateSlice as s } from "@reduxjs/toolkit";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { n as t, t as n } from "./dist-DVRQkaTK.js";
|
|
3
|
-
import { n as r, t as i } from "./spinner-
|
|
3
|
+
import { n as r, t as i } from "./spinner-CweqX5A9.js";
|
|
4
4
|
import { t as a } from "./dist-DkQbkF9T.js";
|
|
5
5
|
import { a as o, i as s, n as c, o as l, s as u, t as d } from "./use-click-lock-Bwg_caHO.js";
|
|
6
6
|
import { t as f } from "./is-production-GLw59WU8.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { n as t, r as n, t as r, u as i } from "./tabs-
|
|
3
|
-
import { t as a } from "./button-
|
|
4
|
-
import { t as o } from "./use-material-translation-
|
|
5
|
-
import { t as s } from "./icon-button-
|
|
2
|
+
import { n as t, r as n, t as r, u as i } from "./tabs-BOT9B4le.js";
|
|
3
|
+
import { t as a } from "./button-MAL5an7L.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-CCy1Me0h.js";
|
|
5
|
+
import { t as s } from "./icon-button-DrqNk1Ww.js";
|
|
6
6
|
import { t as c } from "./copy-to-clipboard-Be5Ffvs_.js";
|
|
7
7
|
import { t as l } from "./useEvent-2fKq-6w8.js";
|
|
8
8
|
import { t as u } from "./useLatest-C2PnQEeD.js";
|
|
@@ -11,7 +11,7 @@ import { t as f } from "./skeleton-DSdtr2qc.js";
|
|
|
11
11
|
import { t as p } from "./live-status-BGPaN8r8.js";
|
|
12
12
|
import { n as m, t as h } from "./calculator-context-BugcKuVG.js";
|
|
13
13
|
import { a as g, c as _, i as v, l as y, n as b, o as ee, r as te, s as ne } from "./calculator-announce-DRd2c6Dq.js";
|
|
14
|
-
import { i as re, t as ie } from "./pos-types-
|
|
14
|
+
import { i as re, t as ie } from "./pos-types-JOXMY4Y2.js";
|
|
15
15
|
import { a as ae, r as oe } from "./key-layout-cR79xfGE.js";
|
|
16
16
|
import { n as x, r as se, t as ce } from "./programmer-word-CNCF7DJF.js";
|
|
17
17
|
import { t as le } from "./standard-layout-BuSRr3TY.js";
|
|
@@ -279,11 +279,11 @@ function Le({ helpId: e }) {
|
|
|
279
279
|
//#endregion
|
|
280
280
|
//#region lib/components/ui/widgets/calculator/variants/variant-loader.ts
|
|
281
281
|
var Re = {
|
|
282
|
-
scientific: () => import("./scientific-variant-
|
|
283
|
-
pos: () => import("./pos-variant-
|
|
284
|
-
programmer: () => import("./programmer-variant-
|
|
285
|
-
financial: () => import("./financial-variant-
|
|
286
|
-
conversion: () => import("./conversion-variant-
|
|
282
|
+
scientific: () => import("./scientific-variant-CskM4MLV.js"),
|
|
283
|
+
pos: () => import("./pos-variant-B2mS8bMB.js"),
|
|
284
|
+
programmer: () => import("./programmer-variant-C_Tl0P4_.js"),
|
|
285
|
+
financial: () => import("./financial-variant-DqW4HJ_v.js"),
|
|
286
|
+
conversion: () => import("./conversion-variant-BT5n4-jm.js")
|
|
287
287
|
}, B = "failed", V = /* @__PURE__ */ new Map(), H = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Set(), W = () => {
|
|
288
288
|
for (let e of U) e();
|
|
289
289
|
};
|
package/dist/calculator-field.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { t } from "./button-
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
4
|
-
import { t as r } from "./icon-button-
|
|
5
|
-
import { a as i, i as a, n as o, r as s, t as c } from "./picker-surface-
|
|
6
|
-
import { r as l, t as u } from "./currency-field-
|
|
2
|
+
import { t } from "./button-MAL5an7L.js";
|
|
3
|
+
import { t as n } from "./use-material-translation-CCy1Me0h.js";
|
|
4
|
+
import { t as r } from "./icon-button-DrqNk1Ww.js";
|
|
5
|
+
import { a as i, i as a, n as o, r as s, t as c } from "./picker-surface-Cg4V4-E0.js";
|
|
6
|
+
import { r as l, t as u } from "./currency-field-t41sFYg_.js";
|
|
7
7
|
import { r as d, t as f } from "./field-blur-DkiZOVNV.js";
|
|
8
|
-
import { t as p } from "./calculator-
|
|
8
|
+
import { t as p } from "./calculator-CyBjPONf.js";
|
|
9
9
|
import { useId as m, useState as h } from "react";
|
|
10
10
|
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
11
11
|
import { Calculator as y } from "lucide-react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-CCy1Me0h.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region lib/components/ui/widgets/calculator/partials/calculator-segment.tsx
|
|
4
4
|
function n({ label: n, choices: r, value: i, nameKey: a, onChange: o }) {
|
package/dist/calculator.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./calculator-
|
|
1
|
+
import { n as e, t } from "./calculator-CyBjPONf.js";
|
|
2
2
|
export { e as CALCULATOR_VARIANTS, t as Calculator };
|
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 "./button-
|
|
5
|
-
import { t as i } from "./use-material-translation-
|
|
4
|
+
import { t as r } from "./button-MAL5an7L.js";
|
|
5
|
+
import { t as i } from "./use-material-translation-CCy1Me0h.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-DKAKoNxq.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 { n as t } from "./spinner-
|
|
2
|
+
import { n as t } from "./spinner-CweqX5A9.js";
|
|
3
3
|
import { s as n } from "./use-click-lock-Bwg_caHO.js";
|
|
4
|
-
import { t as r } from "./use-material-translation-
|
|
4
|
+
import { t as r } from "./use-material-translation-CCy1Me0h.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";
|
|
@@ -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 { t as n } from "./dist-DWZXlCZR.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-IRFp4CH9.js";
|
|
5
5
|
import { a as c, i as l, n as u } from "./field-blur-context-BLGgf_3z.js";
|
|
6
|
-
import { a as d, o as f, r as p, s as m, t as h } from "./toolbar-items-
|
|
6
|
+
import { a as d, o as f, r as p, s as m, t as h } from "./toolbar-items-BsgzHSNf.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-CCy1Me0h.js";
|
|
9
|
+
import { i as v, n as y, o as b, t as x } from "./code-language-items-CXEMiWoF.js";
|
|
10
10
|
import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
11
11
|
import { n as C, t as w } from "./escape-owner-DpaP0lm1.js";
|
|
12
12
|
import { t as T } from "./skeleton-DSdtr2qc.js";
|
package/dist/code-editor.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { t } from "./dist-DWZXlCZR.js";
|
|
3
|
-
import { o as n, r, s as i, t 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 { o as n, r, s as i, t as a } from "./toolbar-items-BsgzHSNf.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-CCy1Me0h.js";
|
|
5
|
+
import { i as s, n as c, o as l } from "./code-language-items-CXEMiWoF.js";
|
|
6
6
|
import { t as u } from "./skeleton-DSdtr2qc.js";
|
|
7
7
|
import { t as d } from "./live-status-BGPaN8r8.js";
|
|
8
8
|
import { t as f } from "./use-mobile-BDro060N.js";
|
|
9
9
|
import { t as p } from "./react-node-text-Crkpfpco.js";
|
|
10
|
-
import { a as m, c as h, d as g, f as _, i as v, l as y, m as b, o as x, p as S, r as C, s as w, t as T, u as E } from "./code-editor-
|
|
10
|
+
import { a as m, c as h, d as g, f as _, i as v, l as y, m as b, o as x, p as S, r as C, s as w, t as T, u as E } from "./code-editor-B6dFQSUJ.js";
|
|
11
11
|
import { r as D, t as O } from "./field-blur-DkiZOVNV.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";
|
|
@@ -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-IRFp4CH9.js";
|
|
2
|
+
import { t as n } from "./use-material-translation-CCy1Me0h.js";
|
|
3
3
|
import { t as r } from "./copy-to-clipboard-Be5Ffvs_.js";
|
|
4
4
|
import { t as i } from "./live-status-BGPaN8r8.js";
|
|
5
5
|
import { useEffect as a, useRef as o, useState as s } from "react";
|
|
@@ -106,6 +106,8 @@
|
|
|
106
106
|
@import "./rich-chat-composer-expressive.css";
|
|
107
107
|
@import "./ui/actions/toolbar/toolbar-pair.css";
|
|
108
108
|
@import "./ui/layout/app-bar/bottom-app-bar.css";
|
|
109
|
+
@import "./ui/layout/app-bar/top-app-bar/top-app-bar.css";
|
|
110
|
+
@import "./ui/layout/app-bar/top-app-bar/top-app-bar-collapse.css";
|
|
109
111
|
@import "./ui/primitives/label/label.css";
|
|
110
112
|
/* The field box every text field and picker trigger draws: its
|
|
111
113
|
* --nxgt-field-* tokens, its states, its open shape and parts, then forced
|
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
`body`, so a zone that sets --primary or --background gets its own. A page
|
|
11
11
|
keeps the flat look with `--ground: var(--background)`. */
|
|
12
12
|
--ground: color-mix(in oklab, var(--primary) 7%, var(--background));
|
|
13
|
+
/* The scrolled top app bar (draw a 1px --border hairline with it): the primary at
|
|
14
|
+
12 % over the ground. --surface-container-high is raised chrome such as a search
|
|
15
|
+
field: the primary at 16 % over the page. The default seed solves to 12 and 16;
|
|
16
|
+
palette.test and ground.test guard it. */
|
|
17
|
+
--surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
|
|
18
|
+
--surface-container-high: color-mix(
|
|
19
|
+
in oklab,
|
|
20
|
+
var(--primary) 16%,
|
|
21
|
+
var(--background)
|
|
22
|
+
);
|
|
13
23
|
--card: oklch(1 0 0);
|
|
14
24
|
/* The card's edge (Card, Popover, Dialog): the border in light; dark draws it a
|
|
15
25
|
hairline lighter than the card. */
|
|
@@ -114,6 +124,14 @@
|
|
|
114
124
|
var(--primary) 6%,
|
|
115
125
|
color-mix(in oklab, var(--background) 55%, black)
|
|
116
126
|
);
|
|
127
|
+
/* Dark: the primary at 26 % over the ground (the scrolled top app bar) and 34 % over
|
|
128
|
+
the ground (raised chrome such as a search field). */
|
|
129
|
+
--surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
|
|
130
|
+
--surface-container-high: color-mix(
|
|
131
|
+
in oklab,
|
|
132
|
+
var(--primary) 34%,
|
|
133
|
+
var(--ground)
|
|
134
|
+
);
|
|
117
135
|
--card: oklch(0.22 0.019 289.4);
|
|
118
136
|
--card-edge: color-mix(in oklab, white 8%, var(--card));
|
|
119
137
|
--card-foreground: oklch(0.943 0.012 291.3);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* Collapse (data-collapse, medium and large): use-header-scroll.ts sets
|
|
2
|
+
* --nxgt-header-progress (0 expanded, 1 collapsed) on the bar as the shell
|
|
3
|
+
* scrolls, and --nxgt-header-extra, the headline row's measured height. The
|
|
4
|
+
* headline gives that height back through a negative margin (the bar clips
|
|
5
|
+
* it), fades, and its title shrinks to 90% from its start edge. The rem values
|
|
6
|
+
* are the height before it is measured (the server, first paint). A bar
|
|
7
|
+
* outside the shell has no progress: 0, the expanded bar. */
|
|
8
|
+
:is(
|
|
9
|
+
[data-slot="top-app-bar"],
|
|
10
|
+
[data-slot="app-header"]
|
|
11
|
+
)[data-collapse][data-size="medium-flexible"] {
|
|
12
|
+
--nxgt-header-extra: 3rem;
|
|
13
|
+
}
|
|
14
|
+
:is(
|
|
15
|
+
[data-slot="top-app-bar"],
|
|
16
|
+
[data-slot="app-header"]
|
|
17
|
+
)[data-collapse][data-size="large-flexible"] {
|
|
18
|
+
--nxgt-header-extra: 6.5rem;
|
|
19
|
+
}
|
|
20
|
+
:is([data-slot="top-app-bar"], [data-slot="app-header"])[data-collapse]:is(
|
|
21
|
+
[data-size="medium-flexible"],
|
|
22
|
+
[data-size="large-flexible"]
|
|
23
|
+
) {
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
}
|
|
26
|
+
:is([data-slot="top-app-bar"], [data-slot="app-header"])[data-collapse]
|
|
27
|
+
:is([data-slot="top-app-bar-headline"], [data-slot="app-header-headline"]) {
|
|
28
|
+
margin-bottom: calc(
|
|
29
|
+
var(--nxgt-header-extra) *
|
|
30
|
+
var(--nxgt-header-progress, 0) *
|
|
31
|
+
-1
|
|
32
|
+
);
|
|
33
|
+
opacity: clamp(0, calc(1 - var(--nxgt-header-progress, 0) * 1.6), 1);
|
|
34
|
+
transform-origin: left bottom;
|
|
35
|
+
transform: translateY(calc(var(--nxgt-header-progress, 0) * -0.75rem))
|
|
36
|
+
scale(calc(1 - var(--nxgt-header-progress, 0) * 0.1));
|
|
37
|
+
}
|
|
38
|
+
[dir="rtl"]
|
|
39
|
+
:is([data-slot="top-app-bar"], [data-slot="app-header"])[data-collapse]
|
|
40
|
+
:is([data-slot="top-app-bar-headline"], [data-slot="app-header-headline"]) {
|
|
41
|
+
transform-origin: right bottom;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* The title's copy in the small row (aria-hidden: the headline keeps the one
|
|
45
|
+
* h1, folded away but still in the accessibility tree). It fades in over the
|
|
46
|
+
* second half of the collapse; under reduced motion the progress snaps. */
|
|
47
|
+
:is(
|
|
48
|
+
[data-slot="top-app-bar-collapsed-title"],
|
|
49
|
+
[data-slot="app-header-collapsed-title"]
|
|
50
|
+
) {
|
|
51
|
+
flex: 1;
|
|
52
|
+
min-width: 0;
|
|
53
|
+
overflow: hidden;
|
|
54
|
+
text-overflow: ellipsis;
|
|
55
|
+
white-space: nowrap;
|
|
56
|
+
font-size: 1.125rem;
|
|
57
|
+
line-height: 1.5rem;
|
|
58
|
+
font-weight: 600;
|
|
59
|
+
opacity: clamp(0, calc((var(--nxgt-header-progress, 0) - 0.5) * 2), 1);
|
|
60
|
+
}
|