@nxgt/material 3.10.2 → 3.12.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.
Files changed (158) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +10 -11
  3. package/dist/{async-slice-DDjaJY_F.js → async-slice-4qbER86I.js} +1 -1
  4. package/dist/button-BNjw-pnE.js +327 -0
  5. package/dist/button-group-context-CaP0X5p_.js +5 -0
  6. package/dist/{button-tones-BgZJ1tkD.js → button-tones-BwuVvAmd.js} +9 -1
  7. package/dist/{callout-view-DdJPdFrP.js → callout-view-C6voDS00.js} +1 -1
  8. package/dist/charts.js +5 -5
  9. package/dist/{chip-DpySRqCy.js → chip-DLgQTJBZ.js} +4 -4
  10. package/dist/{code-editor-BiA14xua.js → code-editor-BZbaYLvo.js} +8 -8
  11. package/dist/code-editor.js +7 -7
  12. package/dist/{code-language-items-C_dJ6GVs.js → code-language-items-BT5BO5w6.js} +2 -2
  13. package/dist/components/base.css +21 -6
  14. package/dist/components/components.css +6 -2
  15. package/dist/components/type-scale.css +194 -0
  16. package/dist/components/ui/actions/button/button.css +156 -0
  17. package/dist/components/ui/actions/button-group/button-group-standard.css +131 -0
  18. package/dist/components/ui/actions/button-group/button-group.css +4 -1
  19. package/dist/components/ui/actions/icon-button/icon-button.css +115 -0
  20. package/dist/components/ui/actions/morph-fill.css +62 -0
  21. package/dist/components/ui/feedback/toast/toast-expressive.css +17 -0
  22. package/dist/components/ui/layout/app-shell/activity-backdrop-shapes.css +49 -0
  23. package/dist/components/ui/layout/app-shell/activity-backdrop.css +0 -17
  24. package/dist/components/ui/layout/sidebar/sidebar-tokens.css +7 -2
  25. package/dist/{components-BkF9N-Yx.js → components-yx1t_5_P.js} +13740 -13422
  26. package/dist/components.js +24 -24
  27. package/dist/{dialog-CkIYpJXk.js → dialog-BQp5IdFl.js} +147 -147
  28. package/dist/dnd.js +1 -1
  29. package/dist/{dropdown-menu-BC5Tbhb9.js → dropdown-menu-BsH9W_3C.js} +3 -3
  30. package/dist/editor-viewer.js +1 -1
  31. package/dist/editor.js +13 -13
  32. package/dist/{empty-state-SeAg2TOX.js → empty-state-WaU4-T2c.js} +5 -5
  33. package/dist/escape-owner-C4W_sOAU.js +116 -0
  34. package/dist/{field-blur-DPLsMufs.js → field-blur-CJHzVSh9.js} +1 -1
  35. package/dist/{field-blur-context-1ZwJgsHE.js → field-blur-context-Cft9s7Hg.js} +2 -2
  36. package/dist/{hover-card-Cox-tPDz.js → hover-card-C0fw2kLK.js} +72 -71
  37. package/dist/i18n.js +12 -12
  38. package/dist/{icon-badge-q3Ve8gra.js → icon-badge-DUAq9f7H.js} +4 -4
  39. package/dist/icon-button-ifTpXt0A.js +355 -0
  40. package/dist/{illustration-BfHRpVzM.js → illustration-BmQmvW_4.js} +1 -1
  41. package/dist/illustrations.js +2 -2
  42. package/dist/lib/components/ui/actions/button/button-tones.d.ts +16 -0
  43. package/dist/lib/components/ui/actions/button/button.d.ts +13 -0
  44. package/dist/lib/components/ui/actions/button/button.variants.d.ts +4 -3
  45. package/dist/lib/components/ui/actions/button-group/button-group-context.d.ts +16 -0
  46. package/dist/lib/components/ui/actions/button-group/button-group-reset.d.ts +13 -0
  47. package/dist/lib/components/ui/actions/button-group/button-group.d.ts +19 -2
  48. package/dist/lib/components/ui/actions/icon-button/icon-button-shape.d.ts +3 -2
  49. package/dist/lib/components/ui/actions/icon-button/icon-button.d.ts +18 -4
  50. package/dist/lib/components/ui/actions/icon-button/icon-button.variants.d.ts +34 -4
  51. package/dist/lib/components/ui/display/badge/badge.d.ts +7 -2
  52. package/dist/lib/components/ui/display/entity-header/entity-header.d.ts +9 -1
  53. package/dist/lib/components/ui/display/entity-header/entity-stats.d.ts +16 -0
  54. package/dist/lib/components/ui/display/entity-header/partials/entity-header-actions.d.ts +6 -0
  55. package/dist/lib/components/ui/display/entity-header/partials/entity-header-body.d.ts +14 -0
  56. package/dist/lib/components/ui/display/entity-header/partials/entity-header-icon.d.ts +6 -0
  57. package/dist/lib/components/ui/display/entity-header/partials/shown.d.ts +2 -0
  58. package/dist/lib/components/ui/display/list-tile/list-tile.d.ts +8 -1
  59. package/dist/lib/components/ui/display/list-tile/partials/list-tile-body.d.ts +2 -1
  60. package/dist/lib/components/ui/display/stat-card/index.d.ts +1 -1
  61. package/dist/lib/components/ui/display/stat-card/partials/stat-card-compact.d.ts +12 -0
  62. package/dist/lib/components/ui/display/stat-card/stat-card-classes.d.ts +3 -2
  63. package/dist/lib/components/ui/display/stat-card/stat-card.d.ts +2 -2
  64. package/dist/lib/components/ui/display/stat-card/types.d.ts +9 -0
  65. package/dist/lib/components/ui/feedback/alert/alert-variants.d.ts +18 -0
  66. package/dist/lib/components/ui/feedback/alert/alert.d.ts +2 -6
  67. package/dist/lib/components/ui/feedback/typing-indicator/typing-indicator.d.ts +1 -1
  68. package/dist/lib/components/ui/fields/slider/split-slider-props.d.ts +1 -1
  69. package/dist/lib/components/ui/fields/slider/use-slider-control.d.ts +1 -1
  70. package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +17 -0
  71. package/dist/lib/components/ui/layout/app-shell/activity-layout.d.ts +3 -106
  72. package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +113 -0
  73. package/dist/lib/components/ui/layout/app-shell/app-breadcrumb.d.ts +2 -1
  74. package/dist/lib/components/ui/layout/app-shell/app-sidebar-icon-item.d.ts +13 -0
  75. package/dist/lib/components/ui/layout/app-shell/app-sidebar-label-item.d.ts +11 -0
  76. package/dist/lib/components/ui/layout/app-shell/keep-shapes-inside.d.ts +6 -0
  77. package/dist/lib/components/ui/layout/app-shell/observe-layout.d.ts +11 -0
  78. package/dist/lib/components/ui/layout/app-shell/shape-units.d.ts +16 -0
  79. package/dist/lib/components/ui/layout/app-shell/shapes-clear-content.d.ts +13 -0
  80. package/dist/lib/components/ui/layout/app-shell/types.d.ts +10 -0
  81. package/dist/lib/components/ui/layout/app-shell/use-keep-shapes-inside.d.ts +14 -0
  82. package/dist/lib/components/ui/layout/app-shell/watch-content.d.ts +19 -0
  83. package/dist/lib/components/ui/overlays/dialog/dialog-variants.d.ts +1 -1
  84. package/dist/lib/components/ui/primitives/toggle/toggle.d.ts +1 -1
  85. package/dist/lib/components/ui/primitives/typography/typography.d.ts +17 -7
  86. package/dist/lib/components/ui/primitives/typography/typography.variants.d.ts +55 -0
  87. package/dist/lib/components/ui/selection/choice-group/use-choice-group-field.d.ts +2 -2
  88. package/dist/lib/components/ui/tones.d.ts +1 -1
  89. package/dist/lib/i18n/translator.d.ts +1 -1
  90. package/dist/lib.js +2 -2
  91. package/dist/{line-path-BQeLQZ-P.js → line-path-C5pZGC49.js} +1 -1
  92. package/dist/main.js +29 -29
  93. package/dist/map.js +9 -9
  94. package/dist/material.css +1 -1
  95. package/dist/pdf-reader.js +1 -1
  96. package/dist/print.js +1 -1
  97. package/dist/{public-CtpsxV4I.js → public-B0Nq_yYV.js} +524 -524
  98. package/dist/{render-json-DyFYFIkZ.js → render-json-BOhvPnSv.js} +1 -1
  99. package/dist/{rich-code-block-C2Fp_FDU.js → rich-code-block-v7WmeZp9.js} +5 -5
  100. package/dist/{rich-text-viewer-LO1IZCWs.js → rich-text-viewer-W15XIwah.js} +2 -2
  101. package/dist/{skeleton-Bmp4gWAH.js → skeleton-DSdtr2qc.js} +1 -1
  102. package/dist/{sortable-provider-pVaEZzty.js → sortable-provider-CgDTolQR.js} +3 -3
  103. package/dist/{spinner-CsHcmcpF.js → spinner-BtSIYVrC.js} +3 -3
  104. package/dist/{state-scenes-SGNyZjTz.js → state-scenes-BX03WmSu.js} +1 -1
  105. package/dist/styles.css +2 -0
  106. package/dist/theme-picker.js +3 -3
  107. package/dist/{theme-toggle-oU-fh6WE.js → theme-toggle-B2Pehdhn.js} +2 -2
  108. package/dist/{toggle-group-j8zaxEg1.js → toggle-group-BMJNcFAC.js} +1 -1
  109. package/dist/{toolbar-items-CqHvlTU8.js → toolbar-items-rUHdVqAq.js} +399 -398
  110. package/dist/{tooltip-rhbqNmr3.js → tooltip-CkttDIab.js} +1 -1
  111. package/dist/{translate-material-CGZljjp1.js → translate-material-Bd_KgfB8.js} +1 -1
  112. package/dist/{translator-DCYO4Ij3.js → translator-Dje8HrNz.js} +5 -5
  113. package/dist/{use-chat-composer-nWWfVyrK.js → use-chat-composer-B0_STpQN.js} +4173 -4173
  114. package/dist/{use-material-translation-DkxcLbLM.js → use-material-translation-B3V_bz-5.js} +1 -1
  115. package/dist/{utils-Bcd2Z3ea.js → utils-BLfntITJ.js} +14 -1
  116. package/docs/components/buttons-and-actions.md +64 -15
  117. package/docs/components/data-display.md +40 -9
  118. package/docs/components/feedback-and-status.md +12 -1
  119. package/docs/components/navigation-and-layout.md +4 -3
  120. package/docs/components/primitives.md +52 -10
  121. package/docs/guides/app-shell.md +52 -8
  122. package/docs/guides/backgrounds.md +2 -0
  123. package/docs/guides/theming.md +55 -3
  124. package/docs/previews/buttons-actions-button.webp +0 -0
  125. package/docs/previews/buttons-actions-iconbutton.webp +0 -0
  126. package/docs/previews/data-display-badge.webp +0 -0
  127. package/docs/previews/data-display-entityheader.webp +0 -0
  128. package/docs/previews/data-display-listtile.webp +0 -0
  129. package/docs/previews/data-display-statcard.webp +0 -0
  130. package/docs/previews/feedback-status-banner.webp +0 -0
  131. package/docs/previews/navigation-layout-appshell-footer-icon.webp +0 -0
  132. package/docs/previews/navigation-layout-appshell-menu-badge.webp +0 -0
  133. package/docs/previews/navigation-layout-appshell.webp +0 -0
  134. package/docs/previews/navigation-layout-sidebar.webp +0 -0
  135. package/docs/previews/primitives-typography.webp +0 -0
  136. package/docs/roadmap.md +53 -4
  137. package/docs/troubleshooting.md +75 -4
  138. package/lib/components/base.css +21 -6
  139. package/lib/components/components.css +6 -2
  140. package/lib/components/type-scale.css +194 -0
  141. package/lib/components/ui/actions/button/button.css +156 -0
  142. package/lib/components/ui/actions/button-group/button-group-standard.css +131 -0
  143. package/lib/components/ui/actions/button-group/button-group.css +4 -1
  144. package/lib/components/ui/actions/icon-button/icon-button.css +115 -0
  145. package/lib/components/ui/actions/morph-fill.css +62 -0
  146. package/lib/components/ui/feedback/toast/toast-expressive.css +17 -0
  147. package/lib/components/ui/layout/app-shell/activity-backdrop-shapes.css +49 -0
  148. package/lib/components/ui/layout/app-shell/activity-backdrop.css +0 -17
  149. package/lib/components/ui/layout/sidebar/sidebar-tokens.css +7 -2
  150. package/lib/styles.css +2 -0
  151. package/package.json +2 -1
  152. package/dist/button-DbfdITBB.js +0 -322
  153. package/dist/components/ui/actions/icon-button/icon-button-morph-media.css +0 -65
  154. package/dist/components/ui/actions/icon-button/icon-button-morph.css +0 -152
  155. package/dist/escape-owner-CripBce_.js +0 -57
  156. package/dist/icon-button-DJcWpIhu.js +0 -319
  157. package/lib/components/ui/actions/icon-button/icon-button-morph-media.css +0 -65
  158. package/lib/components/ui/actions/icon-button/icon-button-morph.css +0 -152
