@nxgt/material 3.10.1 → 3.11.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 +76 -0
- package/README.md +4 -4
- package/dist/{async-slice-DDjaJY_F.js → async-slice-4qbER86I.js} +1 -1
- package/dist/button-BNjw-pnE.js +327 -0
- package/dist/button-group-context-CaP0X5p_.js +5 -0
- package/dist/{button-tones-BgZJ1tkD.js → button-tones-BwuVvAmd.js} +9 -1
- package/dist/{callout-view-DdJPdFrP.js → callout-view-C6voDS00.js} +1 -1
- package/dist/charts.js +5 -5
- package/dist/{chip-DpySRqCy.js → chip-DLgQTJBZ.js} +4 -4
- package/dist/{code-editor-BiA14xua.js → code-editor-BZbaYLvo.js} +8 -8
- package/dist/code-editor.js +7 -7
- package/dist/{code-language-items-C_dJ6GVs.js → code-language-items-BT5BO5w6.js} +2 -2
- package/dist/components/base.css +21 -6
- package/dist/components/components.css +5 -2
- package/dist/components/type-scale.css +194 -0
- package/dist/components/ui/actions/button/button.css +156 -0
- package/dist/components/ui/actions/button-group/button-group-standard.css +131 -0
- package/dist/components/ui/actions/button-group/button-group.css +4 -1
- package/dist/components/ui/actions/icon-button/icon-button.css +115 -0
- package/dist/components/ui/actions/morph-fill.css +62 -0
- package/dist/{components-fqz7csN3.js → components-1GK7YIhY.js} +14685 -14688
- package/dist/components.js +23 -23
- package/dist/{dialog-CkIYpJXk.js → dialog-BQp5IdFl.js} +147 -147
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-BC5Tbhb9.js → dropdown-menu-BsH9W_3C.js} +3 -3
- package/dist/editor-viewer.js +1 -1
- package/dist/editor.js +13 -13
- package/dist/empty-state-WaU4-T2c.js +117 -0
- package/dist/escape-owner-C4W_sOAU.js +116 -0
- package/dist/{field-blur-DPLsMufs.js → field-blur-CJHzVSh9.js} +1 -1
- package/dist/{field-blur-context-1ZwJgsHE.js → field-blur-context-Cft9s7Hg.js} +2 -2
- package/dist/{hover-card-Cox-tPDz.js → hover-card-C0fw2kLK.js} +72 -71
- package/dist/i18n.js +12 -12
- package/dist/{icon-badge-q3Ve8gra.js → icon-badge-DUAq9f7H.js} +4 -4
- package/dist/icon-button-ifTpXt0A.js +355 -0
- package/dist/{illustration-Hj-Q9se9.js → illustration-BmQmvW_4.js} +36 -30
- package/dist/illustrations.js +2 -2
- package/dist/lib/components/ui/actions/button/button-tones.d.ts +16 -0
- package/dist/lib/components/ui/actions/button/button.d.ts +13 -0
- package/dist/lib/components/ui/actions/button/button.variants.d.ts +4 -3
- package/dist/lib/components/ui/actions/button-group/button-group-context.d.ts +16 -0
- package/dist/lib/components/ui/actions/button-group/button-group-reset.d.ts +13 -0
- package/dist/lib/components/ui/actions/button-group/button-group.d.ts +19 -2
- package/dist/lib/components/ui/actions/icon-button/icon-button-shape.d.ts +3 -2
- package/dist/lib/components/ui/actions/icon-button/icon-button.d.ts +18 -4
- package/dist/lib/components/ui/actions/icon-button/icon-button.variants.d.ts +34 -4
- package/dist/lib/components/ui/feedback/state-frame/state-scene-illustration.d.ts +4 -2
- package/dist/lib/components/ui/feedback/typing-indicator/typing-indicator.d.ts +1 -1
- package/dist/lib/components/ui/fields/slider/split-slider-props.d.ts +1 -1
- package/dist/lib/components/ui/fields/slider/use-slider-control.d.ts +1 -1
- package/dist/lib/components/ui/overlays/dialog/dialog-variants.d.ts +1 -1
- package/dist/lib/components/ui/primitives/toggle/toggle.d.ts +1 -1
- package/dist/lib/components/ui/primitives/typography/typography.d.ts +17 -7
- package/dist/lib/components/ui/primitives/typography/typography.variants.d.ts +55 -0
- package/dist/lib/components/ui/selection/choice-group/use-choice-group-field.d.ts +2 -2
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib/illustrations/lazy-chunk.d.ts +9 -0
- package/dist/lib.js +2 -2
- package/dist/{line-path-BQeLQZ-P.js → line-path-C5pZGC49.js} +1 -1
- package/dist/main.js +29 -29
- package/dist/map.js +9 -9
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/{plated-illustration-B7fcgOED.js → plated-illustration-iNO6KYTL.js} +9 -2
- package/dist/print.js +1 -1
- package/dist/{public-Cl4dLDHQ.js → public-B0Nq_yYV.js} +524 -524
- package/dist/{render-json-DyFYFIkZ.js → render-json-BOhvPnSv.js} +1 -1
- package/dist/{rich-code-block-C2Fp_FDU.js → rich-code-block-v7WmeZp9.js} +5 -5
- package/dist/{rich-text-viewer-LO1IZCWs.js → rich-text-viewer-W15XIwah.js} +2 -2
- package/dist/{skeleton-Bmp4gWAH.js → skeleton-DSdtr2qc.js} +1 -1
- package/dist/{sortable-provider-pVaEZzty.js → sortable-provider-CgDTolQR.js} +3 -3
- package/dist/{spinner-CsHcmcpF.js → spinner-BtSIYVrC.js} +3 -3
- package/dist/{state-scenes-Be9w_3an.js → state-scenes-BX03WmSu.js} +54 -41
- package/dist/styles.css +2 -0
- package/dist/theme-picker.js +3 -3
- package/dist/{theme-toggle-oU-fh6WE.js → theme-toggle-B2Pehdhn.js} +2 -2
- package/dist/{toggle-group-j8zaxEg1.js → toggle-group-BMJNcFAC.js} +1 -1
- package/dist/{toolbar-items-CqHvlTU8.js → toolbar-items-rUHdVqAq.js} +399 -398
- package/dist/{tooltip-rhbqNmr3.js → tooltip-CkttDIab.js} +1 -1
- package/dist/{translate-material-CGZljjp1.js → translate-material-Bd_KgfB8.js} +1 -1
- package/dist/{translator-DCYO4Ij3.js → translator-Dje8HrNz.js} +5 -5
- package/dist/{use-chat-composer-UHlGFSm0.js → use-chat-composer-Bt2ULsv6.js} +4172 -4172
- package/dist/{use-material-translation-DkxcLbLM.js → use-material-translation-B3V_bz-5.js} +1 -1
- package/dist/{utils-Bcd2Z3ea.js → utils-BLfntITJ.js} +14 -1
- package/docs/components/buttons-and-actions.md +64 -15
- package/docs/components/navigation-and-layout.md +1 -1
- package/docs/components/primitives.md +52 -10
- package/docs/guides/illustrations.md +12 -0
- package/docs/guides/theming.md +51 -0
- package/docs/previews/buttons-actions-button.webp +0 -0
- package/docs/previews/buttons-actions-iconbutton.webp +0 -0
- package/docs/previews/feedback-status-circularprogress.webp +0 -0
- package/docs/previews/feedback-status-hydrateloading.webp +0 -0
- package/docs/previews/feedback-status-notifications.webp +0 -0
- package/docs/previews/feedback-status-progress.webp +0 -0
- package/docs/previews/feedback-status-skeleton.webp +0 -0
- package/docs/previews/feedback-status-spinner.webp +0 -0
- package/docs/previews/feedback-status-typingindicator.webp +0 -0
- package/docs/previews/primitives-typography.webp +0 -0
- package/docs/roadmap.md +35 -4
- package/docs/troubleshooting.md +71 -2
- package/lib/components/base.css +21 -6
- package/lib/components/components.css +5 -2
- package/lib/components/type-scale.css +194 -0
- package/lib/components/ui/actions/button/button.css +156 -0
- package/lib/components/ui/actions/button-group/button-group-standard.css +131 -0
- package/lib/components/ui/actions/button-group/button-group.css +4 -1
- package/lib/components/ui/actions/icon-button/icon-button.css +115 -0
- package/lib/components/ui/actions/morph-fill.css +62 -0
- package/lib/styles.css +2 -0
- package/package.json +1 -1
- package/dist/button-DbfdITBB.js +0 -322
- package/dist/components/ui/actions/icon-button/icon-button-morph-media.css +0 -65
- package/dist/components/ui/actions/icon-button/icon-button-morph.css +0 -152
- package/dist/empty-state-BOZWBC5q.js +0 -98
- package/dist/escape-owner-CripBce_.js +0 -57
- package/dist/icon-button-DJcWpIhu.js +0 -319
- package/lib/components/ui/actions/icon-button/icon-button-morph-media.css +0 -65
- package/lib/components/ui/actions/icon-button/icon-button-morph.css +0 -152
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/* A toggle `IconButton` (`aria-pressed`, no `shape`): pressed, it is filled
|
|
2
|
-
* with its colour. `data-morph="pill"` also widens it by `--ib-morph` (14px;
|
|
3
|
-
* 0 below 600px, where only the colour changes), `round` stays a circle. The
|
|
4
|
-
* pill is the button's `::before`, `--ib-morph` / 2 wider on each side, and the
|
|
5
|
-
* same amount of margin makes room for it, so any size class works. The
|
|
6
|
-
* motion and the tokens are Toolbar morph's (`--nxgt-spring-fast`).
|
|
7
|
-
* Toolbar items keep the Toolbar's own look. */
|
|
8
|
-
@layer utilities {
|
|
9
|
-
[data-icon-button][data-morph]:not(
|
|
10
|
-
[data-shape],
|
|
11
|
-
.nxgt-toolbar-item,
|
|
12
|
-
[data-toolbar-item]
|
|
13
|
-
) {
|
|
14
|
-
--ib-morph: 0px;
|
|
15
|
-
--ib-on: var(--color-primary);
|
|
16
|
-
--ib-on-fg: var(--color-primary-foreground);
|
|
17
|
-
isolation: isolate;
|
|
18
|
-
transition:
|
|
19
|
-
margin var(--nxgt-spring-fast-duration) var(--nxgt-spring-fast),
|
|
20
|
-
color 180ms var(--nxgt-ease-effects),
|
|
21
|
-
border-color 180ms var(--nxgt-ease-effects),
|
|
22
|
-
box-shadow 180ms var(--nxgt-ease-effects),
|
|
23
|
-
background-color 180ms var(--nxgt-ease-effects),
|
|
24
|
-
opacity 180ms var(--nxgt-ease-effects);
|
|
25
|
-
}
|
|
26
|
-
[data-icon-button][data-morph]:not(
|
|
27
|
-
[data-shape],
|
|
28
|
-
.nxgt-toolbar-item,
|
|
29
|
-
[data-toolbar-item]
|
|
30
|
-
)::before {
|
|
31
|
-
content: "";
|
|
32
|
-
position: absolute;
|
|
33
|
-
inset-block: calc(-1 * var(--ib-bw, 0px));
|
|
34
|
-
inset-inline: calc(
|
|
35
|
-
var(--ib-morph) /
|
|
36
|
-
-2 *
|
|
37
|
-
var(--ib-grow, 0) -
|
|
38
|
-
var(--ib-bw, 0px)
|
|
39
|
-
);
|
|
40
|
-
z-index: -1;
|
|
41
|
-
border-radius: 999px;
|
|
42
|
-
background: transparent;
|
|
43
|
-
transition:
|
|
44
|
-
inset var(--nxgt-spring-fast-duration) var(--nxgt-spring-fast),
|
|
45
|
-
border-radius var(--nxgt-spring-fast-duration) var(--nxgt-spring-fast),
|
|
46
|
-
background-color 180ms var(--nxgt-ease-effects);
|
|
47
|
-
}
|
|
48
|
-
/* `position` has no specificity, so a utility (PasswordField's `absolute`) wins. */
|
|
49
|
-
:where(
|
|
50
|
-
[data-icon-button][data-morph]:not(
|
|
51
|
-
[data-shape],
|
|
52
|
-
.nxgt-toolbar-item,
|
|
53
|
-
[data-toolbar-item]
|
|
54
|
-
)
|
|
55
|
-
) {
|
|
56
|
-
position: relative;
|
|
57
|
-
}
|
|
58
|
-
/* The outlined variant's 1px border sits outside the padding box the pill is placed in. */
|
|
59
|
-
[data-icon-button][data-morph][data-variant="outlined"] {
|
|
60
|
-
--ib-bw: 1px;
|
|
61
|
-
}
|
|
62
|
-
[data-icon-button][data-morph][data-color="secondary"] {
|
|
63
|
-
--ib-on: var(--color-secondary);
|
|
64
|
-
--ib-on-fg: var(--color-secondary-foreground);
|
|
65
|
-
}
|
|
66
|
-
[data-icon-button][data-morph][data-color="success"] {
|
|
67
|
-
--ib-on: var(--color-success);
|
|
68
|
-
--ib-on-fg: var(--color-success-foreground);
|
|
69
|
-
}
|
|
70
|
-
[data-icon-button][data-morph][data-color="info"] {
|
|
71
|
-
--ib-on: var(--color-info);
|
|
72
|
-
--ib-on-fg: var(--color-info-foreground);
|
|
73
|
-
}
|
|
74
|
-
[data-icon-button][data-morph][data-color="warning"] {
|
|
75
|
-
--ib-on: var(--color-warning);
|
|
76
|
-
--ib-on-fg: var(--color-warning-foreground);
|
|
77
|
-
}
|
|
78
|
-
[data-icon-button][data-morph][data-color="error"] {
|
|
79
|
-
--ib-on: var(--color-error);
|
|
80
|
-
--ib-on-fg: var(--color-error-foreground);
|
|
81
|
-
}
|
|
82
|
-
[data-icon-button][data-morph][data-color="default"] {
|
|
83
|
-
--ib-on: var(--color-foreground);
|
|
84
|
-
--ib-on-fg: var(--color-background);
|
|
85
|
-
}
|
|
86
|
-
/* Pressed: the button's own surface gives way to the pill. */
|
|
87
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
88
|
-
[data-shape],
|
|
89
|
-
.nxgt-toolbar-item,
|
|
90
|
-
[data-toolbar-item]
|
|
91
|
-
) {
|
|
92
|
-
background: transparent;
|
|
93
|
-
border-color: transparent;
|
|
94
|
-
box-shadow: none;
|
|
95
|
-
color: var(--ib-on-fg);
|
|
96
|
-
}
|
|
97
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
98
|
-
[data-shape],
|
|
99
|
-
.nxgt-toolbar-item,
|
|
100
|
-
[data-toolbar-item]
|
|
101
|
-
)
|
|
102
|
-
svg {
|
|
103
|
-
color: var(--ib-on-fg);
|
|
104
|
-
stroke: var(--ib-on-fg);
|
|
105
|
-
}
|
|
106
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
107
|
-
[data-shape],
|
|
108
|
-
.nxgt-toolbar-item,
|
|
109
|
-
[data-toolbar-item]
|
|
110
|
-
)::before {
|
|
111
|
-
background: var(--ib-on);
|
|
112
|
-
}
|
|
113
|
-
[data-icon-button][data-morph="pill"][aria-pressed="true"]:not(
|
|
114
|
-
[data-shape],
|
|
115
|
-
.nxgt-toolbar-item,
|
|
116
|
-
[data-toolbar-item]
|
|
117
|
-
) {
|
|
118
|
-
--ib-grow: 1;
|
|
119
|
-
margin-inline: calc(var(--ib-morph) / 2);
|
|
120
|
-
}
|
|
121
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
122
|
-
[data-shape],
|
|
123
|
-
.nxgt-toolbar-item,
|
|
124
|
-
[data-toolbar-item]
|
|
125
|
-
):hover:not(:disabled)::before {
|
|
126
|
-
background: color-mix(in oklab, var(--ib-on-fg) 10%, var(--ib-on));
|
|
127
|
-
}
|
|
128
|
-
/* Pointer down: the corners squeeze. */
|
|
129
|
-
[data-icon-button][data-morph]:not(
|
|
130
|
-
[data-shape],
|
|
131
|
-
.nxgt-toolbar-item,
|
|
132
|
-
[data-toolbar-item]
|
|
133
|
-
):active:not(:disabled)::before {
|
|
134
|
-
border-radius: 30%;
|
|
135
|
-
}
|
|
136
|
-
/* The ring follows the pill. */
|
|
137
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
138
|
-
[data-shape],
|
|
139
|
-
.nxgt-toolbar-item,
|
|
140
|
-
[data-toolbar-item]
|
|
141
|
-
):focus-visible {
|
|
142
|
-
box-shadow: none;
|
|
143
|
-
}
|
|
144
|
-
[data-icon-button][data-morph][aria-pressed="true"]:not(
|
|
145
|
-
[data-shape],
|
|
146
|
-
.nxgt-toolbar-item,
|
|
147
|
-
[data-toolbar-item]
|
|
148
|
-
):focus-visible::before {
|
|
149
|
-
box-shadow: 0 0 0 3px
|
|
150
|
-
color-mix(in oklab, var(--color-ring) 50%, transparent);
|
|
151
|
-
}
|
|
152
|
-
}
|