@adminiumjs/ui 0.2.9 → 0.3.0-rc.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/dist/components/alert/Alert.d.ts +1 -1
- package/dist/components/alert/Alert.js +1 -1
- package/dist/components/auth-layout/AuthLayout.d.ts +6 -6
- package/dist/components/auth-layout/AuthLayout.js +6 -6
- package/dist/components/auth-screens/ForgotPasswordForm.d.ts +5 -6
- package/dist/components/auth-screens/ForgotPasswordForm.d.ts.map +1 -1
- package/dist/components/auth-screens/ForgotPasswordForm.js.map +1 -1
- package/dist/components/autosave-indicator/AutosaveIndicator.d.ts +2 -2
- package/dist/components/autosave-indicator/AutosaveIndicator.js +1 -1
- package/dist/components/avatar/Avatar.d.ts +5 -5
- package/dist/components/avatar/Avatar.js +5 -5
- package/dist/components/avatar-stack/AvatarStack.d.ts +1 -1
- package/dist/components/avatar-stack/AvatarStack.js +1 -1
- package/dist/components/badge/Badge.d.ts +1 -1
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/badge/index.js +2 -2
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/banner/Banner.d.ts +1 -1
- package/dist/components/banner/Banner.js +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/bulk-action-bar/BulkActionBar.d.ts +2 -2
- package/dist/components/bulk-action-bar/BulkActionBar.js +2 -2
- package/dist/components/button/Button.d.ts +3 -3
- package/dist/components/button/Button.js +3 -3
- package/dist/components/card/Card.d.ts +1 -1
- package/dist/components/card/Card.js +1 -1
- package/dist/components/check-row/CheckRow.d.ts +34 -0
- package/dist/components/check-row/CheckRow.d.ts.map +1 -0
- package/dist/components/check-row/CheckRow.js +53 -0
- package/dist/components/check-row/CheckRow.js.map +1 -0
- package/dist/components/check-row/index.d.ts +3 -0
- package/dist/components/check-row/index.d.ts.map +1 -0
- package/dist/components/check-row/index.js +3 -0
- package/dist/components/check-row/index.js.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +1 -1
- package/dist/components/checkbox/Checkbox.js +1 -1
- package/dist/components/chip-input/ChipInput.d.ts +9 -2
- package/dist/components/chip-input/ChipInput.d.ts.map +1 -1
- package/dist/components/chip-input/ChipInput.js +3 -3
- package/dist/components/chip-input/ChipInput.js.map +1 -1
- package/dist/components/choice-chips/ChoiceChips.d.ts +2 -2
- package/dist/components/choice-chips/ChoiceChips.js +2 -2
- package/dist/components/combobox/Combobox.d.ts +1 -1
- package/dist/components/combobox/Combobox.js +1 -1
- package/dist/components/command-palette/CommandPalette.d.ts +1 -1
- package/dist/components/command-palette/CommandPalette.js +1 -1
- package/dist/components/command-palette/useCommandK.d.ts +4 -3
- package/dist/components/command-palette/useCommandK.d.ts.map +1 -1
- package/dist/components/command-palette/useCommandK.js +4 -3
- package/dist/components/command-palette/useCommandK.js.map +1 -1
- package/dist/components/confirm-modal/ConfirmModal.d.ts +7 -7
- package/dist/components/confirm-modal/ConfirmModal.js +1 -1
- package/dist/components/count-badge/CountBadge.d.ts +1 -1
- package/dist/components/count-badge/CountBadge.js +1 -1
- package/dist/components/date-input/DateInput.d.ts +1 -1
- package/dist/components/date-input/DateInput.js +1 -1
- package/dist/components/delta-pill/DeltaPill.d.ts +1 -1
- package/dist/components/delta-pill/DeltaPill.js +1 -1
- package/dist/components/divider/Divider.d.ts +1 -1
- package/dist/components/divider/Divider.js +1 -1
- package/dist/components/drawer/Drawer.d.ts +3 -3
- package/dist/components/drawer/Drawer.js +2 -2
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +1 -1
- package/dist/components/empty-state/EmptyState.d.ts +1 -1
- package/dist/components/empty-state/EmptyState.js +1 -1
- package/dist/components/filter-chip/FilterChip.d.ts +1 -1
- package/dist/components/filter-chip/FilterChip.js +1 -1
- package/dist/components/form-dialog/FormDialog.d.ts +79 -0
- package/dist/components/form-dialog/FormDialog.d.ts.map +1 -0
- package/dist/components/form-dialog/FormDialog.js +76 -0
- package/dist/components/form-dialog/FormDialog.js.map +1 -0
- package/dist/components/form-dialog/index.d.ts +3 -0
- package/dist/components/form-dialog/index.d.ts.map +1 -0
- package/dist/components/form-dialog/index.js +3 -0
- package/dist/components/form-dialog/index.js.map +1 -0
- package/dist/components/form-field/FormField.d.ts +1 -1
- package/dist/components/form-field/FormField.d.ts.map +1 -1
- package/dist/components/form-field/FormField.js +3 -2
- package/dist/components/form-field/FormField.js.map +1 -1
- package/dist/components/icon/Icon.d.ts +6 -6
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +1 -1
- package/dist/components/icon/Icon.js.map +1 -1
- package/dist/components/icon/icon-names.js +3 -3
- package/dist/components/icon/icon-names.js.map +1 -1
- package/dist/components/icon-button/IconButton.d.ts +2 -2
- package/dist/components/icon-button/IconButton.js +2 -2
- package/dist/components/icon-tile/IconTile.d.ts +1 -1
- package/dist/components/icon-tile/IconTile.js +2 -2
- package/dist/components/icon-tile/IconTile.js.map +1 -1
- package/dist/components/input/Input.d.ts +2 -2
- package/dist/components/input/Input.js +2 -2
- package/dist/components/input-group/InputGroup.d.ts +2 -2
- package/dist/components/input-group/InputGroup.js +2 -2
- package/dist/components/kbd/Kbd.d.ts +1 -1
- package/dist/components/kbd/Kbd.js +1 -1
- package/dist/components/key-value-list/KeyValueList.d.ts +1 -1
- package/dist/components/key-value-list/KeyValueList.js +1 -1
- package/dist/components/label/Label.d.ts +1 -1
- package/dist/components/label/Label.js +1 -1
- package/dist/components/meta-pill/MetaPill.d.ts +23 -0
- package/dist/components/meta-pill/MetaPill.d.ts.map +1 -0
- package/dist/components/meta-pill/MetaPill.js +19 -0
- package/dist/components/meta-pill/MetaPill.js.map +1 -0
- package/dist/components/meta-pill/index.d.ts +2 -0
- package/dist/components/meta-pill/index.d.ts.map +1 -0
- package/dist/components/meta-pill/index.js +3 -0
- package/dist/components/meta-pill/index.js.map +1 -0
- package/dist/components/modal/Modal.d.ts +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +3 -2
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/mono-text/MonoText.d.ts +2 -3
- package/dist/components/mono-text/MonoText.d.ts.map +1 -1
- package/dist/components/mono-text/MonoText.js +2 -3
- package/dist/components/mono-text/MonoText.js.map +1 -1
- package/dist/components/month-calendar/MonthCalendar.d.ts +46 -0
- package/dist/components/month-calendar/MonthCalendar.d.ts.map +1 -0
- package/dist/components/month-calendar/MonthCalendar.js +55 -0
- package/dist/components/month-calendar/MonthCalendar.js.map +1 -0
- package/dist/components/month-calendar/index.d.ts +2 -0
- package/dist/components/month-calendar/index.d.ts.map +1 -0
- package/dist/components/month-calendar/index.js +3 -0
- package/dist/components/month-calendar/index.js.map +1 -0
- package/dist/components/number-stepper/NumberStepper.d.ts +16 -2
- package/dist/components/number-stepper/NumberStepper.d.ts.map +1 -1
- package/dist/components/number-stepper/NumberStepper.js +22 -3
- package/dist/components/number-stepper/NumberStepper.js.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +1 -1
- package/dist/components/pagination/Pagination.js +1 -1
- package/dist/components/password-strength/PasswordStrength.d.ts +1 -1
- package/dist/components/password-strength/PasswordStrength.js +1 -1
- package/dist/components/permission-matrix/PermissionMatrix.d.ts +3 -3
- package/dist/components/popover/Popover.d.ts +1 -1
- package/dist/components/popover/Popover.js +1 -1
- package/dist/components/progress-bar/ProgressBar.d.ts +1 -1
- package/dist/components/progress-bar/ProgressBar.js +2 -2
- package/dist/components/progress-bar/ProgressBar.js.map +1 -1
- package/dist/components/radio/Radio.d.ts +2 -2
- package/dist/components/radio/Radio.js +2 -2
- package/dist/components/radio-card/RadioCard.d.ts +18 -8
- package/dist/components/radio-card/RadioCard.d.ts.map +1 -1
- package/dist/components/radio-card/RadioCard.js +4 -4
- package/dist/components/radio-card/RadioCard.js.map +1 -1
- package/dist/components/runtime-chip/RuntimeChip.d.ts +9 -9
- package/dist/components/runtime-chip/RuntimeChip.js +8 -8
- package/dist/components/search-input/SearchInput.d.ts +1 -1
- package/dist/components/search-input/SearchInput.js +1 -1
- package/dist/components/secret-input/SecretInput.d.ts +1 -1
- package/dist/components/secret-input/SecretInput.js +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +1 -1
- package/dist/components/select/Select.d.ts +1 -1
- package/dist/components/select/Select.js +1 -1
- package/dist/components/skeleton/Skeleton.d.ts +1 -1
- package/dist/components/skeleton/Skeleton.js +2 -2
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider.d.ts +1 -1
- package/dist/components/slider/Slider.js +1 -1
- package/dist/components/slot-grid/SlotGrid.d.ts +37 -0
- package/dist/components/slot-grid/SlotGrid.d.ts.map +1 -0
- package/dist/components/slot-grid/SlotGrid.js +47 -0
- package/dist/components/slot-grid/SlotGrid.js.map +1 -0
- package/dist/components/slot-grid/index.d.ts +2 -0
- package/dist/components/slot-grid/index.d.ts.map +1 -0
- package/dist/components/slot-grid/index.js +3 -0
- package/dist/components/slot-grid/index.js.map +1 -0
- package/dist/components/snackbar/Snackbar.d.ts +1 -1
- package/dist/components/snackbar/Snackbar.js +1 -1
- package/dist/components/spinner/Spinner.d.ts +1 -1
- package/dist/components/spinner/Spinner.js +1 -1
- package/dist/components/status-pill/StatusPill.d.ts +1 -1
- package/dist/components/status-pill/StatusPill.js +5 -5
- package/dist/components/status-pill/StatusPill.js.map +1 -1
- package/dist/components/step-rail/StepRail.d.ts +36 -0
- package/dist/components/step-rail/StepRail.d.ts.map +1 -0
- package/dist/components/step-rail/StepRail.js +28 -0
- package/dist/components/step-rail/StepRail.js.map +1 -0
- package/dist/components/step-rail/index.d.ts +2 -0
- package/dist/components/step-rail/index.d.ts.map +1 -0
- package/dist/components/step-rail/index.js +3 -0
- package/dist/components/step-rail/index.js.map +1 -0
- package/dist/components/stepper/Stepper.d.ts +1 -1
- package/dist/components/stepper/Stepper.js +1 -1
- package/dist/components/success-state/SuccessState.d.ts +1 -2
- package/dist/components/success-state/SuccessState.d.ts.map +1 -1
- package/dist/components/success-state/SuccessState.js +1 -2
- package/dist/components/success-state/SuccessState.js.map +1 -1
- package/dist/components/switch/Switch.d.ts +2 -2
- package/dist/components/switch/Switch.js +2 -2
- package/dist/components/tabs/Tabs.d.ts +1 -1
- package/dist/components/tabs/Tabs.js +1 -1
- package/dist/components/tag/Tag.d.ts +1 -1
- package/dist/components/tag/Tag.js +1 -1
- package/dist/components/textarea/Textarea.d.ts +1 -1
- package/dist/components/textarea/Textarea.js +1 -1
- package/dist/components/toast/Toast.d.ts +5 -6
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +5 -6
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/useToastQueue.d.ts +6 -7
- package/dist/components/toast/useToastQueue.d.ts.map +1 -1
- package/dist/components/toast/useToastQueue.js +6 -7
- package/dist/components/toast/useToastQueue.js.map +1 -1
- package/dist/components/toggle-row/ToggleRow.d.ts +33 -0
- package/dist/components/toggle-row/ToggleRow.d.ts.map +1 -0
- package/dist/components/toggle-row/ToggleRow.js +41 -0
- package/dist/components/toggle-row/ToggleRow.js.map +1 -0
- package/dist/components/toggle-row/index.d.ts +3 -0
- package/dist/components/toggle-row/index.d.ts.map +1 -0
- package/dist/components/toggle-row/index.js +3 -0
- package/dist/components/toggle-row/index.js.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.js +1 -1
- package/dist/components/two-phase-modal/TwoPhaseModal.d.ts +3 -4
- package/dist/components/two-phase-modal/TwoPhaseModal.d.ts.map +1 -1
- package/dist/components/two-phase-modal/TwoPhaseModal.js +3 -4
- package/dist/components/two-phase-modal/TwoPhaseModal.js.map +1 -1
- package/dist/hooks/useUndoableAction.d.ts +5 -5
- package/dist/hooks/useUndoableAction.js +5 -5
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +3 -4
- package/dist/lib/cn.d.ts.map +1 -1
- package/dist/lib/cn.js +3 -4
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/tones.d.ts +10 -9
- package/dist/lib/tones.d.ts.map +1 -1
- package/dist/lib/tones.js +10 -9
- package/dist/lib/tones.js.map +1 -1
- package/dist/lib/week.d.ts +37 -0
- package/dist/lib/week.d.ts.map +1 -0
- package/dist/lib/week.js +71 -0
- package/dist/lib/week.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +4 -5
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +19 -19
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/context.d.ts +6 -5
- package/dist/theme/context.d.ts.map +1 -1
- package/dist/theme/context.js.map +1 -1
- package/dist/theme/subscribe.d.ts +4 -4
- package/dist/theme/subscribe.js +1 -1
- package/dist/theme/types.d.ts +10 -10
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js +4 -4
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +2 -3
- package/dist/theme/useTheme.js.map +1 -1
- package/package.json +2 -2
|
@@ -26,7 +26,7 @@ export interface SegmentedControlProps extends Omit<React.ComponentPropsWithRef<
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* SegmentedControl — 3px-padded `--surface-2` tray; active segment =
|
|
29
|
-
* `--surface` bg + card shadow (research/design-system.md
|
|
29
|
+
* `--surface` bg + card shadow (research/design-system.md Tier 2).
|
|
30
30
|
* Variants come from the option shape: text, icon-only, with count pill,
|
|
31
31
|
* with status dot. Radiogroup semantics with a single tab stop; arrow keys
|
|
32
32
|
* move AND select (RTL-mirrored); Home/End jump.
|
|
@@ -13,7 +13,7 @@ const dotToneClasses = {
|
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
15
|
* SegmentedControl — 3px-padded `--surface-2` tray; active segment =
|
|
16
|
-
* `--surface` bg + card shadow (research/design-system.md
|
|
16
|
+
* `--surface` bg + card shadow (research/design-system.md Tier 2).
|
|
17
17
|
* Variants come from the option shape: text, icon-only, with count pill,
|
|
18
18
|
* with status dot. Radiogroup semantics with a single tab stop; arrow keys
|
|
19
19
|
* move AND select (RTL-mirrored); Home/End jump.
|
|
@@ -9,7 +9,7 @@ export interface SelectProps extends Omit<React.ComponentPropsWithRef<'select'>,
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Native `<select>` in the Input chrome with a chevron-down affordance
|
|
12
|
-
* (research/design-system.md
|
|
12
|
+
* (research/design-system.md Tier 2). Kept native for plain forms —
|
|
13
13
|
* searchable/rich cases (avatar rows, empty state) are `Combobox`.
|
|
14
14
|
* Children are regular `<option>`/`<optgroup>` elements.
|
|
15
15
|
*/
|
|
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
|
|
|
5
5
|
import { inputVariants } from '../input/index.js';
|
|
6
6
|
/**
|
|
7
7
|
* Native `<select>` in the Input chrome with a chevron-down affordance
|
|
8
|
-
* (research/design-system.md
|
|
8
|
+
* (research/design-system.md Tier 2). Kept native for plain forms —
|
|
9
9
|
* searchable/rich cases (avatar rows, empty state) are `Combobox`.
|
|
10
10
|
* Children are regular `<option>`/`<optgroup>` elements.
|
|
11
11
|
*/
|
|
@@ -3,7 +3,7 @@ import type * as React from 'react';
|
|
|
3
3
|
/**
|
|
4
4
|
* Shimmer placeholder using the tokens `.nb-skel` sweep (surface-3 ↔
|
|
5
5
|
* surface-2, 1.4s; static under reduced motion). `aria-hidden` — the loading
|
|
6
|
-
* *container* carries `aria-busy
|
|
6
|
+
* *container* carries `aria-busy`.
|
|
7
7
|
*/
|
|
8
8
|
export declare const skeletonVariants: (props?: ({
|
|
9
9
|
rounded?: "sm" | "md" | "lg" | "full" | null | undefined;
|
|
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Shimmer placeholder using the tokens `.nb-skel` sweep (surface-3 ↔
|
|
7
7
|
* surface-2, 1.4s; static under reduced motion). `aria-hidden` — the loading
|
|
8
|
-
* *container* carries `aria-busy
|
|
8
|
+
* *container* carries `aria-busy`.
|
|
9
9
|
*/
|
|
10
10
|
export const skeletonVariants = cva('nb-skel block', {
|
|
11
11
|
variants: {
|
|
@@ -25,7 +25,7 @@ function toCssSize(value) {
|
|
|
25
25
|
}
|
|
26
26
|
export function Skeleton({ className, rounded, width, height, ...props }) {
|
|
27
27
|
return (_jsx("div", { "aria-hidden": "true", className: cn(skeletonVariants({ rounded }), width !== undefined && 'w-[var(--adm-w)]', height !== undefined && 'h-[var(--adm-h)]', className),
|
|
28
|
-
// Sanctioned escape hatch: CSS custom properties only
|
|
28
|
+
// Sanctioned escape hatch: CSS custom properties only.
|
|
29
29
|
style: { '--adm-w': toCssSize(width), '--adm-h': toCssSize(height) }, ...props }));
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAI/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,EAAE;IACnD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CACnC,CAAC,CAAC;AAWH,SAAS,SAAS,CAAC,KAAkC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAiB;IACrF,OAAO,CACL,6BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAC7B,KAAK,KAAK,SAAS,IAAI,kBAAkB,EACzC,MAAM,KAAK,SAAS,IAAI,kBAAkB,EAC1C,SAAS,CACV;QACD,
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAI/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,EAAE;IACnD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CACnC,CAAC,CAAC;AAWH,SAAS,SAAS,CAAC,KAAkC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAiB;IACrF,OAAO,CACL,6BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAC7B,KAAK,KAAK,SAAS,IAAI,kBAAkB,EACzC,MAAM,KAAK,SAAS,IAAI,kBAAkB,EAC1C,SAAS,CACV;QACD,uDAAuD;QACvD,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAChE,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@ export interface SliderProps extends Omit<React.ComponentPropsWithRef<typeof Sli
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Slider — Radix slider with an accent range on a `--surface-3` track
|
|
12
|
-
* (research/design-system.md
|
|
12
|
+
* (research/design-system.md Tier 2). Arrow keys step (RTL-mirrored),
|
|
13
13
|
* PageUp/Down large-step, Home/End clamp. Pass a two-element `value`/
|
|
14
14
|
* `defaultValue` for a range slider.
|
|
15
15
|
*/
|
|
@@ -4,7 +4,7 @@ import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
|
4
4
|
import { cn } from '../../lib/cn.js';
|
|
5
5
|
/**
|
|
6
6
|
* Slider — Radix slider with an accent range on a `--surface-3` track
|
|
7
|
-
* (research/design-system.md
|
|
7
|
+
* (research/design-system.md Tier 2). Arrow keys step (RTL-mirrored),
|
|
8
8
|
* PageUp/Down large-step, Home/End clamp. Pass a two-element `value`/
|
|
9
9
|
* `defaultValue` for a range slider.
|
|
10
10
|
*/
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface Slot {
|
|
2
|
+
/** `HH:MM` — what is stored, and what is shown. */
|
|
3
|
+
value: string;
|
|
4
|
+
/** Already held; struck through and inert (comp 653–658). */
|
|
5
|
+
taken?: boolean | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface SlotGridProps {
|
|
8
|
+
slots: readonly Slot[];
|
|
9
|
+
value: string | null;
|
|
10
|
+
onChange: (slot: string) => void;
|
|
11
|
+
/** Accessible name for the group (i18n: no default). */
|
|
12
|
+
label: string;
|
|
13
|
+
emptyLabel: string;
|
|
14
|
+
className?: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* SlotGrid — the two-column grid of times (comp
|
|
18
|
+
* 342–346, 653–658).
|
|
19
|
+
*
|
|
20
|
+
* A taken slot is `disabled`, not merely struck through: the comp's own
|
|
21
|
+
* `onClick` for one is a no-op function, which looks identical and behaves
|
|
22
|
+
* identically to a broken button for anybody using a keyboard.
|
|
23
|
+
*
|
|
24
|
+
* The grid draws NOTHING rather than an empty frame when a day has no slots —
|
|
25
|
+
* a day outside the opening hours, or one whose slots are all taken and
|
|
26
|
+
* filtered away upstream — because an empty bordered box reads as "loading".
|
|
27
|
+
*/
|
|
28
|
+
export declare function SlotGrid({ slots, value, onChange, label, emptyLabel, className }: SlotGridProps): import("react").JSX.Element;
|
|
29
|
+
/**
|
|
30
|
+
* The slots of one day, from an opening time, a closing time and a step.
|
|
31
|
+
*
|
|
32
|
+
* The last slot STARTS before `end` rather than ending by it: a 09:00–17:00
|
|
33
|
+
* day with 30-minute slots offers 16:30 and not 17:00, because 17:00 is when
|
|
34
|
+
* the day closes, not a time anybody can book.
|
|
35
|
+
*/
|
|
36
|
+
export declare function slotsBetween(start: string, end: string, minutes: number): string[];
|
|
37
|
+
//# sourceMappingURL=SlotGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlotGrid.d.ts","sourceRoot":"","sources":["../../../src/components/slot-grid/SlotGrid.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,IAAI;IACnB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,+BAuC/F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAalF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
import { cn } from '../../lib/cn.js';
|
|
4
|
+
/**
|
|
5
|
+
* SlotGrid — the two-column grid of times (comp
|
|
6
|
+
* 342–346, 653–658).
|
|
7
|
+
*
|
|
8
|
+
* A taken slot is `disabled`, not merely struck through: the comp's own
|
|
9
|
+
* `onClick` for one is a no-op function, which looks identical and behaves
|
|
10
|
+
* identically to a broken button for anybody using a keyboard.
|
|
11
|
+
*
|
|
12
|
+
* The grid draws NOTHING rather than an empty frame when a day has no slots —
|
|
13
|
+
* a day outside the opening hours, or one whose slots are all taken and
|
|
14
|
+
* filtered away upstream — because an empty bordered box reads as "loading".
|
|
15
|
+
*/
|
|
16
|
+
export function SlotGrid({ slots, value, onChange, label, emptyLabel, className }) {
|
|
17
|
+
if (slots.length === 0) {
|
|
18
|
+
return (_jsx("p", { className: "text-body-sm text-fg-subtle", "data-testid": "slot-grid-empty", children: emptyLabel }));
|
|
19
|
+
}
|
|
20
|
+
return (_jsx("div", { className: cn('grid grid-cols-2 gap-1.5', className), role: "group", "aria-label": label, "data-testid": "slot-grid", children: slots.map((slot) => {
|
|
21
|
+
const chosen = slot.value === value;
|
|
22
|
+
return (_jsx("button", { type: "button", disabled: slot.taken === true, "aria-pressed": chosen, "data-testid": `slot-${slot.value}`, onClick: () => onChange(slot.value), className: cn('rounded-[10px] border px-1.5 py-2.5 font-mono text-[12.5px] font-bold', 'focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-accent', chosen && 'border-accent bg-accent-soft text-accent', !chosen && slot.taken === true && 'border-border-strong bg-surface-3 text-fg-subtle line-through', !chosen && slot.taken !== true && 'border-border-strong bg-surface text-fg-muted hover:text-fg'), children: slot.value }, slot.value));
|
|
23
|
+
}) }));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The slots of one day, from an opening time, a closing time and a step.
|
|
27
|
+
*
|
|
28
|
+
* The last slot STARTS before `end` rather than ending by it: a 09:00–17:00
|
|
29
|
+
* day with 30-minute slots offers 16:30 and not 17:00, because 17:00 is when
|
|
30
|
+
* the day closes, not a time anybody can book.
|
|
31
|
+
*/
|
|
32
|
+
export function slotsBetween(start, end, minutes) {
|
|
33
|
+
const parse = (text) => {
|
|
34
|
+
const [h, m] = text.split(':');
|
|
35
|
+
return Number(h) * 60 + Number(m ?? 0);
|
|
36
|
+
};
|
|
37
|
+
const from = parse(start);
|
|
38
|
+
const to = parse(end);
|
|
39
|
+
if (!Number.isFinite(from) || !Number.isFinite(to) || minutes <= 0 || to <= from)
|
|
40
|
+
return [];
|
|
41
|
+
const out = [];
|
|
42
|
+
for (let at = from; at < to; at += minutes) {
|
|
43
|
+
out.push(`${String(Math.floor(at / 60)).padStart(2, '0')}:${String(at % 60).padStart(2, '0')}`);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=SlotGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlotGrid.js","sourceRoot":"","sources":["../../../src/components/slot-grid/SlotGrid.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAmBrC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAiB;IAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,YAAG,SAAS,EAAC,6BAA6B,iBAAa,iBAAiB,YACrE,UAAU,GACT,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EACpD,IAAI,EAAC,OAAO,gBACA,KAAK,iBACL,WAAW,YAEtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;YACpC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,kBACf,MAAM,iBACP,QAAQ,IAAI,CAAC,KAAK,EAAE,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,qFAAqF,EACrF,MAAM,IAAI,0CAA0C,EACpD,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,+DAA+D,EACjG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,6DAA6D,CAChG,YAEA,IAAI,CAAC,KAAK,IAdN,IAAI,CAAC,KAAK,CAeR,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,GAAW,EAAE,OAAe;IACtE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5F,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slot-grid/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/slot-grid/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAiC,MAAM,eAAe,CAAC"}
|
|
@@ -13,7 +13,7 @@ export interface SnackbarProps extends ComponentPropsWithRef<'div'> {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Snackbar — inverted dark pill (`fg` background / `bg` text) with an inline
|
|
16
|
-
* Undo action (research/design-system.md
|
|
16
|
+
* Undo action (research/design-system.md Tier 3). For queued, tonal
|
|
17
17
|
* notifications use `Toast`/`useToastQueue`; Snackbar is the single
|
|
18
18
|
* lightweight confirmation.
|
|
19
19
|
*/
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { cn } from '../../lib/cn.js';
|
|
3
3
|
/**
|
|
4
4
|
* Snackbar — inverted dark pill (`fg` background / `bg` text) with an inline
|
|
5
|
-
* Undo action (research/design-system.md
|
|
5
|
+
* Undo action (research/design-system.md Tier 3). For queued, tonal
|
|
6
6
|
* notifications use `Toast`/`useToastQueue`; Snackbar is the single
|
|
7
7
|
* lightweight confirmation.
|
|
8
8
|
*/
|
|
@@ -3,7 +3,7 @@ import type * as React from 'react';
|
|
|
3
3
|
/**
|
|
4
4
|
* Rotating ring: currentColor top segment on a 25%-alpha ring, `nb-spin`
|
|
5
5
|
* keyframe from @adminium/tokens. Sizes 14/18/24px
|
|
6
|
-
* (research/design-system.md
|
|
6
|
+
* (research/design-system.md Tier 1). Inherits its color, so it adapts to
|
|
7
7
|
* `text-accent-fg` inside primary buttons; set `text-accent` (default) via
|
|
8
8
|
* className on standalone usage.
|
|
9
9
|
*/
|
|
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Rotating ring: currentColor top segment on a 25%-alpha ring, `nb-spin`
|
|
7
7
|
* keyframe from @adminium/tokens. Sizes 14/18/24px
|
|
8
|
-
* (research/design-system.md
|
|
8
|
+
* (research/design-system.md Tier 1). Inherits its color, so it adapts to
|
|
9
9
|
* `text-accent-fg` inside primary buttons; set `text-accent` (default) via
|
|
10
10
|
* className on standalone usage.
|
|
11
11
|
*/
|
|
@@ -13,7 +13,7 @@ export interface StatusPillProps extends Omit<BadgeProps, 'tone' | 'dot' | 'asCh
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Badge preset with a status dot; tone driven by the semantic status→tone
|
|
16
|
-
* registry (research/design-system.md
|
|
16
|
+
* registry (research/design-system.md Tier 1).
|
|
17
17
|
*/
|
|
18
18
|
export declare function StatusPill({ status, tone, fallbackTone, children, ...props }: StatusPillProps): React.JSX.Element;
|
|
19
19
|
//# sourceMappingURL=StatusPill.d.ts.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Badge } from '../badge/Badge.js';
|
|
3
3
|
import { statusTone } from '../../lib/tones.js';
|
|
4
|
-
// The status→tone registry lives in lib/tones.ts
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
4
|
+
// The status→tone registry lives in lib/tones.ts — ONE registry instance
|
|
5
|
+
// package-wide, so a `registerStatusTones` caller and every consumer
|
|
6
|
+
// resolve through the same map. Re-exported here because this module was
|
|
7
|
+
// the barrel's historical source.
|
|
8
8
|
export { DEFAULT_STATUS_TONES, registerStatusTones, statusTone } from '../../lib/tones.js';
|
|
9
9
|
/**
|
|
10
10
|
* Badge preset with a status dot; tone driven by the semantic status→tone
|
|
11
|
-
* registry (research/design-system.md
|
|
11
|
+
* registry (research/design-system.md Tier 1).
|
|
12
12
|
*/
|
|
13
13
|
export function StatusPill({ status, tone, fallbackTone = 'neutral', children, ...props }) {
|
|
14
14
|
return (_jsx(Badge, { tone: tone ?? statusTone(status, fallbackTone), dot: true, "data-status": status, ...props, children: children ?? status }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusPill.js","sourceRoot":"","sources":["../../../src/components/status-pill/StatusPill.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"StatusPill.js","sourceRoot":"","sources":["../../../src/components/status-pill/StatusPill.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,yEAAyE;AACzE,qEAAqE;AACrE,yEAAyE;AACzE,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAa3F;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACxG,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,uBAAc,MAAM,KAAM,KAAK,YACtF,QAAQ,IAAI,MAAM,GACb,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
export interface StepRailStep {
|
|
3
|
+
/** The step's name: 12.5 / 700 (comp 366). */
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
/** The second line, 10.5 subtle — what this step is for (comp 367). */
|
|
6
|
+
hint?: ReactNode | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface StepRailProps extends Omit<ComponentPropsWithRef<'nav'>, 'children'> {
|
|
9
|
+
steps: readonly StepRailStep[];
|
|
10
|
+
/** Zero-based. Everything before it is DONE, and looks the same. */
|
|
11
|
+
current: number;
|
|
12
|
+
/** Accessible name for the rail itself (i18n: no default). */
|
|
13
|
+
label: string;
|
|
14
|
+
/** Jump to a step; absent ⇒ the rail is a display, not a control. */
|
|
15
|
+
onStep?: ((index: number) => void) | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* StepRail — the wizard's progress band (comp
|
|
19
|
+
* 365–372, 660–667).
|
|
20
|
+
*
|
|
21
|
+
* ─── The number stays ──────────────────────────────────────────────────────
|
|
22
|
+
*
|
|
23
|
+
* A done step keeps its NUMBER and takes the accent, rather than turning into a
|
|
24
|
+
* tick: the comp draws it that way, and it means a person can still say "I am
|
|
25
|
+
* on three of four" when they look back. A tick would also collide with the
|
|
26
|
+
* check the third step's own rows draw.
|
|
27
|
+
*
|
|
28
|
+
* ─── Below 640px, badges only ──────────────────────────────────────────────
|
|
29
|
+
*
|
|
30
|
+
* The labels go and the numbered badges stay (DP11): three labels with hints do
|
|
31
|
+
* not fit a phone-width dialog, and a rail that wraps to three lines is a rail
|
|
32
|
+
* that has eaten the form. `aria-current="step"` carries the same information
|
|
33
|
+
* to a screen reader at every width.
|
|
34
|
+
*/
|
|
35
|
+
export declare function StepRail({ steps, current, label, onStep, className, ...props }: StepRailProps): import("react").JSX.Element;
|
|
36
|
+
//# sourceMappingURL=StepRail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepRail.d.ts","sourceRoot":"","sources":["../../../src/components/step-rail/StepRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnF,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAgD7F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../lib/cn.js';
|
|
3
|
+
/**
|
|
4
|
+
* StepRail — the wizard's progress band (comp
|
|
5
|
+
* 365–372, 660–667).
|
|
6
|
+
*
|
|
7
|
+
* ─── The number stays ──────────────────────────────────────────────────────
|
|
8
|
+
*
|
|
9
|
+
* A done step keeps its NUMBER and takes the accent, rather than turning into a
|
|
10
|
+
* tick: the comp draws it that way, and it means a person can still say "I am
|
|
11
|
+
* on three of four" when they look back. A tick would also collide with the
|
|
12
|
+
* check the third step's own rows draw.
|
|
13
|
+
*
|
|
14
|
+
* ─── Below 640px, badges only ──────────────────────────────────────────────
|
|
15
|
+
*
|
|
16
|
+
* The labels go and the numbered badges stay (DP11): three labels with hints do
|
|
17
|
+
* not fit a phone-width dialog, and a rail that wraps to three lines is a rail
|
|
18
|
+
* that has eaten the form. `aria-current="step"` carries the same information
|
|
19
|
+
* to a screen reader at every width.
|
|
20
|
+
*/
|
|
21
|
+
export function StepRail({ steps, current, label, onStep, className, ...props }) {
|
|
22
|
+
return (_jsx("nav", { "aria-label": label, className: cn('flex flex-wrap items-center gap-5 border-b border-border bg-surface-2 px-[22px] py-3.5', className), ...props, children: _jsx("ol", { className: "flex flex-wrap items-center gap-5", children: steps.map((step, index) => {
|
|
23
|
+
const done = index <= current;
|
|
24
|
+
const inner = (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: cn('flex size-6 shrink-0 items-center justify-center rounded-full font-mono text-[11px] font-bold', done ? 'bg-accent text-accent-fg' : 'bg-surface text-fg-subtle ring-1 ring-border'), children: index + 1 }), _jsxs("span", { className: "hidden min-w-0 flex-col sm:flex", children: [_jsx("span", { className: "text-[12.5px] font-bold text-fg", children: step.label }), step.hint === undefined ? null : (_jsx("span", { className: "text-[10.5px] text-fg-subtle", children: step.hint }))] })] }));
|
|
25
|
+
return (_jsx("li", { ...(index === current ? { 'aria-current': 'step' } : {}), children: onStep === undefined ? (_jsx("span", { className: "flex items-center gap-2", children: inner })) : (_jsx("button", { type: "button", onClick: () => onStep(index), className: "nb-ib flex items-center gap-2 rounded focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", children: inner })) }, index));
|
|
26
|
+
}) }) }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=StepRail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepRail.js","sourceRoot":"","sources":["../../../src/components/step-rail/StepRail.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAmBrC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB;IAC5F,OAAO,CACL,4BACc,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,wFAAwF,EAAE,SAAS,CAAC,KAC9G,KAAK,YAET,aAAI,SAAS,EAAC,mCAAmC,YAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;gBAC9B,MAAM,KAAK,GAAG,CACZ,8BACE,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,8CAA8C,CACnF,YAEA,KAAK,GAAG,CAAC,GACL,EACP,gBAAM,SAAS,EAAC,iCAAiC,aAC/C,eAAM,SAAS,EAAC,iCAAiC,YAAE,IAAI,CAAC,KAAK,GAAQ,EACpE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAQ,CAClE,IACI,IACN,CACJ,CAAC;gBACF,OAAO,CACL,gBAAoB,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAC/E,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAQ,CACzD,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAC,2HAA2H,YAEpI,KAAK,GACC,CACV,IAXM,KAAK,CAYT,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/step-rail/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/step-rail/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC"}
|
|
@@ -24,7 +24,7 @@ export interface StepperProps extends ComponentPropsWithRef<'ol'> {
|
|
|
24
24
|
/**
|
|
25
25
|
* Stepper — wizard progress: numbered/spinner/check circles + connectors in
|
|
26
26
|
* `horizontal` (wizard header) and `vertical` (timeline) variants; states
|
|
27
|
-
* pending/active/loading/done/error (research/design-system.md
|
|
27
|
+
* pending/active/loading/done/error (research/design-system.md Tier 3).
|
|
28
28
|
* `<ol>` semantics with `aria-current="step"` on the active item.
|
|
29
29
|
*/
|
|
30
30
|
export declare function Stepper({ steps, activeIndex, orientation, onStepClick, label, className, ...props }: StepperProps): import("react").JSX.Element;
|
|
@@ -50,7 +50,7 @@ function StepCircle({ state, index }) {
|
|
|
50
50
|
/**
|
|
51
51
|
* Stepper — wizard progress: numbered/spinner/check circles + connectors in
|
|
52
52
|
* `horizontal` (wizard header) and `vertical` (timeline) variants; states
|
|
53
|
-
* pending/active/loading/done/error (research/design-system.md
|
|
53
|
+
* pending/active/loading/done/error (research/design-system.md Tier 3).
|
|
54
54
|
* `<ol>` semantics with `aria-current="step"` on the active item.
|
|
55
55
|
*/
|
|
56
56
|
export function Stepper({ steps, activeIndex = 0, orientation = 'horizontal', onStepClick, label, className, ...props }) {
|
|
@@ -20,8 +20,7 @@ export interface SuccessStateProps extends Omit<ComponentPropsWithRef<'div'>, 't
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* SuccessState — 56px pos-soft check tile + heading + copy + Done button;
|
|
23
|
-
* modal phase 2 everywhere and wizard terminal step
|
|
24
|
-
* (03-component-library.md §5.3, §7.1).
|
|
23
|
+
* modal phase 2 everywhere and wizard terminal step.
|
|
25
24
|
*/
|
|
26
25
|
export declare function SuccessState({ title, body, doneLabel, onDone, autoFocusDone, icon, tone, actions, className, children, ...props }: SuccessStateProps): import("react").JSX.Element;
|
|
27
26
|
//# sourceMappingURL=SuccessState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuccessState.d.ts","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACpF,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"SuccessState.d.ts","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACpF,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAoB,EACpB,IAAI,EACJ,IAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAqBnB"}
|
|
@@ -6,8 +6,7 @@ import { Button } from '../button/Button.js';
|
|
|
6
6
|
import { IconTile } from '../icon-tile/IconTile.js';
|
|
7
7
|
/**
|
|
8
8
|
* SuccessState — 56px pos-soft check tile + heading + copy + Done button;
|
|
9
|
-
* modal phase 2 everywhere and wizard terminal step
|
|
10
|
-
* (03-component-library.md §5.3, §7.1).
|
|
9
|
+
* modal phase 2 everywhere and wizard terminal step.
|
|
11
10
|
*/
|
|
12
11
|
export function SuccessState({ title, body, doneLabel, onDone, autoFocusDone = true, icon, tone = 'pos', actions, className, children, ...props }) {
|
|
13
12
|
return (_jsxs("div", { "data-part": "success-state", className: cn('flex flex-col items-center px-6 py-8 text-center', className), ...props, children: [_jsx(IconTile, { size: "xl", tone: tone, icon: icon ?? _jsx(Check, {}) }), _jsx("h2", { className: "mt-4 text-modal text-fg", children: title }), body === undefined || body === null ? null : (_jsx("p", { className: "mt-1.5 max-w-[340px] text-body-sm text-fg-muted", children: body })), children, _jsxs("div", { className: "mt-6 flex items-center gap-2", children: [_jsx(Button, { autoFocus: autoFocusDone, onClick: onDone, className: "min-w-[120px]", children: doneLabel }), actions] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuccessState.js","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAqBpD
|
|
1
|
+
{"version":3,"file":"SuccessState.js","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAqBpD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,IAAI,EACJ,IAAI,GAAG,KAAK,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,OAAO,CACL,4BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,KACxE,KAAK,aAET,KAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAC,KAAK,KAAG,GAAI,EAC3D,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EACnD,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5C,YAAG,SAAS,EAAC,iDAAiD,YAAE,IAAI,GAAK,CAC1E,EACA,QAAQ,EACT,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,MAAM,IAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,eAAe,YACzE,SAAS,GACH,EACR,OAAO,IACJ,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -3,8 +3,8 @@ import type * as React from 'react';
|
|
|
3
3
|
export type SwitchProps = Omit<React.ComponentPropsWithRef<typeof SwitchPrimitive.Root>, 'style' | 'asChild'>;
|
|
4
4
|
/**
|
|
5
5
|
* Switch — Radix switch, 40x23 track, 19px white knob, accent when on /
|
|
6
|
-
* `--surface-3` when off
|
|
7
|
-
*
|
|
6
|
+
* `--surface-3` when off.18s knob travel (research/design-system.md Tier
|
|
7
|
+
* 2). Space/Enter toggle; label wiring via `Label htmlFor` or
|
|
8
8
|
* `FormField`. Knob travel mirrors in RTL.
|
|
9
9
|
*/
|
|
10
10
|
export declare function Switch({ className, ...props }: SwitchProps): React.JSX.Element;
|
|
@@ -4,8 +4,8 @@ import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
|
4
4
|
import { cn } from '../../lib/cn.js';
|
|
5
5
|
/**
|
|
6
6
|
* Switch — Radix switch, 40x23 track, 19px white knob, accent when on /
|
|
7
|
-
* `--surface-3` when off
|
|
8
|
-
*
|
|
7
|
+
* `--surface-3` when off.18s knob travel (research/design-system.md Tier
|
|
8
|
+
* 2). Space/Enter toggle; label wiring via `Label htmlFor` or
|
|
9
9
|
* `FormField`. Knob travel mirrors in RTL.
|
|
10
10
|
*/
|
|
11
11
|
export function Switch({ className, ...props }) {
|
|
@@ -10,7 +10,7 @@ export interface TabsProps extends ComponentPropsWithRef<typeof TabsPrimitive.Ro
|
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Tabs — Radix tabs with `underline` and `pill` variants
|
|
13
|
-
* (research/design-system.md
|
|
13
|
+
* (research/design-system.md Tier 3). Arrow keys auto-mirror in RTL via
|
|
14
14
|
* the app-level Radix `DirectionProvider`.
|
|
15
15
|
*/
|
|
16
16
|
export declare function Tabs({ variant, className, ...props }: TabsProps): import("react").JSX.Element;
|
|
@@ -7,7 +7,7 @@ import { CountBadge } from '../count-badge/CountBadge.js';
|
|
|
7
7
|
const TabsVariantContext = createContext('underline');
|
|
8
8
|
/**
|
|
9
9
|
* Tabs — Radix tabs with `underline` and `pill` variants
|
|
10
|
-
* (research/design-system.md
|
|
10
|
+
* (research/design-system.md Tier 3). Arrow keys auto-mirror in RTL via
|
|
11
11
|
* the app-level Radix `DirectionProvider`.
|
|
12
12
|
*/
|
|
13
13
|
export function Tabs({ variant = 'underline', className, ...props }) {
|
|
@@ -3,7 +3,7 @@ import type * as React from 'react';
|
|
|
3
3
|
/**
|
|
4
4
|
* Mini chip, 10px/700, radius 6px (`rounded-sm`); tones as soft-bg +
|
|
5
5
|
* strong-fg; `mono` variant for schema/type chips (`varchar`, `int8`, PK/FK,
|
|
6
|
-
* HTTP methods, PDF/CSV/XLSX) — research/design-system.md
|
|
6
|
+
* HTTP methods, PDF/CSV/XLSX) — research/design-system.md Tier 1.
|
|
7
7
|
*/
|
|
8
8
|
export declare const tagVariants: (props?: ({
|
|
9
9
|
tone?: "accent" | "pos" | "warn" | "danger" | "info" | "neutral" | null | undefined;
|
|
@@ -7,7 +7,7 @@ import { cn } from '../../lib/cn.js';
|
|
|
7
7
|
/**
|
|
8
8
|
* Mini chip, 10px/700, radius 6px (`rounded-sm`); tones as soft-bg +
|
|
9
9
|
* strong-fg; `mono` variant for schema/type chips (`varchar`, `int8`, PK/FK,
|
|
10
|
-
* HTTP methods, PDF/CSV/XLSX) — research/design-system.md
|
|
10
|
+
* HTTP methods, PDF/CSV/XLSX) — research/design-system.md Tier 1.
|
|
11
11
|
*/
|
|
12
12
|
export const tagVariants = cva('inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-1.5 py-[3px] text-[10px] font-bold leading-none', {
|
|
13
13
|
variants: {
|
|
@@ -13,7 +13,7 @@ export interface TextareaProps extends Omit<React.ComponentPropsWithRef<'textare
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Multi-line input with the exact `Input` chrome
|
|
16
|
-
* (research/design-system.md
|
|
16
|
+
* (research/design-system.md Tier 2).
|
|
17
17
|
*/
|
|
18
18
|
export declare function Textarea({ className, error, mono, autoResize, ...props }: TextareaProps): React.JSX.Element;
|
|
19
19
|
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -3,7 +3,7 @@ import { cn } from '../../lib/cn.js';
|
|
|
3
3
|
import { inputVariants } from '../input/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Multi-line input with the exact `Input` chrome
|
|
6
|
-
* (research/design-system.md
|
|
6
|
+
* (research/design-system.md Tier 2).
|
|
7
7
|
*/
|
|
8
8
|
export function Textarea({ className, error = false, mono = false, autoResize = false, ...props }) {
|
|
9
9
|
return (_jsx("textarea", { ...(error ? { 'aria-invalid': true, 'data-invalid': '' } : {}), className: cn(inputVariants({ mono }), 'h-auto min-h-[76px] py-2 leading-relaxed', autoResize ? 'field-sizing-content resize-none' : 'resize-y', className), ...props }));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
2
|
export type ToastVariant = 'success' | 'error' | 'warning' | 'info' | 'loading';
|
|
3
3
|
/**
|
|
4
|
-
* Default auto-dismiss durations in ms
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Default auto-dismiss durations in ms. The imperative queue manager
|
|
5
|
+
* that actually fires dismissal is wave 2 — here the duration only
|
|
6
|
+
* drives the visual `nb-toastbar` countdown.
|
|
7
7
|
*/
|
|
8
8
|
export declare const TOAST_DEFAULT_DURATIONS: Record<ToastVariant, number | null>;
|
|
9
9
|
export interface ToastActionSpec {
|
|
@@ -31,9 +31,8 @@ export interface ToastProps extends Omit<ComponentPropsWithRef<'div'>, 'title'>
|
|
|
31
31
|
* Toast — single toast primitive: icon tile · title · description · optional
|
|
32
32
|
* action · close · bottom timer bar (`nb-toastbar` scaleX). Slide-in via
|
|
33
33
|
* `nb-toastin`, RTL-mirrored to `nb-toastin-rtl`
|
|
34
|
-
* (research/design-system.md
|
|
35
|
-
*
|
|
36
|
-
* controlled primitive.
|
|
34
|
+
* (research/design-system.md Tier 3). Queue semantics (max 4, auto-dismiss,
|
|
35
|
+
* `toast.*` imperative API) are wave 2 — this is the controlled primitive.
|
|
37
36
|
*/
|
|
38
37
|
export declare function Toast({ variant, title, description, action, onDismiss, dismissLabel, duration, className, ...props }: ToastProps): import("react").JSX.Element;
|
|
39
38
|
export interface ToastItem {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAmBhF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMvE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAC7E,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAmBhF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMvE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAC7E,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAgB,EAChB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,+BAuEZ;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACnE,+EAA+E;IAC/E,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,+BAyBjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,aAAa,mBAAa,CAAC"}
|
|
@@ -19,9 +19,9 @@ const toneBarBg = {
|
|
|
19
19
|
info: 'bg-info',
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* Default auto-dismiss durations in ms
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* Default auto-dismiss durations in ms. The imperative queue manager
|
|
23
|
+
* that actually fires dismissal is wave 2 — here the duration only
|
|
24
|
+
* drives the visual `nb-toastbar` countdown.
|
|
25
25
|
*/
|
|
26
26
|
export const TOAST_DEFAULT_DURATIONS = {
|
|
27
27
|
success: 2600,
|
|
@@ -34,9 +34,8 @@ export const TOAST_DEFAULT_DURATIONS = {
|
|
|
34
34
|
* Toast — single toast primitive: icon tile · title · description · optional
|
|
35
35
|
* action · close · bottom timer bar (`nb-toastbar` scaleX). Slide-in via
|
|
36
36
|
* `nb-toastin`, RTL-mirrored to `nb-toastin-rtl`
|
|
37
|
-
* (research/design-system.md
|
|
38
|
-
*
|
|
39
|
-
* controlled primitive.
|
|
37
|
+
* (research/design-system.md Tier 3). Queue semantics (max 4, auto-dismiss,
|
|
38
|
+
* `toast.*` imperative API) are wave 2 — this is the controlled primitive.
|
|
40
39
|
*/
|
|
41
40
|
export function Toast({ variant = 'info', title, description, action, onDismiss, dismissLabel, duration, className, ...props }) {
|
|
42
41
|
const tone = variantTone[variant];
|