@@ -0,0 +1,19 @@
1
+ import { Box } from './keep-shapes-inside.js';
2
+ /**
3
+ * The boxes of the text (its glyph runs, not its block) and the controls of the region, in the content's own coordinates.
4
+ * Both walks stop at `MAX_CONTENT_BOXES`: text past it is not collected.
5
+ */
6
+ export declare function collectOccupied(region: Element): Box[];
7
+ /**
8
+ * Hides, never moves, the shapes of the backdrop that lie over the page's text
9
+ * or controls: a shape whose box meets an occupied box (8px margin) gets
10
+ * `data-hidden` (activity-backdrop.css fades it out) and loses it once clear.
11
+ * The occupied boxes are collected when the content changes or resizes and
12
+ * kept in content coordinates, so a scroll only shifts them: the scroll
13
+ * handler is a rAF-throttled loop over the cached boxes, no layout read.
14
+ */
15
+ export declare function watchContent(column: HTMLElement, shapes: () => Element[]): {
16
+ /** Reads again, then applies: after layout, a resize or a change of the content. */
17
+ refresh(driftOf: (el: Element) => number): void;
18
+ stop(): void;
19
+ };
@@ -5,7 +5,7 @@ import { VariantProps } from 'class-variance-authority';
5
5
  * layer, so a utility in `className` still wins (`rounded-lg`, `bg-background`).
