@godxjp/ui 21.0.0 → 23.0.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/README.md +4 -4
- package/dist/app/app-provider.js +2 -1
- package/dist/components/data-display/badge.d.ts +28 -1
- package/dist/components/data-display/badge.js +2 -0
- package/dist/components/data-display/data-table.d.ts +18 -2
- package/dist/components/data-display/data-table.js +4 -0
- package/dist/components/data-display/index.d.ts +1 -1
- package/dist/components/data-display/popover.d.ts +19 -1
- package/dist/components/data-display/popover.js +9 -1
- package/dist/components/data-display/progress.d.ts +37 -0
- package/dist/components/data-display/progress.js +57 -5
- package/dist/components/data-display/scroll-area.d.ts +24 -4
- package/dist/components/data-display/scroll-area.js +34 -72
- package/dist/components/data-entry/cascader.js +8 -6
- package/dist/components/data-entry/checkbox.js +2 -0
- package/dist/components/data-entry/choice-hit-target.d.ts +24 -0
- package/dist/components/data-entry/choice-hit-target.js +12 -0
- package/dist/components/data-entry/control-surface.d.ts +8 -0
- package/dist/components/data-entry/control-surface.js +10 -1
- package/dist/components/data-entry/date-picker.d.ts +10 -3
- package/dist/components/data-entry/date-picker.js +503 -238
- package/dist/components/data-entry/form-field.d.ts +1 -1
- package/dist/components/data-entry/form-field.js +7 -3
- package/dist/components/data-entry/form.js +10 -1
- package/dist/components/data-entry/index.d.ts +0 -6
- package/dist/components/data-entry/index.js +0 -6
- package/dist/components/data-entry/label.d.ts +14 -1
- package/dist/components/data-entry/label.js +6 -1
- package/dist/components/data-entry/radio.d.ts +27 -6
- package/dist/components/data-entry/radio.js +89 -43
- package/dist/components/data-entry/search-select.js +226 -89
- package/dist/components/data-entry/select.d.ts +76 -14
- package/dist/components/data-entry/select.js +497 -163
- package/dist/components/data-entry/slider.d.ts +3 -11
- package/dist/components/data-entry/slider.js +582 -93
- package/dist/components/data-entry/switch.d.ts +6 -3
- package/dist/components/data-entry/switch.js +36 -11
- package/dist/components/layout/mobile-shell.d.ts +1 -1
- package/dist/components/layout/mobile-shell.js +2 -0
- package/dist/components/navigation/dropdown-menu.d.ts +11 -3
- package/dist/components/navigation/dropdown-menu.js +190 -15
- package/dist/components/navigation/index.d.ts +0 -3
- package/dist/components/navigation/index.js +0 -78
- package/dist/components/navigation/steps.d.ts +1 -1
- package/dist/components/navigation/steps.js +3 -1
- package/dist/components/navigation/tabs-scroll.d.ts +27 -0
- package/dist/components/navigation/tabs-scroll.js +52 -1
- package/dist/components/navigation/tabs.d.ts +2 -2
- package/dist/components/navigation/tabs.js +88 -23
- package/dist/components/ui/index.d.ts +0 -4
- package/dist/components/ui/index.js +0 -4
- package/dist/components/ui/input-otp.d.ts +1 -1
- package/dist/components/ui/segmented.d.ts +15 -1
- package/dist/components/ui/segmented.js +15 -6
- package/dist/components/ui/tag-input.js +3 -5
- package/dist/i18n/messages/en.json +3 -2
- package/dist/i18n/messages/ja.json +3 -2
- package/dist/i18n/messages/vi.json +3 -2
- package/dist/lib/datetime/picker-format.d.ts +18 -0
- package/dist/lib/datetime/picker-format.js +35 -1
- package/dist/lib/field-a11y.d.ts +12 -0
- package/dist/lib/field-a11y.js +14 -1
- package/dist/lib/select-options.d.ts +21 -0
- package/dist/lib/select-options.js +46 -0
- package/dist/props/components/data-display.prop.d.ts +16 -6
- package/dist/props/components/data-entry.prop.d.ts +503 -129
- package/dist/props/components/index.d.ts +2 -2
- package/dist/props/components/layout.prop.d.ts +12 -1
- package/dist/props/components/navigation.prop.d.ts +93 -1
- package/dist/props/registry.d.ts +79 -16
- package/dist/props/registry.js +85 -15
- package/dist/props/vocabulary/data.prop.d.ts +12 -0
- package/dist/props/vocabulary/index.d.ts +2 -2
- package/dist/props/vocabulary/layout.prop.d.ts +11 -0
- package/dist/styles/badge-layout.css +4 -0
- package/dist/styles/card-layout.css +6 -6
- package/dist/styles/control.css +220 -29
- package/dist/styles/data-display-layout.css +94 -23
- package/dist/styles/focus-ring.css +6 -4
- package/dist/styles/fonts.css +88 -4
- package/dist/styles/navigation-layout.css +36 -236
- package/dist/styles/shell-layout.css +149 -139
- package/dist/styles/table-layout.css +41 -3
- package/dist/tokens/components/control.css +4 -0
- package/dist/tokens/components/data-display.css +9 -5
- package/dist/tokens/components/navigation.css +9 -5
- package/dist/tokens/components/scroll-area.css +7 -0
- package/dist/tokens/components/segmented.css +0 -2
- package/dist/tokens/components/shell.css +2 -0
- package/dist/tokens/components/table.css +3 -0
- package/dist/tokens/foundation.css +7 -0
- package/docs/COMPONENTS.md +14 -14
- package/docs/CONSUMER-RULES.md +24 -1
- package/docs/CUSTOMER-THEMING.md +7 -1
- package/docs/FRAME-COVERAGE-REPORT.md +5 -11
- package/docs/TOKENS.md +65 -0
- package/docs/data-display/badge.tsx +37 -0
- package/docs/data-display/data-table/index.tsx +45 -1
- package/docs/data-display/popover.tsx +43 -5
- package/docs/data-display/progress.tsx +28 -0
- package/docs/data-display/scroll-area.tsx +51 -45
- package/docs/data-entry/calendar.tsx +2 -2
- package/docs/data-entry/date-picker.tsx +144 -5
- package/docs/data-entry/form/examples/invoice-form.tsx +2 -2
- package/docs/data-entry/form-field/examples/a11y-contract.tsx +3 -5
- package/docs/data-entry/form.tsx +4 -4
- package/docs/data-entry/input-otp.tsx +5 -2
- package/docs/data-entry/number-input.tsx +31 -0
- package/docs/data-entry/segmented.tsx +143 -2
- package/docs/data-entry/select-matrix.tsx +1 -2
- package/docs/data-entry/select.tsx +108 -3
- package/docs/data-entry/slider.tsx +125 -47
- package/docs/feedback/dialog.tsx +1 -2
- package/docs/feedback/sheet.tsx +1 -2
- package/docs/layout/app-shell-states.tsx +143 -0
- package/docs/layout/mobile-shell.tsx +5 -0
- package/docs/navigation/dropdown-menu.tsx +75 -4
- package/docs/navigation/tabs.tsx +149 -0
- package/docs/roadmap/antd-parity.md +35 -34
- package/docs/roadmap/parity-audit-data-entry.md +196 -172
- package/docs/roadmap/parity-audit-layout-navigation-general.md +304 -310
- package/docs/roadmap/parity-backlog.md +8 -10
- package/docs/showcase/acme-portal.tsx +7 -0
- package/package.json +28 -64
- package/scripts/ui-audit.mjs +18 -5
- package/scripts/visual-audit-rules.mjs +0 -7
- package/scripts/visual-audit.mjs +6 -27
- package/dist/components/data-entry/date-range-picker.d.ts +0 -11
- package/dist/components/data-entry/date-range-picker.js +0 -349
- package/dist/components/data-entry/month-picker.d.ts +0 -10
- package/dist/components/data-entry/month-picker.js +0 -241
- package/dist/components/data-entry/month-range-picker.d.ts +0 -10
- package/dist/components/data-entry/month-range-picker.js +0 -301
- package/dist/components/navigation/context-menu.d.ts +0 -21
- package/dist/components/navigation/context-menu.js +0 -149
- package/dist/components/navigation/menubar.d.ts +0 -21
- package/dist/components/navigation/menubar.js +0 -136
- package/dist/components/navigation/navigation-menu.d.ts +0 -10
- package/dist/components/navigation/navigation-menu.js +0 -91
- package/dist/components/ui/context-menu.d.ts +0 -1
- package/dist/components/ui/context-menu.js +0 -2
- package/dist/components/ui/date-range-picker.d.ts +0 -1
- package/dist/components/ui/date-range-picker.js +0 -2
- package/dist/components/ui/menubar.d.ts +0 -1
- package/dist/components/ui/menubar.js +0 -2
- package/dist/components/ui/navigation-menu.d.ts +0 -1
- package/dist/components/ui/navigation-menu.js +0 -2
- package/docs/FRAME-A11Y-CI.md +0 -349
- package/docs/data-entry/date-range-picker.tsx +0 -175
- package/docs/data-entry/month-picker.tsx +0 -101
- package/docs/data-entry/month-range-picker.tsx +0 -115
- package/docs/navigation/context-menu.tsx +0 -128
- package/docs/navigation/menubar.tsx +0 -141
- package/docs/navigation/navigation-menu.tsx +0 -158
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export type { AppLauncherApp, AppLauncherGroup, AppLauncherLabels, AppLauncherProp, AppShellProp, AuthFooterProp, AuthIdentityProp, OrgSwitcherLabels, OrgSwitcherOrganization, OrgSwitcherProp, PageContainerProp, PageInsetProp, SidebarItemProp, SidebarProductProp, SidebarProp, SidebarSectionProp, TopbarProp, } from "./layout.prop.js";
|
|
2
2
|
export type { ButtonProp } from "./general.prop.js";
|
|
3
|
-
export type { InputProp, TextareaProp, FormFieldProp, SearchInputProp, CheckboxProp, CheckboxGroupProp, ChoiceOptionProp, RadioProp, RadioGroupProp, SwitchProp, SliderProp, CalendarProp, DatePickerProp,
|
|
3
|
+
export type { InputProp, TextareaProp, FormFieldProp, SearchInputProp, CheckboxProp, CheckboxGroupProp, ChoiceOptionProp, RadioProp, RadioGroupProp, SwitchProp, SliderProp, CalendarProp, DatePickerProp, TimePickerProp, ColorPickerProp, UploadProp, UploadFileItemProp, UploadVariantProp, TreeOptionProp, TreeFieldNamesProp, CascaderProp, TreeSelectProp, ShowCheckedStrategyProp, TransferProp, TransferItemProp, } from "./data-entry.prop.js";
|
|
4
4
|
export type { AvatarProp, EmptyStateProp, DescriptionsProp, DescriptionsItemProp, BadgeProp, DataTableProp, QrCodeProp, } from "./data-display.prop.js";
|
|
5
5
|
export type { ChartDatum, ChartSeriesProp, LineChartProp, BarChartProp, AreaChartProp, PieChartProp, } from "./charts.prop.js";
|
|
6
6
|
export type { AlertQueryErrorProp, AlertProp, AlertTitleProp, AlertContentProp, AlertDescriptionProp, AlertActionsProp, SheetResponsiveProp, SkeletonRowsProp, } from "./feedback.prop.js";
|
|
7
7
|
export type { DataStateProp, InfiniteQueryStateProp, InfiniteQueryHelpers, PrefetchLinkProp, } from "./query.prop.js";
|
|
8
|
-
export type { DropdownMenuPlacementProp, PaginationProp, PaginationSizeProp, PaginationAlignProp, StepsProp, StepItemProp, StepStatusProp, StepsTypeProp, TabsProp, TabItemProp, TabsVariantProp, TabsPlacementProp, TabsExtraProp, TabsOnEditProp, } from "./navigation.prop.js";
|
|
8
|
+
export type { DropdownMenuPlacementProp, DropdownMenuTriggerActionProp, PaginationProp, PaginationSizeProp, PaginationAlignProp, StepsProp, StepItemProp, StepStatusProp, StepsTypeProp, TabsProp, TabItemProp, TabsVariantProp, TabsPlacementProp, TabsExtraProp, TabsOnEditProp, } from "./navigation.prop.js";
|
|
9
9
|
export type { AppProviderProp, AppContextValue, AppSettingKind, AppSettingPickerProp, AppSettingToggleKind, AppSettingToggleProp, } from "./app.prop.js";
|
|
10
10
|
export type { ZodSchemaProp, UseZodFormOptionsProp, UseZodFormReturnProp, FormRootProp, FormFieldControlProp, FieldErrorMessageProp, } from "./form.prop.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Layout component prop types — @see docs/COMPONENTS.md#layout */
|
|
2
2
|
import type * as React from "react";
|
|
3
3
|
import type { ComponentType, ReactNode, SVGProps } from "react";
|
|
4
|
-
import type { BreadcrumbProp, TitleProp, SubtitleProp, StatusProp, ExtraProp, FooterProp, PageDensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, OrientationProp, TextAlignProp, TextToneProp, BreakpointProp, GapProp, PadProp, PadRawProp, ClassNameProp, ChildrenProp, IdProp, DisabledProp, DescriptionProp, ActionProp, IconProp, HeadingLevelProp, ToneProp, WidthProp } from "../vocabulary/index.js";
|
|
4
|
+
import type { BreadcrumbProp, TitleProp, SubtitleProp, StatusProp, ExtraProp, FooterProp, PageDensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, MobileShellWidthProp, OrientationProp, TextAlignProp, TextToneProp, BreakpointProp, GapProp, PadProp, PadRawProp, ClassNameProp, ChildrenProp, IdProp, DisabledProp, DescriptionProp, ActionProp, IconProp, HeadingLevelProp, ToneProp, WidthProp } from "../vocabulary/index.js";
|
|
5
5
|
import type { EmptyStateToneProp } from "./data-display.prop.js";
|
|
6
6
|
/**
|
|
7
7
|
* Arrangement of the page header's title band and its `extra` slot below the 640px step.
|
|
@@ -505,6 +505,17 @@ export type MobileShellProp = {
|
|
|
505
505
|
* device-frame preview, a phone view embedded in a wider page).
|
|
506
506
|
*/
|
|
507
507
|
height?: MobileShellHeightProp;
|
|
508
|
+
/**
|
|
509
|
+
* How wide the shell is allowed to get. `"fill"` (default) takes the whole inline size it is
|
|
510
|
+
* given — a real handheld, where that IS the phone. `"phone"` caps it at
|
|
511
|
+
* `--mobile-shell-max-inline-size` and centres the column, for the case `height="fill"` already
|
|
512
|
+
* names on the other axis: a handheld screen rendered on a viewport wider than a handheld.
|
|
513
|
+
*
|
|
514
|
+
* Measured at a 1280px viewport before this axis existed: `max-inline-size: none`, shell 1232px
|
|
515
|
+
* wide, a four-destination tab bar spread across the whole screen. `height` had two named values
|
|
516
|
+
* for exactly these two contexts and `width` had none — the asymmetry was the bug.
|
|
517
|
+
*/
|
|
518
|
+
width?: MobileShellWidthProp;
|
|
508
519
|
className?: ClassNameProp;
|
|
509
520
|
};
|
|
510
521
|
/**
|
|
@@ -172,6 +172,23 @@ export type PaginationAlignProp = "start" | "center" | "end";
|
|
|
172
172
|
* inline-side ones (antd `left*` / `right*`) stay on Radix's own physical `side`.
|
|
173
173
|
*/
|
|
174
174
|
export type DropdownMenuPlacementProp = "top" | "topStart" | "topEnd" | "bottom" | "bottomStart" | "bottomEnd";
|
|
175
|
+
/**
|
|
176
|
+
* @see DropdownMenu — Ant Design `trigger`: the gestures that open the menu, as an array because
|
|
177
|
+
* more than one may be live at once (`['click', 'contextMenu']` is a row that opens from its kebab
|
|
178
|
+
* AND from a right click anywhere on it).
|
|
179
|
+
*
|
|
180
|
+
* Default `['click']`, NOT antd's `['hover']`: a menu button that opens on hover is a pointer-only
|
|
181
|
+
* affordance by default, and every consumer of this library today opens on click.
|
|
182
|
+
*
|
|
183
|
+
* `contextMenu` opens at the pointer and suppresses the browser's own menu. It is what replaced the
|
|
184
|
+
* deleted `ContextMenu` component (v23) — antd has no such component either, and expresses the
|
|
185
|
+
* whole idea as this value.
|
|
186
|
+
*
|
|
187
|
+
* Whatever the array says, the KEYBOARD opener stays wired: Enter / Space / ArrowDown on the
|
|
188
|
+
* trigger for `click` and `hover`, and Shift+F10 / the ContextMenu key for `contextMenu`. A gesture
|
|
189
|
+
* list can therefore never produce a menu that only a mouse can reach (WCAG 2.1.1).
|
|
190
|
+
*/
|
|
191
|
+
export type DropdownMenuTriggerActionProp = "click" | "hover" | "contextMenu";
|
|
175
192
|
export type StepStatusProp = "wait" | "process" | "finish" | "error";
|
|
176
193
|
/** @see StepItem */
|
|
177
194
|
export type StepItemProp = {
|
|
@@ -190,7 +207,19 @@ export type StepItemProp = {
|
|
|
190
207
|
*/
|
|
191
208
|
export type StepsTypeProp = "default" | "dot" | "inline" | "navigation";
|
|
192
209
|
/** @see Steps */
|
|
193
|
-
|
|
210
|
+
/**
|
|
211
|
+
* The rest of a native `<ol>`'s attributes ride through to the list element.
|
|
212
|
+
*
|
|
213
|
+
* Not a convenience: without them a consumer had no supported handle on the rendered list at all,
|
|
214
|
+
* so its browser test bound to `.ui-steps-list > li[data-status]` — an INTERNAL class and an
|
|
215
|
+
* internal data attribute, both of which this package is free to rename. A `data-testid` or an
|
|
216
|
+
* `id` on the component is what that test wanted, and every sibling primitive already forwards
|
|
217
|
+
* them.
|
|
218
|
+
*
|
|
219
|
+
* `aria-label` is the one exception: the list names itself from the locale, and a caller-supplied
|
|
220
|
+
* name wins — the same contract Progress and Toolbar follow.
|
|
221
|
+
*/
|
|
222
|
+
export type StepsProp = Omit<React.OlHTMLAttributes<HTMLOListElement>, "onChange" | "defaultValue" | "children" | "type"> & {
|
|
194
223
|
items?: StepItemProp[];
|
|
195
224
|
value?: number;
|
|
196
225
|
defaultValue?: number;
|
|
@@ -235,6 +264,17 @@ export type TabItemProp = {
|
|
|
235
264
|
closable?: boolean;
|
|
236
265
|
/** Ant Design `Tab.closeIcon` — replaces the default × on this item's remove button. */
|
|
237
266
|
closeIcon?: React.ReactNode;
|
|
267
|
+
/**
|
|
268
|
+
* Ant Design `Tab.forceRender`. Mounts THIS panel up front and keeps it mounted while another
|
|
269
|
+
* tab is selected, without turning that on for the whole strip the way `destroyOnHidden={false}`
|
|
270
|
+
* does — so the one panel holding a live chart, a scroll position or an unsent draft survives a
|
|
271
|
+
* tab switch while the rest are still destroyed.
|
|
272
|
+
*
|
|
273
|
+
* antd 5.25 also grew a per-item `destroyOnHidden`. It is NOT offered here: on this component
|
|
274
|
+
* "kept mounted" is a single state, so an item-level `destroyOnHidden: false` would be a second
|
|
275
|
+
* prop spelling exactly what `forceRender: true` already says (cardinal rule #32).
|
|
276
|
+
*/
|
|
277
|
+
forceRender?: boolean;
|
|
238
278
|
};
|
|
239
279
|
/**
|
|
240
280
|
* @see Tabs — trigger-strip appearance. This is Ant Design's `type` spelled in the library's own
|
|
@@ -264,6 +304,32 @@ export type TabsExtraProp = React.ReactNode | {
|
|
|
264
304
|
* commas, and an inline `(target, action) => void` leaks its second PARAMETER as a phantom prop.
|
|
265
305
|
*/
|
|
266
306
|
export type TabsOnEditProp = (target: string | React.MouseEvent<HTMLButtonElement>, action: "add" | "remove") => void;
|
|
307
|
+
/**
|
|
308
|
+
* @see Tabs — what the trigger strip does when there are more tabs than fit its container.
|
|
309
|
+
*
|
|
310
|
+
* This is Ant Design's `more`, mapped onto the `overflow` vocabulary this package already uses
|
|
311
|
+
* for the same question (`FilterBarOverflowProp` on Toolbar) rather than re-spelled: antd names
|
|
312
|
+
* the AFFORDANCE it happens to draw, this library names the BEHAVIOUR and owns the affordance.
|
|
313
|
+
*
|
|
314
|
+
* `scroll` (the default, and what every strip does today) keeps one bounded row that scrolls its
|
|
315
|
+
* own inline overflow, with `TabsList` re-pinning the active — or, under manual activation, the
|
|
316
|
+
* focused — trigger. `menu` keeps all of that AND puts a real button beside the strip listing the
|
|
317
|
+
* tabs currently outside the scrollport.
|
|
318
|
+
*
|
|
319
|
+
* WHERE THIS DELIBERATELY DIVERGES FROM ANTD, and why: antd REMOVES the overflowing tabs from the
|
|
320
|
+
* bar and re-homes them in the dropdown. The WAI-ARIA APG tab pattern requires the tablist to own
|
|
321
|
+
* every tab, and a tab hidden with `display: none` cannot take roving focus — so removing them
|
|
322
|
+
* would make the keyboard route to those tabs disappear along with the pixels. Here the strip
|
|
323
|
+
* still holds and still scrolls to every tab; the menu is an ADDITIONAL pointer route to the ones
|
|
324
|
+
* a mouse user cannot currently see. The APG wins; the affordance is kept.
|
|
325
|
+
*/
|
|
326
|
+
export type TabsOverflowProp = "scroll" | "menu";
|
|
327
|
+
/**
|
|
328
|
+
* @see Tabs — Ant Design `onTabClick`. A NAMED alias rather than an inline signature for the same
|
|
329
|
+
* reason as `TabsOnEditProp`: the catalog-sync guard splits an object type on top-level commas,
|
|
330
|
+
* so an inline `(value, event) => void` leaks its second PARAMETER as a phantom prop.
|
|
331
|
+
*/
|
|
332
|
+
export type TabsOnTabClickProp = (value: string, event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
267
333
|
/** @see Tabs — high-level tabs with optional `items` array. */
|
|
268
334
|
export type TabsProp = {
|
|
269
335
|
items?: TabItemProp[];
|
|
@@ -292,6 +358,32 @@ export type TabsProp = {
|
|
|
292
358
|
addIcon?: React.ReactNode;
|
|
293
359
|
/** Ant Design `hideAdd` — keep `editable-card`'s remove buttons but drop the add button. */
|
|
294
360
|
hideAdd?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Ant Design `removeIcon` — the strip-wide default glyph on `editable-card`'s remove shortcut.
|
|
363
|
+
* A `TabItemProp.closeIcon` on one item still wins over it, which is antd's own precedence.
|
|
364
|
+
*/
|
|
365
|
+
closeIcon?: React.ReactNode;
|
|
366
|
+
/**
|
|
367
|
+
* Ant Design `more`. Default `scroll` — the behaviour every strip has today, unchanged.
|
|
368
|
+
* @see TabsOverflowProp for what `menu` adds and where it parts company with antd.
|
|
369
|
+
*
|
|
370
|
+
* The default is deliberately NOT `menu`: switching it would change the rendered bar for every
|
|
371
|
+
* existing consumer at once, and which of the two a dense strip wants is a service decision, not
|
|
372
|
+
* a library one.
|
|
373
|
+
*/
|
|
374
|
+
overflow?: TabsOverflowProp;
|
|
375
|
+
/**
|
|
376
|
+
* Ant Design `onTabClick`. Fires on EVERY pointer activation of a trigger — including a click on
|
|
377
|
+
* the tab that is already selected, where `onValueChange` is silent by design. That is the whole
|
|
378
|
+
* reason it is a separate prop and not a re-spelling of `onValueChange` (cardinal rule #32):
|
|
379
|
+
* "the user asked for this tab again" (re-fetch, close a drawer, scroll a panel back to the top)
|
|
380
|
+
* is a different event from "the selection changed".
|
|
381
|
+
*
|
|
382
|
+
* Keyboard activation is NOT routed here, and that is the APG winning over antd: under
|
|
383
|
+
* `activationMode="manual"` the arrow keys move focus without activating, so a key-driven
|
|
384
|
+
* "click" would be a fiction. Use `onValueChange` for selection, whatever moved it.
|
|
385
|
+
*/
|
|
386
|
+
onTabClick?: TabsOnTabClickProp;
|
|
295
387
|
className?: ClassNameProp;
|
|
296
388
|
listClassName?: ClassNameProp;
|
|
297
389
|
contentClassName?: ClassNameProp;
|
package/dist/props/registry.d.ts
CHANGED
|
@@ -244,6 +244,11 @@ export declare const VOCABULARY_REGISTRY: {
|
|
|
244
244
|
readonly category: "layout";
|
|
245
245
|
readonly description: "MobileShell block-size contract — viewport (100dvh root, the real app) | fill (fills a bounded parent, e.g. a device-frame preview)";
|
|
246
246
|
};
|
|
247
|
+
readonly MobileShellWidthProp: {
|
|
248
|
+
readonly file: "vocabulary/layout.prop.ts";
|
|
249
|
+
readonly category: "layout";
|
|
250
|
+
readonly description: "MobileShell inline-size contract — fill (takes the whole inline size, the default) | phone (caps at the handheld measure and centres, for a handheld screen on a wider viewport)";
|
|
251
|
+
};
|
|
247
252
|
readonly CenteredShellPresetProp: {
|
|
248
253
|
readonly file: "vocabulary/layout.prop.ts";
|
|
249
254
|
readonly category: "layout";
|
|
@@ -841,7 +846,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
841
846
|
readonly MobileShellProp: {
|
|
842
847
|
readonly group: "layout";
|
|
843
848
|
readonly file: "components/layout.prop.ts";
|
|
844
|
-
readonly vocabulary: readonly ["ChildrenProp", "ClassNameProp", "ActionProp", "MobileShellHeightProp", {
|
|
849
|
+
readonly vocabulary: readonly ["ChildrenProp", "ClassNameProp", "ActionProp", "MobileShellHeightProp", "MobileShellWidthProp", {
|
|
845
850
|
readonly field: "header";
|
|
846
851
|
readonly local: true;
|
|
847
852
|
readonly reason: "MobileShell app-bar band — the screen title row; it absorbs the top safe-area inset when no statusBar precedes it.";
|
|
@@ -1254,6 +1259,16 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1254
1259
|
readonly file: "components/data-entry.prop.ts";
|
|
1255
1260
|
readonly vocabulary: readonly [];
|
|
1256
1261
|
};
|
|
1262
|
+
readonly SliderMarkProp: {
|
|
1263
|
+
readonly group: "data-entry";
|
|
1264
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1265
|
+
readonly vocabulary: readonly [];
|
|
1266
|
+
};
|
|
1267
|
+
readonly SliderRangeConfigProp: {
|
|
1268
|
+
readonly group: "data-entry";
|
|
1269
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1270
|
+
readonly vocabulary: readonly [];
|
|
1271
|
+
};
|
|
1257
1272
|
readonly ControlCountProp: {
|
|
1258
1273
|
readonly group: "data-entry";
|
|
1259
1274
|
readonly file: "components/data-entry.prop.ts";
|
|
@@ -1304,21 +1319,6 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1304
1319
|
readonly file: "components/data-entry.prop.ts";
|
|
1305
1320
|
readonly vocabulary: readonly ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"];
|
|
1306
1321
|
};
|
|
1307
|
-
readonly MonthPickerProp: {
|
|
1308
|
-
readonly group: "data-entry";
|
|
1309
|
-
readonly file: "components/data-entry.prop.ts";
|
|
1310
|
-
readonly vocabulary: readonly ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"];
|
|
1311
|
-
};
|
|
1312
|
-
readonly MonthRangePickerProp: {
|
|
1313
|
-
readonly group: "data-entry";
|
|
1314
|
-
readonly file: "components/data-entry.prop.ts";
|
|
1315
|
-
readonly vocabulary: readonly ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"];
|
|
1316
|
-
};
|
|
1317
|
-
readonly DateRangePickerProp: {
|
|
1318
|
-
readonly group: "data-entry";
|
|
1319
|
-
readonly file: "components/data-entry.prop.ts";
|
|
1320
|
-
readonly vocabulary: readonly ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"];
|
|
1321
|
-
};
|
|
1322
1322
|
readonly CalendarCellRenderProp: {
|
|
1323
1323
|
readonly group: "data-entry";
|
|
1324
1324
|
readonly file: "components/data-entry.prop.ts";
|
|
@@ -1363,6 +1363,54 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1363
1363
|
readonly vocabulary: readonly ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "EmptyMessageProp", "DisabledProp", "NameProp", "IdProp", "ClassNameProp", "OpenProp", "OnOpenChangeProp", "SizeProp", "DefaultOpenProp", "ControlStatusProp", "ControlVariantProp", "AllowClearProp", "NotFoundContentProp", "PopupMatchWidthProp", "PendingProp"];
|
|
1364
1364
|
readonly note: "Internal — the searchable engine behind `<Select options showSearch>` (not public API); use Select.";
|
|
1365
1365
|
};
|
|
1366
|
+
readonly SelectFieldNamesProp: {
|
|
1367
|
+
readonly group: "data-entry";
|
|
1368
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1369
|
+
readonly vocabulary: readonly ["LabelProp", "ValueProp", "DisabledProp"];
|
|
1370
|
+
readonly note: "antd `fieldNames` for `<Select options>` — the spelling Cascader and TreeSelect already take.";
|
|
1371
|
+
};
|
|
1372
|
+
readonly SelectOptionGroupProp: {
|
|
1373
|
+
readonly group: "data-entry";
|
|
1374
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1375
|
+
readonly vocabulary: readonly ["LabelProp", "DisabledProp"];
|
|
1376
|
+
readonly note: "antd's nested option GROUP (`{ label, options }`); flattens to the `group` a flat row carries.";
|
|
1377
|
+
};
|
|
1378
|
+
readonly SelectOptionInputProp: {
|
|
1379
|
+
readonly group: "data-entry";
|
|
1380
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1381
|
+
readonly vocabulary: readonly [];
|
|
1382
|
+
readonly note: "What `<Select options>` accepts: a row, a group, or a foreign row read through `fieldNames`.";
|
|
1383
|
+
};
|
|
1384
|
+
readonly SelectLabeledValueProp: {
|
|
1385
|
+
readonly group: "data-entry";
|
|
1386
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1387
|
+
readonly vocabulary: readonly ["ValueProp", "LabelProp"];
|
|
1388
|
+
readonly note: "antd `labelInValue` — the value carries its own label for a screen with no option list yet.";
|
|
1389
|
+
};
|
|
1390
|
+
readonly SelectPlacementProp: {
|
|
1391
|
+
readonly group: "data-entry";
|
|
1392
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1393
|
+
readonly vocabulary: readonly [];
|
|
1394
|
+
readonly note: "antd `placement` on the LOGICAL inline axis, as DropdownMenuPlacementProp already spells it.";
|
|
1395
|
+
};
|
|
1396
|
+
readonly SelectShowSearchProp: {
|
|
1397
|
+
readonly group: "data-entry";
|
|
1398
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1399
|
+
readonly vocabulary: readonly ["OnSearchChangeProp"];
|
|
1400
|
+
readonly note: "antd `showSearch`'s object form. `filterOption(input, option)` here takes antd's argument order.";
|
|
1401
|
+
};
|
|
1402
|
+
readonly SelectLabelInValueSingleProp: {
|
|
1403
|
+
readonly group: "data-entry";
|
|
1404
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1405
|
+
readonly vocabulary: readonly ["ValueProp", "DefaultValueProp", "OnValueChangeProp"];
|
|
1406
|
+
readonly note: "Internal — the `labelInValue` single shape of `<Select options>`; use Select.";
|
|
1407
|
+
};
|
|
1408
|
+
readonly SelectLabelInValueMultipleProp: {
|
|
1409
|
+
readonly group: "data-entry";
|
|
1410
|
+
readonly file: "components/data-entry.prop.ts";
|
|
1411
|
+
readonly vocabulary: readonly ["ValueProp", "DefaultValueProp", "OnValueChangeProp", "MaxTagCountProp", "MaxTagPlaceholderProp"];
|
|
1412
|
+
readonly note: "Internal — the `labelInValue` multiple/tags shape of `<Select options>`; use Select.";
|
|
1413
|
+
};
|
|
1366
1414
|
readonly SelectDataProp: {
|
|
1367
1415
|
readonly group: "data-entry";
|
|
1368
1416
|
readonly file: "components/data-entry.prop.ts";
|
|
@@ -1932,6 +1980,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1932
1980
|
readonly file: "components/navigation.prop.ts";
|
|
1933
1981
|
readonly vocabulary: readonly [];
|
|
1934
1982
|
};
|
|
1983
|
+
readonly DropdownMenuTriggerActionProp: {
|
|
1984
|
+
readonly group: "navigation";
|
|
1985
|
+
readonly file: "components/navigation.prop.ts";
|
|
1986
|
+
readonly vocabulary: readonly [];
|
|
1987
|
+
};
|
|
1935
1988
|
readonly PaginationAlignProp: {
|
|
1936
1989
|
readonly group: "navigation";
|
|
1937
1990
|
readonly file: "components/navigation.prop.ts";
|
|
@@ -2012,6 +2065,16 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2012
2065
|
readonly file: "components/navigation.prop.ts";
|
|
2013
2066
|
readonly vocabulary: readonly ["HandlerProp"];
|
|
2014
2067
|
};
|
|
2068
|
+
readonly TabsOnTabClickProp: {
|
|
2069
|
+
readonly group: "navigation";
|
|
2070
|
+
readonly file: "components/navigation.prop.ts";
|
|
2071
|
+
readonly vocabulary: readonly ["HandlerProp"];
|
|
2072
|
+
};
|
|
2073
|
+
readonly TabsOverflowProp: {
|
|
2074
|
+
readonly group: "navigation";
|
|
2075
|
+
readonly file: "components/navigation.prop.ts";
|
|
2076
|
+
readonly vocabulary: readonly [];
|
|
2077
|
+
};
|
|
2015
2078
|
readonly TabItemProp: {
|
|
2016
2079
|
readonly group: "navigation";
|
|
2017
2080
|
readonly file: "components/navigation.prop.ts";
|
package/dist/props/registry.js
CHANGED
|
@@ -242,6 +242,11 @@ const VOCABULARY_REGISTRY = {
|
|
|
242
242
|
category: "layout",
|
|
243
243
|
description: "MobileShell block-size contract \u2014 viewport (100dvh root, the real app) | fill (fills a bounded parent, e.g. a device-frame preview)"
|
|
244
244
|
},
|
|
245
|
+
MobileShellWidthProp: {
|
|
246
|
+
file: "vocabulary/layout.prop.ts",
|
|
247
|
+
category: "layout",
|
|
248
|
+
description: "MobileShell inline-size contract \u2014 fill (takes the whole inline size, the default) | phone (caps at the handheld measure and centres, for a handheld screen on a wider viewport)"
|
|
249
|
+
},
|
|
245
250
|
CenteredShellPresetProp: {
|
|
246
251
|
file: "vocabulary/layout.prop.ts",
|
|
247
252
|
category: "layout",
|
|
@@ -861,6 +866,7 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
861
866
|
"ClassNameProp",
|
|
862
867
|
"ActionProp",
|
|
863
868
|
"MobileShellHeightProp",
|
|
869
|
+
"MobileShellWidthProp",
|
|
864
870
|
{
|
|
865
871
|
field: "header",
|
|
866
872
|
local: true,
|
|
@@ -1414,6 +1420,16 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1414
1420
|
file: "components/data-entry.prop.ts",
|
|
1415
1421
|
vocabulary: []
|
|
1416
1422
|
},
|
|
1423
|
+
SliderMarkProp: {
|
|
1424
|
+
group: "data-entry",
|
|
1425
|
+
file: "components/data-entry.prop.ts",
|
|
1426
|
+
vocabulary: []
|
|
1427
|
+
},
|
|
1428
|
+
SliderRangeConfigProp: {
|
|
1429
|
+
group: "data-entry",
|
|
1430
|
+
file: "components/data-entry.prop.ts",
|
|
1431
|
+
vocabulary: []
|
|
1432
|
+
},
|
|
1417
1433
|
ControlCountProp: {
|
|
1418
1434
|
group: "data-entry",
|
|
1419
1435
|
file: "components/data-entry.prop.ts",
|
|
@@ -1472,21 +1488,6 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1472
1488
|
file: "components/data-entry.prop.ts",
|
|
1473
1489
|
vocabulary: ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"]
|
|
1474
1490
|
},
|
|
1475
|
-
MonthPickerProp: {
|
|
1476
|
-
group: "data-entry",
|
|
1477
|
-
file: "components/data-entry.prop.ts",
|
|
1478
|
-
vocabulary: ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"]
|
|
1479
|
-
},
|
|
1480
|
-
MonthRangePickerProp: {
|
|
1481
|
-
group: "data-entry",
|
|
1482
|
-
file: "components/data-entry.prop.ts",
|
|
1483
|
-
vocabulary: ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"]
|
|
1484
|
-
},
|
|
1485
|
-
DateRangePickerProp: {
|
|
1486
|
-
group: "data-entry",
|
|
1487
|
-
file: "components/data-entry.prop.ts",
|
|
1488
|
-
vocabulary: ["ValueProp", "OnValueChangeProp", "PlaceholderProp", "DisabledProp", "IdProp"]
|
|
1489
|
-
},
|
|
1490
1491
|
CalendarCellRenderProp: {
|
|
1491
1492
|
group: "data-entry",
|
|
1492
1493
|
file: "components/data-entry.prop.ts",
|
|
@@ -1573,6 +1574,60 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1573
1574
|
],
|
|
1574
1575
|
note: "Internal \u2014 the searchable engine behind `<Select options showSearch>` (not public API); use Select."
|
|
1575
1576
|
},
|
|
1577
|
+
SelectFieldNamesProp: {
|
|
1578
|
+
group: "data-entry",
|
|
1579
|
+
file: "components/data-entry.prop.ts",
|
|
1580
|
+
vocabulary: ["LabelProp", "ValueProp", "DisabledProp"],
|
|
1581
|
+
note: "antd `fieldNames` for `<Select options>` \u2014 the spelling Cascader and TreeSelect already take."
|
|
1582
|
+
},
|
|
1583
|
+
SelectOptionGroupProp: {
|
|
1584
|
+
group: "data-entry",
|
|
1585
|
+
file: "components/data-entry.prop.ts",
|
|
1586
|
+
vocabulary: ["LabelProp", "DisabledProp"],
|
|
1587
|
+
note: "antd's nested option GROUP (`{ label, options }`); flattens to the `group` a flat row carries."
|
|
1588
|
+
},
|
|
1589
|
+
SelectOptionInputProp: {
|
|
1590
|
+
group: "data-entry",
|
|
1591
|
+
file: "components/data-entry.prop.ts",
|
|
1592
|
+
vocabulary: [],
|
|
1593
|
+
note: "What `<Select options>` accepts: a row, a group, or a foreign row read through `fieldNames`."
|
|
1594
|
+
},
|
|
1595
|
+
SelectLabeledValueProp: {
|
|
1596
|
+
group: "data-entry",
|
|
1597
|
+
file: "components/data-entry.prop.ts",
|
|
1598
|
+
vocabulary: ["ValueProp", "LabelProp"],
|
|
1599
|
+
note: "antd `labelInValue` \u2014 the value carries its own label for a screen with no option list yet."
|
|
1600
|
+
},
|
|
1601
|
+
SelectPlacementProp: {
|
|
1602
|
+
group: "data-entry",
|
|
1603
|
+
file: "components/data-entry.prop.ts",
|
|
1604
|
+
vocabulary: [],
|
|
1605
|
+
note: "antd `placement` on the LOGICAL inline axis, as DropdownMenuPlacementProp already spells it."
|
|
1606
|
+
},
|
|
1607
|
+
SelectShowSearchProp: {
|
|
1608
|
+
group: "data-entry",
|
|
1609
|
+
file: "components/data-entry.prop.ts",
|
|
1610
|
+
vocabulary: ["OnSearchChangeProp"],
|
|
1611
|
+
note: "antd `showSearch`'s object form. `filterOption(input, option)` here takes antd's argument order."
|
|
1612
|
+
},
|
|
1613
|
+
SelectLabelInValueSingleProp: {
|
|
1614
|
+
group: "data-entry",
|
|
1615
|
+
file: "components/data-entry.prop.ts",
|
|
1616
|
+
vocabulary: ["ValueProp", "DefaultValueProp", "OnValueChangeProp"],
|
|
1617
|
+
note: "Internal \u2014 the `labelInValue` single shape of `<Select options>`; use Select."
|
|
1618
|
+
},
|
|
1619
|
+
SelectLabelInValueMultipleProp: {
|
|
1620
|
+
group: "data-entry",
|
|
1621
|
+
file: "components/data-entry.prop.ts",
|
|
1622
|
+
vocabulary: [
|
|
1623
|
+
"ValueProp",
|
|
1624
|
+
"DefaultValueProp",
|
|
1625
|
+
"OnValueChangeProp",
|
|
1626
|
+
"MaxTagCountProp",
|
|
1627
|
+
"MaxTagPlaceholderProp"
|
|
1628
|
+
],
|
|
1629
|
+
note: "Internal \u2014 the `labelInValue` multiple/tags shape of `<Select options>`; use Select."
|
|
1630
|
+
},
|
|
1576
1631
|
SelectDataProp: {
|
|
1577
1632
|
group: "data-entry",
|
|
1578
1633
|
file: "components/data-entry.prop.ts",
|
|
@@ -2233,6 +2288,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2233
2288
|
file: "components/navigation.prop.ts",
|
|
2234
2289
|
vocabulary: []
|
|
2235
2290
|
},
|
|
2291
|
+
DropdownMenuTriggerActionProp: {
|
|
2292
|
+
group: "navigation",
|
|
2293
|
+
file: "components/navigation.prop.ts",
|
|
2294
|
+
vocabulary: []
|
|
2295
|
+
},
|
|
2236
2296
|
PaginationAlignProp: {
|
|
2237
2297
|
group: "navigation",
|
|
2238
2298
|
file: "components/navigation.prop.ts",
|
|
@@ -2316,6 +2376,16 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2316
2376
|
file: "components/navigation.prop.ts",
|
|
2317
2377
|
vocabulary: ["HandlerProp"]
|
|
2318
2378
|
},
|
|
2379
|
+
TabsOnTabClickProp: {
|
|
2380
|
+
group: "navigation",
|
|
2381
|
+
file: "components/navigation.prop.ts",
|
|
2382
|
+
vocabulary: ["HandlerProp"]
|
|
2383
|
+
},
|
|
2384
|
+
TabsOverflowProp: {
|
|
2385
|
+
group: "navigation",
|
|
2386
|
+
file: "components/navigation.prop.ts",
|
|
2387
|
+
vocabulary: []
|
|
2388
|
+
},
|
|
2319
2389
|
TabItemProp: {
|
|
2320
2390
|
group: "navigation",
|
|
2321
2391
|
file: "components/navigation.prop.ts",
|
|
@@ -100,6 +100,18 @@ export type SelectedIdsProp = Set<string>;
|
|
|
100
100
|
export type OnSelectChangeProp = (next: Set<string>) => void;
|
|
101
101
|
/** Table density change callback. */
|
|
102
102
|
export type OnTableDensityChangeProp = (density: TableDensityProp) => void;
|
|
103
|
+
/**
|
|
104
|
+
* A row's STATE, drawn as a leading-edge rail plus a wash — the same six tones, with the same
|
|
105
|
+
* names and the same meanings, that `Card accent` already carries. A row that needs attention and
|
|
106
|
+
* a card that needs attention should not be two vocabularies.
|
|
107
|
+
*
|
|
108
|
+
* It is a state, never a category: colour is not the only signal a row may carry (WCAG 1.4.1), so
|
|
109
|
+
* the reason still belongs in a cell — a Badge, a status column, an icon with a label. The rail
|
|
110
|
+
* is what makes that cell findable in a long table, not a replacement for it.
|
|
111
|
+
*/
|
|
112
|
+
export type TableRowToneProp = "primary" | "success" | "warning" | "info" | "attention" | "destructive";
|
|
113
|
+
/** Per-row tone resolver — return `undefined` for a row in the ordinary state. */
|
|
114
|
+
export type RowToneProp<T> = (row: T) => TableRowToneProp | undefined;
|
|
103
115
|
/** Sort change callback — undefined clears sort. */
|
|
104
116
|
export type OnSortChangeProp = (sort: {
|
|
105
117
|
key: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Barrel — all vocabulary prop types. */
|
|
2
2
|
export type { ClassNameProp, ChildrenProp, IdProp, OpenProp, DefaultOpenProp, OnOpenChangeProp, HandlerProp, PendingProp, RequiredProp, DisabledProp, LabelProp, HelperProp, ErrorProp, ErrorBagProp, PlaceholderProp, NameProp, ValueProp, DefaultValueProp, OnValueChangeProp, OnChangeProp, OnClickProp, AsChildProp, FlushProp, WidthProp, ControlWidthProp, AllowClearProp, MaxTagCountProp, MaxTagPlaceholderProp, NotFoundContentProp, PopupMatchWidthProp, } from "./shared.prop.js";
|
|
3
3
|
export type { TitleProp, SubtitleProp, StatusProp, DescriptionProp, ExtraProp, FooterProp, ActionProp, IconProp, ConfirmLabelProp, CancelLabelProp, ActionsProp, EmptyMessageProp, } from "./content.prop.js";
|
|
4
|
-
export type { PageDensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, OrientationProp, TableDensityProp, DensityProp, GapNameProp, PadProp, PadRawProp, PadSides, GapProp, GapStepProp, } from "./layout.prop.js";
|
|
4
|
+
export type { PageDensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, MobileShellWidthProp, OrientationProp, TableDensityProp, DensityProp, GapNameProp, PadProp, PadRawProp, PadSides, GapProp, GapStepProp, } from "./layout.prop.js";
|
|
5
5
|
export type { ButtonVariantProp, ButtonSizeProp, BadgeVariantProp, AppSettingPickerAppearanceProp, AppSettingToggleAppearanceProp, ShapeProp, AvatarShapeProp, TextSizeProp, TextToneProp, FontWeightProp, HeadingLevelProp, TextAlignProp, TextWhitespaceProp, SizeProp, ControlStatusProp, ControlVariantProp, FormLayoutProp, DescriptionsLayoutProp, BreakpointProp, ConfirmVariantProp, ToneProp, AlertVariantProp, SortDirectionProp, ColumnAlignProp, SortStateProp, RevealDelayProp, ActivityVariantProp, ActivityAnnounceProp, } from "./interaction.prop.js";
|
|
6
6
|
export type { BreadcrumbItemProp, BreadcrumbProp, BreadcrumbItemMenuProp, BreadcrumbItemMenuEntryProp, BreadcrumbSeparatorProp, BreadcrumbItemRenderProp, } from "./navigation.prop.js";
|
|
7
|
-
export type { GetRowIdProp, OnRowClickProp, ColumnDefProp, TablePresetProp, TableColumnPriorityProp, TableCellIndentProp, SelectedIdsProp, OnSelectChangeProp, OnTableDensityChangeProp, OnSortChangeProp, OnSearchChangeProp, OnClearFiltersProp, HasActiveFiltersProp, StickyProp, ColumnFixedProp, ColumnFilterValueProp, ColumnFilterItemProp, ColumnFilterStateProp, OnColumnFilterChangeProp, ColumnCompareProp, ColumnSorterProp, TableSelectionItemProp, TableRowSelectionProp, TableExpandableProp, TableSummaryProp, TableScrollProp, TableStickyProp, OnRowProp, TablePaginationProp, DescriptionsColumnProp, DescriptionsSpanProp, DescriptionsItemsProp, } from "./data.prop.js";
|
|
7
|
+
export type { GetRowIdProp, OnRowClickProp, ColumnDefProp, TablePresetProp, TableColumnPriorityProp, TableCellIndentProp, SelectedIdsProp, OnSelectChangeProp, OnTableDensityChangeProp, TableRowToneProp, RowToneProp, OnSortChangeProp, OnSearchChangeProp, OnClearFiltersProp, HasActiveFiltersProp, StickyProp, ColumnFixedProp, ColumnFilterValueProp, ColumnFilterItemProp, ColumnFilterStateProp, OnColumnFilterChangeProp, ColumnCompareProp, ColumnSorterProp, TableSelectionItemProp, TableRowSelectionProp, TableExpandableProp, TableSummaryProp, TableScrollProp, TableStickyProp, OnRowProp, TablePaginationProp, DescriptionsColumnProp, DescriptionsSpanProp, DescriptionsItemsProp, } from "./data.prop.js";
|
|
@@ -26,6 +26,17 @@ export type CenteredShellAlignProp = "start" | "center";
|
|
|
26
26
|
* where a viewport-tall root would overflow its frame. Nothing else differs between the two.
|
|
27
27
|
*/
|
|
28
28
|
export type MobileShellHeightProp = "viewport" | "fill";
|
|
29
|
+
/**
|
|
30
|
+
* MobileShell inline-size contract — the axis `height` had and `width` did not.
|
|
31
|
+
* `"fill"` (default, and what the shell has always done) takes the whole inline size it is given.
|
|
32
|
+
* `"phone"` caps it at the handheld measure (`--mobile-shell-max-inline-size`) and centres the
|
|
33
|
+
* column, for the case the shell's own docstring already names on the block axis: a handheld
|
|
34
|
+
* screen rendered on a viewport wider than a handheld — a device-frame preview, a desktop browser
|
|
35
|
+
* opening a mobile route, a phone view embedded in a wider page. Measured at a 1280px viewport
|
|
36
|
+
* before this existed: the shell drew 1232px wide with `max-inline-size: none`, so a 44px tab bar
|
|
37
|
+
* spread its four destinations across a metre of screen.
|
|
38
|
+
*/
|
|
39
|
+
export type MobileShellWidthProp = "fill" | "phone";
|
|
29
40
|
/**
|
|
30
41
|
* ErrorSurface shell contract — WHERE the exception surface lives, not how it looks.
|
|
31
42
|
* `"application"` (403 / 404): the failure happened INSIDE the authenticated app, so the surface
|
|
@@ -44,27 +44,27 @@
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
[data-slot="card"][data-accent="primary"] {
|
|
47
|
-
--card-accent-color: hsl(var(--primary));
|
|
47
|
+
--card-accent-color: hsl(var(--mark-primary));
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
[data-slot="card"][data-accent="success"] {
|
|
51
|
-
--card-accent-color: hsl(var(--success));
|
|
51
|
+
--card-accent-color: hsl(var(--mark-success));
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
[data-slot="card"][data-accent="warning"] {
|
|
55
|
-
--card-accent-color: hsl(var(--warning));
|
|
55
|
+
--card-accent-color: hsl(var(--mark-warning));
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
[data-slot="card"][data-accent="info"] {
|
|
59
|
-
--card-accent-color: hsl(var(--info));
|
|
59
|
+
--card-accent-color: hsl(var(--mark-info));
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
[data-slot="card"][data-accent="attention"] {
|
|
63
|
-
--card-accent-color: hsl(var(--attention));
|
|
63
|
+
--card-accent-color: hsl(var(--mark-attention));
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
[data-slot="card"][data-accent="destructive"] {
|
|
67
|
-
--card-accent-color: hsl(var(--destructive));
|
|
67
|
+
--card-accent-color: hsl(var(--mark-destructive));
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
[data-slot="card"][data-accent] {
|