6
6
  */
7
7
  export declare const dialogContentVariants: (props?: ({
8
- size?: "sm" | "md" | "lg" | "xl" | "full" | null | undefined;
8
+ size?: "lg" | "md" | "sm" | "xl" | "full" | null | undefined;
9
9
  mobilePresentation?: "dialog" | "fullscreen" | "bottom-sheet" | null | undefined;
10
10
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
11
  export type DialogContentVariants = VariantProps<typeof dialogContentVariants>;
@@ -9,7 +9,7 @@ import { ComponentProps } from 'react';
9
9
  */
10
10
  declare const toggleVariants: (props?: ({
11
11
  variant?: "default" | "outlined" | null | undefined;
12
- size?: "default" | "sm" | "lg" | null | undefined;
12
+ size?: "lg" | "sm" | "default" | null | undefined;
13
13
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
14
14
  declare function Toggle({ className, variant, size, ...props }: ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): import("react").JSX.Element;
15
15
  export { Toggle, toggleVariants };
@@ -1,13 +1,23 @@
1
- import { VariantProps } from 'class-variance-authority';
2
1
  import { ComponentProps } from 'react';
3
- export declare const typographyVariants: (props?: ({
4
- variant?: "caption" | "normal" | "huge-larger" | "huge-large" | "huge-medium" | "huge-small" | "headline-larger" | "headline-large" | "headline-medium" | "headline-small" | "title-large" | "title-medium" | "title-small" | "body-medium" | "body-small" | null | undefined;
5
- tone?: "primary" | "error" | "default" | "muted" | null | undefined;
6
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- export type TypographyProps = ComponentProps<'p'> & VariantProps<typeof typographyVariants> & {
2
+ import { TypographyVariantProps } from './typography.variants.js';
3
+ export { typographyVariants } from './typography.variants.js';
4
+ export type TypographyProps = ComponentProps<'p'> & Omit<TypographyVariantProps, 'variant'> & {
5
+ /**
6
+ * A step of the type scale, `<role>-<size>`: role `display`, `headline`,
7
+ * `title`, `body` or `label`, size `lg`, `md` or `sm`. Default `body-md`.
8
+ *
9
+ * The fifteen former names are kept as aliases of the scale and are
10
+ * deprecated: `normal`, `huge-larger`, `huge-large`, `huge-medium`,
11
+ * `huge-small`, `headline-larger`, `headline-large`, `headline-medium`,
12
+ * `headline-small`, `title-large`, `title-medium`, `title-small`,
13
+ * `body-medium`, `body-small` and `caption`.
14
+ */
15
+ variant?: TypographyVariantProps['variant'];
16
+ /** The heavier weight of the same step (`text-<step>-em`): same size, line height and tracking. No effect on a deprecated alias that is emphasized already. */
17
+ emphasized?: boolean | null;
8
18
  /** The element to render, `div` by default. Intrinsic tags only. */
9
19
  as?: keyof React.JSX.IntrinsicElements;
10
20
  /** Merge the typography classes onto the single child instead of rendering an element. */
11
21
  asChild?: boolean;
12
22
  };
13
- export declare function Typography({ className, variant, tone, as, asChild, ...props }: TypographyProps): import("react").JSX.Element;
23
+ export declare function Typography({ className, variant, emphasized, tone, as, asChild, ...props }: TypographyProps): import("react").JSX.Element;
@@ -0,0 +1,55 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /** The five roles of the type scale (lib/components/type-scale.css). */
3
+ export declare const typeRoles: readonly ["display", "headline", "title", "body", "label"];
4
+ export declare const typeSizes: readonly ["lg", "md", "sm"];
5
+ type Role = (typeof typeRoles)[number];
6
+ type Size = (typeof typeSizes)[number];
7
+ /** `display-lg`, `title-md`… the fifteen scale variants. */
8
+ export type ScaleVariant = `${Role}-${Size}`;
9
+ export declare const scaleVariants: ScaleVariant[];
10
+ /**
11
+ * The fifteen variants this component had before the scale, each mapped by
12
+ * name onto it: the old semibold ones to the emphasized variant, the others
13
+ * to the plain one. The sizes follow the scale, so they changed (the changelog
14
+ * has the table). `emphasized` has no effect on an alias that is emphasized
15
+ * already.
16
+ */
17
+ export declare const aliases: {
18
+ /** @deprecated Use `body-md`. */
19
+ readonly normal: "body-md";
20
+ /** @deprecated Use `display-lg` with `emphasized`. */
21
+ readonly 'huge-larger': "display-lg-em";
22
+ /** @deprecated Use `display-lg` with `emphasized`. */
23
+ readonly 'huge-large': "display-lg-em";
24
+ /** @deprecated Use `display-md` with `emphasized`. */
25
+ readonly 'huge-medium': "display-md-em";
26
+ /** @deprecated Use `display-sm` with `emphasized`. */
27
+ readonly 'huge-small': "display-sm-em";
28
+ /** @deprecated Use `display-sm` with `emphasized`. */
29
+ readonly 'headline-larger': "display-sm-em";
30
+ /** @deprecated Use `headline-lg` with `emphasized`. */
31
+ readonly 'headline-large': "headline-lg-em";
32
+ /** @deprecated Use `headline-md` with `emphasized`. */
33
+ readonly 'headline-medium': "headline-md-em";
34
+ /** @deprecated Use `headline-sm` with `emphasized`. */
35
+ readonly 'headline-small': "headline-sm-em";
36
+ /** @deprecated Use `title-lg` with `emphasized`. */
37
+ readonly 'title-large': "title-lg-em";
38
+ /** @deprecated Use `title-md` with `emphasized`. */
39
+ readonly 'title-medium': "title-md-em";
40
+ /** @deprecated Use `title-sm` with `emphasized`. */
41
+ readonly 'title-small': "title-sm-em";
42
+ /** @deprecated Use `body-md`. */
43
+ readonly 'body-medium': "body-md";
44
+ /** @deprecated Use `body-sm`. */
45
+ readonly 'body-small': "body-sm";
46
+ /** @deprecated Use `label-sm` with `tone="muted"`. */
47
+ readonly caption: "label-sm";
48
+ };
49
+ export declare const typographyVariants: (props?: ({
50
+ variant?: "caption" | "normal" | "display-lg" | "display-md" | "display-sm" | "headline-lg" | "headline-md" | "headline-sm" | "title-lg" | "title-md" | "title-sm" | "body-lg" | "body-md" | "body-sm" | "label-lg" | "label-md" | "label-sm" | "huge-larger" | "huge-large" | "huge-medium" | "huge-small" | "headline-larger" | "headline-large" | "headline-medium" | "headline-small" | "title-large" | "title-medium" | "title-small" | "body-medium" | "body-small" | null | undefined;
51
+ emphasized?: boolean | null | undefined;
52
+ tone?: "primary" | "error" | "default" | "muted" | null | undefined;
53
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
54
+ export type TypographyVariantProps = VariantProps<typeof typographyVariants>;
55
+ export {};
@@ -52,13 +52,13 @@ export declare function useChoiceGroupField(props: ChoiceGroupBase<HTMLButtonEle
52
52
  name: string | undefined;
53
53
  dom: {
54
54
  id?: string;
55
+ title?: string | undefined | undefined;
55
56
  content?: string | undefined | undefined;
56
57
  translate?: "yes" | "no" | undefined | undefined;
57
58
  color?: string | undefined | undefined;
58
59
  prefix?: string | undefined | undefined;
59
60
  slot?: string | undefined | undefined;
60
61
  style?: import('react').CSSProperties | undefined;
61
- title?: string | undefined | undefined;
62
62
  key?: import('react').Key | null | undefined;
63
63
  defaultChecked?: boolean | undefined | undefined;
64
64
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -329,13 +329,13 @@ export declare function useChoiceGroupField(props: ChoiceGroupBase<HTMLButtonEle
329
329
  onTransitionStartCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
330
330
  } | {
331
331
  id?: string;
332
+ title?: string | undefined | undefined;
332
333
  content?: string | undefined | undefined;
333
334
  translate?: "yes" | "no" | undefined | undefined;
334
335
  color?: string | undefined | undefined;
335
336
  prefix?: string | undefined | undefined;
336
337
  slot?: string | undefined | undefined;
337
338
  style?: import('react').CSSProperties | undefined;
338
- title?: string | undefined | undefined;
339
339
  key?: import('react').Key | null | undefined;
340
340
  defaultChecked?: boolean | undefined | undefined;
341
341
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -1,7 +1,7 @@
1
1
  import { ShapeTone } from './display/shape/shape-tones.js';
2
2
  /**
3
3
  * The tones an application adds to the eight of the library, for the
4
- * components that take a `tone` (`Shape`, `Avatar`, `StatCard`, the metric
4
+ * components that take a `tone` (`Shape`, `Avatar`, `Badge`, `StatCard`, the metric
5
5
  * cards, `Sparkline`, `Fab`). An app names its own in the interface and draws it in CSS, with no `style`:
6
6
  *
7
7
  * ```ts