@godxjp/ui 7.0.0 → 8.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/dist/app/index.d.ts +2 -2
- package/dist/{app.prop-IobwLwaM.d.ts → app.prop-DnIXFzLi.d.ts} +9 -9
- package/dist/{checkbox-CK2mYEpD.d.ts → checkbox-ChRsR7Nk.d.ts} +2 -2
- package/dist/{chunk-3UGU5TYP.js → chunk-25RYBC5T.js} +2 -2
- package/dist/{chunk-CQBADMFG.js → chunk-26CPAKUP.js} +3 -2
- package/dist/{chunk-TT2L7JM6.js → chunk-3TS3G4U3.js} +3 -3
- package/dist/{chunk-ZS6DTAM2.js → chunk-4MMIMZMK.js} +1 -1
- package/dist/{chunk-6TSU4IHV.js → chunk-4R7RQDXI.js} +23 -21
- package/dist/{chunk-OXKY5QMK.js → chunk-6QXQQAOQ.js} +6 -6
- package/dist/{chunk-JJCGMCTL.js → chunk-A22MCA3X.js} +6 -6
- package/dist/{chunk-VXXKR5U4.js → chunk-A7PKMT7Y.js} +4 -4
- package/dist/{chunk-HKQITNB3.js → chunk-AINW5WYN.js} +5 -4
- package/dist/{chunk-OGFWIXRO.js → chunk-C5H655GK.js} +218 -53
- package/dist/{chunk-ZLK5SPT6.js → chunk-EOTOCNT7.js} +1 -1
- package/dist/{chunk-ARDVPIF4.js → chunk-G2WYOCDL.js} +5 -5
- package/dist/chunk-HKD6ERY7.js +1 -0
- package/dist/{chunk-V6UWJKZF.js → chunk-HTEL5DQI.js} +1 -1
- package/dist/{chunk-ICM6XBST.js → chunk-IBK5D2Q6.js} +2 -1
- package/dist/{chunk-IK7I3ABN.js → chunk-IOGU3ZWF.js} +2 -2
- package/dist/{chunk-HJEBRCXL.js → chunk-M4PZNAMV.js} +1 -0
- package/dist/{chunk-2QG3OVAD.js → chunk-N43OKOFT.js} +7 -5
- package/dist/{chunk-ZR2TIBPG.js → chunk-NG23LVTM.js} +4 -4
- package/dist/{chunk-E76QIYSY.js → chunk-O24Z3ULJ.js} +4 -4
- package/dist/{chunk-L6J44O74.js → chunk-OJZ6C2HM.js} +2 -2
- package/dist/{chunk-2HLWHQJA.js → chunk-P4HFJQID.js} +5 -4
- package/dist/{chunk-EXBWDW5E.js → chunk-RGIYKJPW.js} +7 -7
- package/dist/{chunk-ZKIAZDVU.js → chunk-RGPF3HU6.js} +4 -4
- package/dist/{chunk-FBHN6OO4.js → chunk-SKIRU7GC.js} +2 -2
- package/dist/chunk-TILFZBTE.js +50 -0
- package/dist/{chunk-6UFKWOEW.js → chunk-TMDGV4CN.js} +15 -11
- package/dist/{chunk-7AMHT5Z5.js → chunk-UIYEAUWA.js} +30 -13
- package/dist/{chunk-25ZZ2W3M.js → chunk-WN52SCGE.js} +5 -5
- package/dist/{chunk-EQRQM6RF.js → chunk-WTVLZVBA.js} +28 -8
- package/dist/{chunk-Y3XBNUTD.js → chunk-XDUZ7JJL.js} +2 -2
- package/dist/chunk-XMBCNMJI.js +61 -0
- package/dist/{chunk-RVY4F7LK.js → chunk-XZM2GNAY.js} +7 -7
- package/dist/{chunk-NTUHJ37K.js → chunk-Z6HNY2PL.js} +9 -9
- package/dist/components/admin/index.d.ts +19 -19
- package/dist/components/admin/index.js +30 -30
- package/dist/components/data-display/badge.d.ts +7 -4
- package/dist/components/data-display/badge.js +2 -2
- package/dist/components/data-display/card.d.ts +2 -2
- package/dist/components/data-display/index.d.ts +6 -6
- package/dist/components/data-display/index.js +8 -8
- package/dist/components/data-display/table.js +2 -2
- package/dist/components/data-entry/autocomplete.d.ts +5 -5
- package/dist/components/data-entry/autocomplete.js +6 -6
- package/dist/components/data-entry/calendar.d.ts +5 -5
- package/dist/components/data-entry/calendar.js +3 -3
- package/dist/components/data-entry/cascader.d.ts +6 -6
- package/dist/components/data-entry/cascader.js +7 -7
- package/dist/components/data-entry/checkbox.d.ts +6 -6
- package/dist/components/data-entry/checkbox.js +2 -2
- package/dist/components/data-entry/color-picker.d.ts +6 -6
- package/dist/components/data-entry/color-picker.js +2 -2
- package/dist/components/data-entry/command.d.ts +11 -11
- package/dist/components/data-entry/command.js +2 -2
- package/dist/components/data-entry/date-picker.d.ts +6 -6
- package/dist/components/data-entry/date-picker.js +5 -5
- package/dist/components/data-entry/date-range-picker.d.ts +6 -6
- package/dist/components/data-entry/date-range-picker.js +5 -5
- package/dist/components/data-entry/index.d.ts +11 -21
- package/dist/components/data-entry/index.js +25 -83
- package/dist/components/data-entry/radio.d.ts +5 -5
- package/dist/components/data-entry/radio.js +2 -2
- package/dist/components/data-entry/select.d.ts +5 -5
- package/dist/components/data-entry/select.js +6 -6
- package/dist/components/data-entry/slider.d.ts +5 -5
- package/dist/components/data-entry/switch.d.ts +5 -5
- package/dist/components/data-entry/textarea.js +2 -2
- package/dist/components/data-entry/time-picker.d.ts +6 -6
- package/dist/components/data-entry/time-picker.js +3 -3
- package/dist/components/data-entry/transfer.d.ts +7 -7
- package/dist/components/data-entry/transfer.js +4 -4
- package/dist/components/data-entry/tree-select.d.ts +6 -6
- package/dist/components/data-entry/tree-select.js +7 -7
- package/dist/components/data-entry/upload.d.ts +7 -7
- package/dist/components/data-entry/upload.js +5 -5
- package/dist/components/feedback/alert.d.ts +7 -5
- package/dist/components/feedback/alert.js +3 -3
- package/dist/components/feedback/dialog.d.ts +9 -6
- package/dist/components/feedback/dialog.js +2 -2
- package/dist/components/feedback/index.d.ts +6 -6
- package/dist/components/feedback/index.js +7 -6
- package/dist/components/general/button.d.ts +4 -4
- package/dist/components/general/button.js +1 -1
- package/dist/components/general/index.d.ts +3 -3
- package/dist/components/general/index.js +1 -1
- package/dist/components/layout/index.d.ts +10 -9
- package/dist/components/layout/index.js +3 -3
- package/dist/components/navigation/index.d.ts +13 -13
- package/dist/components/navigation/index.js +10 -10
- package/dist/components/navigation/pagination.d.ts +5 -5
- package/dist/components/navigation/pagination.js +7 -7
- package/dist/components/navigation/steps.d.ts +6 -6
- package/dist/components/navigation/steps.js +2 -2
- package/dist/components/query/index.d.ts +12 -7
- package/dist/components/query/index.js +4 -4
- package/dist/components/ui/index.d.ts +12 -12
- package/dist/components/ui/index.js +30 -30
- package/dist/{data-display.prop-CXP9Jfdn.d.ts → data-display.prop-Cf2p9QC4.d.ts} +6 -5
- package/dist/{data-entry.prop-CpSx5dX6.d.ts → data-entry.prop-CDkOajPj.d.ts} +38 -28
- package/dist/{data-table-C5lcmAwE.d.ts → data-table-B_q7j992.d.ts} +4 -4
- package/dist/{data.prop-BmLaGLb7.d.ts → data.prop-DMYMNl6L.d.ts} +2 -2
- package/dist/{feedback.prop-BnBpUzNK.d.ts → feedback.prop-BR5JOpPl.d.ts} +8 -5
- package/dist/filter-bar-DvVXm_d1.d.ts +14 -0
- package/dist/form/index.d.ts +3 -3
- package/dist/{form.prop-BHgpuFFm.d.ts → form.prop-Bc6r6JJW.d.ts} +1 -1
- package/dist/{general.prop-D7brMPNL.d.ts → general.prop-DoHDCRmL.d.ts} +2 -2
- package/dist/index.d.ts +22 -22
- package/dist/index.js +43 -30
- package/dist/inline-DqfYlGKj.d.ts +18 -0
- package/dist/{interaction.prop-Cdn7wOtq.d.ts → interaction.prop-DSFizzP6.d.ts} +8 -6
- package/dist/{layout.prop-MwHm4-Zl.d.ts → layout.prop-Baq9muDN.d.ts} +27 -13
- package/dist/layout.prop-CXvl2rVR.d.ts +16 -0
- package/dist/{navigation.prop-DAH4ysXj.d.ts → navigation.prop-8DgElO0c.d.ts} +12 -8
- package/dist/{navigation.prop-Hu7s7MJa.d.ts → navigation.prop-BKlxd-j7.d.ts} +2 -5
- package/dist/props/components/index.d.ts +14 -14
- package/dist/props/index.d.ts +14 -14
- package/dist/props/index.js +2 -2
- package/dist/props/registry.d.ts +251 -56
- package/dist/props/registry.js +1 -1
- package/dist/props/vocabulary/index.d.ts +5 -5
- package/dist/{query.prop-hIPrk2zI.d.ts → query.prop-DuODxsiU.d.ts} +12 -8
- package/dist/{search-input-rR2XDrjv.d.ts → search-input-cezAxpgb.d.ts} +7 -2
- package/dist/{shared.prop-BNRJc9K0.d.ts → shared.prop-BsNSXeqD.d.ts} +9 -3
- package/dist/{skeleton-CqFO4dRc.d.ts → skeleton-uWAjSacg.d.ts} +4 -2
- package/dist/styles/alert-layout.css +38 -18
- package/dist/styles/badge-layout.css +2 -2
- package/dist/styles/card-layout.css +5 -5
- package/dist/styles/density.css +10 -10
- package/dist/styles/dialog-layout.css +4 -4
- package/dist/styles/index.css +6 -9
- package/dist/styles/layout.css +95 -14
- package/dist/styles/table-layout.css +3 -3
- package/dist/theme/example.service.css +0 -5
- package/dist/tokens/base.css +7 -7
- package/dist/tokens/components/badge.css +7 -0
- package/dist/tokens/{primitives → components}/card.css +2 -3
- package/dist/tokens/{primitives → components}/control.css +10 -0
- package/dist/tokens/components/feedback.css +17 -0
- package/dist/tokens/{primitives → components}/table.css +2 -2
- package/dist/tokens/foundation.css +7 -22
- package/package.json +5 -3
- package/scripts/ui-audit.mjs +22 -0
- package/dist/chunk-S66TJXJU.js +0 -33
- package/dist/filter-bar-zSKz7YCR.d.ts +0 -10
- package/dist/inline-CV3A46np.d.ts +0 -10
- package/dist/layout.prop-4TCNvyQZ.d.ts +0 -20
- package/dist/tokens/primitives/badge.css +0 -13
- package/dist/tokens/primitives/feedback.css +0 -17
- /package/dist/{chunk-LDSLS6HE.js → chunk-2H65B4JA.js} +0 -0
- /package/dist/tokens/{primitives → components}/navigation.css +0 -0
- /package/dist/tokens/{primitives → semantic}/layout.css +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { UseQueryResult, UseInfiniteQueryResult, InfiniteData,
|
|
2
|
+
import { UseMutationResult, UseQueryResult, UseInfiniteQueryResult, InfiniteData, QueryKey } from '@tanstack/react-query';
|
|
3
3
|
import { LinkProps } from 'react-router-dom';
|
|
4
|
-
import { B as ButtonProp } from './general.prop-
|
|
5
|
-
import { H as HandlerProp, a as ClassNameProp } from './shared.prop-
|
|
4
|
+
import { B as ButtonProp } from './general.prop-DoHDCRmL.js';
|
|
5
|
+
import { H as HandlerProp, a as ClassNameProp } from './shared.prop-BsNSXeqD.js';
|
|
6
6
|
|
|
7
7
|
/** Query / async lifecycle helpers — @see docs/COMPONENTS.md#query */
|
|
8
8
|
|
|
@@ -20,8 +20,8 @@ type DataStateProp<T> = {
|
|
|
20
20
|
children: (data: NonNullable<T>) => React.ReactNode;
|
|
21
21
|
};
|
|
22
22
|
type MutationLike = Pick<UseMutationResult<unknown, unknown, unknown, unknown>, "isError" | "error" | "isPending">;
|
|
23
|
-
/** @see
|
|
24
|
-
type
|
|
23
|
+
/** @see Alert.QueryError — inline mutation error (form submit, simulator run). */
|
|
24
|
+
type AlertMutationFeedbackProp = {
|
|
25
25
|
mutation: MutationLike;
|
|
26
26
|
onRetry?: HandlerProp;
|
|
27
27
|
showRetry?: boolean;
|
|
@@ -29,12 +29,16 @@ type MutationFeedbackProp = {
|
|
|
29
29
|
pending?: React.ReactNode;
|
|
30
30
|
className?: ClassNameProp;
|
|
31
31
|
};
|
|
32
|
+
/** @see MutationFeedback — deprecated alias for AlertMutationFeedback. */
|
|
33
|
+
type MutationFeedbackProp = AlertMutationFeedbackProp;
|
|
32
34
|
type QueryRefetchLike = Pick<UseQueryResult<unknown>, "isFetching" | "refetch">;
|
|
33
|
-
/** @see
|
|
34
|
-
type
|
|
35
|
+
/** @see ButtonRefetch — Button recipe wired to `query.refetch()`. */
|
|
36
|
+
type ButtonRefetchProp = Omit<ButtonProp, "onClick" | "disabled"> & {
|
|
35
37
|
query: QueryRefetchLike;
|
|
36
38
|
label?: React.ReactNode;
|
|
37
39
|
};
|
|
40
|
+
/** @see QueryRefetchButton — deprecated alias for ButtonRefetch. */
|
|
41
|
+
type QueryRefetchButtonProp = ButtonRefetchProp;
|
|
38
42
|
type InfiniteQueryLike<TPage> = Pick<UseInfiniteQueryResult<InfiniteData<TPage>, unknown>, "isPending" | "isError" | "isFetching" | "isFetchingNextPage" | "error" | "data" | "hasNextPage" | "fetchNextPage" | "refetch">;
|
|
39
43
|
type InfiniteQueryHelpers = {
|
|
40
44
|
fetchNextPage: () => void;
|
|
@@ -68,4 +72,4 @@ type PrefetchLinkProp = LinkProps & {
|
|
|
68
72
|
staleTime?: number;
|
|
69
73
|
};
|
|
70
74
|
|
|
71
|
-
export type { DataStateProp as D, InfiniteQueryHelpers as I, MutationFeedbackProp as M, PrefetchLinkProp as P, QueryRefetchButtonProp as Q, InfiniteQueryStateProp as a };
|
|
75
|
+
export type { AlertMutationFeedbackProp as A, ButtonRefetchProp as B, DataStateProp as D, InfiniteQueryHelpers as I, MutationFeedbackProp as M, PrefetchLinkProp as P, QueryRefetchButtonProp as Q, InfiniteQueryStateProp as a };
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { l as FormFieldProp, F as FieldProp } from './data-entry.prop-CDkOajPj.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
5
|
declare function FormField({ id, label, required, helper, error, labelAddon, className, children, }: FormFieldProp): react_jsx_runtime.JSX.Element;
|
|
6
6
|
|
|
7
|
+
/** Label + optional description beside a checkbox/radio/switch control. */
|
|
8
|
+
declare function Field({ id, label, description, className, children }: FieldProp): react_jsx_runtime.JSX.Element;
|
|
9
|
+
/** @deprecated Use Field. */
|
|
10
|
+
declare const ChoiceField: typeof Field;
|
|
11
|
+
|
|
7
12
|
interface SearchInputProps {
|
|
8
13
|
value?: string;
|
|
9
14
|
defaultValue?: string;
|
|
@@ -19,4 +24,4 @@ interface SearchInputProps {
|
|
|
19
24
|
}
|
|
20
25
|
declare function SearchInput({ value: controlledValue, defaultValue, placeholder, debounce, onSearch, label, ariaLabel, className, inputClassName, id, disabled, }: SearchInputProps): react_jsx_runtime.JSX.Element;
|
|
21
26
|
|
|
22
|
-
export {
|
|
27
|
+
export { ChoiceField as C, Field as F, SearchInput as S, FormField as a };
|
|
@@ -13,6 +13,8 @@ type ChildrenProp = React.ReactNode;
|
|
|
13
13
|
type IdProp = string;
|
|
14
14
|
/** Controlled open state for panels (Dialog, Sheet, Popover). */
|
|
15
15
|
type OpenProp = boolean;
|
|
16
|
+
/** Uncontrolled initial open state for panels (Dialog, Sheet, Popover). */
|
|
17
|
+
type DefaultOpenProp = boolean;
|
|
16
18
|
/** Callback when open state changes. */
|
|
17
19
|
type OnOpenChangeProp = (open: boolean) => void;
|
|
18
20
|
/** Async or sync handler — no return value expected. */
|
|
@@ -33,8 +35,12 @@ type ErrorProp = React.ReactNode;
|
|
|
33
35
|
type PlaceholderProp = string;
|
|
34
36
|
/** HTML input `name` attribute. */
|
|
35
37
|
type NameProp = string;
|
|
36
|
-
/**
|
|
37
|
-
type ValueProp = string;
|
|
38
|
+
/** Abstract controlled value. */
|
|
39
|
+
type ValueProp<T = string> = T;
|
|
40
|
+
/** Abstract uncontrolled initial value. */
|
|
41
|
+
type DefaultValueProp<T = string> = T;
|
|
42
|
+
/** Callback when an abstract value changes. */
|
|
43
|
+
type OnValueChangeProp<T = string> = (value: T) => void;
|
|
38
44
|
/** Change handler for text inputs. */
|
|
39
45
|
type OnChangeProp = React.ChangeEventHandler<HTMLInputElement>;
|
|
40
46
|
/** Click handler for buttons and interactive elements. */
|
|
@@ -42,4 +48,4 @@ type OnClickProp = React.MouseEventHandler<HTMLButtonElement>;
|
|
|
42
48
|
/** Radix/shadcn `asChild` polymorphism — render as child element. */
|
|
43
49
|
type AsChildProp = boolean;
|
|
44
50
|
|
|
45
|
-
export type { AsChildProp as A, ChildrenProp as C,
|
|
51
|
+
export type { AsChildProp as A, ChildrenProp as C, DefaultOpenProp as D, ErrorProp as E, HandlerProp as H, IdProp as I, LabelProp as L, NameProp as N, OnChangeProp as O, PendingProp as P, RequiredProp as R, ValueProp as V, ClassNameProp as a, DefaultValueProp as b, DisabledProp as c, HelperProp as d, OnClickProp as e, OnOpenChangeProp as f, OnValueChangeProp as g, OpenProp as h, PlaceholderProp as i };
|
|
@@ -15,6 +15,8 @@ declare function SkeletonTable({ rows, columns }: SkeletonRowsProps): react_jsx_
|
|
|
15
15
|
/** Skeleton matching a Card detail layout — title + 6 metadata rows. */
|
|
16
16
|
declare function SkeletonDetail(): react_jsx_runtime.JSX.Element;
|
|
17
17
|
/** Skeleton matching a stat card / dashboard tile. */
|
|
18
|
-
declare function
|
|
18
|
+
declare function SkeletonStat(): react_jsx_runtime.JSX.Element;
|
|
19
|
+
/** @deprecated Use SkeletonStat. */
|
|
20
|
+
declare const SkeletonCard: typeof SkeletonStat;
|
|
19
21
|
|
|
20
|
-
export { Skeleton as S, SkeletonCard as a, SkeletonDetail as b, type SkeletonProps as c, SkeletonRows as d,
|
|
22
|
+
export { Skeleton as S, SkeletonCard as a, SkeletonDetail as b, type SkeletonProps as c, SkeletonRows as d, SkeletonStat as e, SkeletonTable as f };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* ALERT — inset, gaps, dismiss offset; colors via data-
|
|
2
|
+
* ALERT — inset, gaps, dismiss offset; colors via data-tone + semantic tokens.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
@layer components {
|
|
@@ -7,40 +7,48 @@
|
|
|
7
7
|
position: relative;
|
|
8
8
|
display: flex;
|
|
9
9
|
align-items: flex-start;
|
|
10
|
-
gap: var(--space-
|
|
10
|
+
gap: var(--alert-space-gap);
|
|
11
11
|
width: 100%;
|
|
12
12
|
border-radius: var(--radius-md);
|
|
13
13
|
border-width: 1px;
|
|
14
|
-
padding: var(--space-
|
|
14
|
+
padding: var(--alert-space-inset);
|
|
15
15
|
font-size: var(--font-size-sm);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
[data-slot="alert"][data-
|
|
18
|
+
[data-slot="alert"][data-tone="default"],
|
|
19
|
+
[data-slot="alert"][data-tone="muted"],
|
|
20
|
+
[data-slot="alert"][data-tone="neutral"] {
|
|
19
21
|
border-color: hsl(var(--border));
|
|
20
22
|
background-color: hsl(var(--muted) / 0.4);
|
|
21
23
|
color: hsl(var(--foreground));
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
[data-slot="alert"][data-
|
|
26
|
+
[data-slot="alert"][data-tone="destructive"] {
|
|
25
27
|
border-color: hsl(var(--destructive) / 0.3);
|
|
26
28
|
background-color: hsl(var(--destructive) / 0.05);
|
|
27
29
|
color: hsl(var(--foreground));
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
[data-slot="alert"][data-
|
|
32
|
+
[data-slot="alert"][data-tone="warning"] {
|
|
31
33
|
border-color: hsl(var(--warning) / 0.3);
|
|
32
34
|
background-color: hsl(var(--warning) / 0.05);
|
|
33
35
|
color: hsl(var(--foreground));
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
[data-slot="alert"][data-
|
|
38
|
+
[data-slot="alert"][data-tone="success"] {
|
|
37
39
|
border-color: hsl(var(--success) / 0.3);
|
|
38
40
|
background-color: hsl(var(--success) / 0.05);
|
|
39
41
|
color: hsl(var(--foreground));
|
|
40
42
|
}
|
|
41
43
|
|
|
44
|
+
[data-slot="alert"][data-tone="info"] {
|
|
45
|
+
border-color: hsl(var(--info) / 0.3);
|
|
46
|
+
background-color: hsl(var(--info) / 0.05);
|
|
47
|
+
color: hsl(var(--foreground));
|
|
48
|
+
}
|
|
49
|
+
|
|
42
50
|
[data-slot="alert"][data-dismissible] {
|
|
43
|
-
padding-right: calc(var(--space-
|
|
51
|
+
padding-right: calc(var(--alert-space-inset) + var(--space-8));
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
[data-slot="alert-icon"] {
|
|
@@ -50,28 +58,34 @@
|
|
|
50
58
|
margin-top: 0.125rem;
|
|
51
59
|
}
|
|
52
60
|
|
|
53
|
-
[data-slot="alert-icon"][data-
|
|
61
|
+
[data-slot="alert-icon"][data-tone="default"],
|
|
62
|
+
[data-slot="alert-icon"][data-tone="muted"],
|
|
63
|
+
[data-slot="alert-icon"][data-tone="neutral"] {
|
|
54
64
|
color: hsl(var(--foreground));
|
|
55
65
|
}
|
|
56
66
|
|
|
57
|
-
[data-slot="alert-icon"][data-
|
|
67
|
+
[data-slot="alert-icon"][data-tone="destructive"] {
|
|
58
68
|
color: hsl(var(--destructive));
|
|
59
69
|
}
|
|
60
70
|
|
|
61
|
-
[data-slot="alert-icon"][data-
|
|
71
|
+
[data-slot="alert-icon"][data-tone="warning"] {
|
|
62
72
|
color: hsl(var(--warning));
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
[data-slot="alert-icon"][data-
|
|
75
|
+
[data-slot="alert-icon"][data-tone="success"] {
|
|
66
76
|
color: hsl(var(--success));
|
|
67
77
|
}
|
|
68
78
|
|
|
79
|
+
[data-slot="alert-icon"][data-tone="info"] {
|
|
80
|
+
color: hsl(var(--info));
|
|
81
|
+
}
|
|
82
|
+
|
|
69
83
|
[data-slot="alert-body"] {
|
|
70
84
|
display: flex;
|
|
71
85
|
flex: 1;
|
|
72
86
|
min-width: 0;
|
|
73
87
|
flex-direction: column;
|
|
74
|
-
gap: var(--
|
|
88
|
+
gap: var(--alert-inner-space-gap);
|
|
75
89
|
}
|
|
76
90
|
|
|
77
91
|
@media (min-width: 640px) {
|
|
@@ -88,18 +102,22 @@
|
|
|
88
102
|
line-height: 1;
|
|
89
103
|
}
|
|
90
104
|
|
|
91
|
-
[data-slot="alert-title"][data-
|
|
105
|
+
[data-slot="alert-title"][data-tone="destructive"] {
|
|
92
106
|
color: hsl(var(--destructive));
|
|
93
107
|
}
|
|
94
108
|
|
|
95
|
-
[data-slot="alert-title"][data-
|
|
109
|
+
[data-slot="alert-title"][data-tone="warning"] {
|
|
96
110
|
color: hsl(var(--warning));
|
|
97
111
|
}
|
|
98
112
|
|
|
99
|
-
[data-slot="alert-title"][data-
|
|
113
|
+
[data-slot="alert-title"][data-tone="success"] {
|
|
100
114
|
color: hsl(var(--success));
|
|
101
115
|
}
|
|
102
116
|
|
|
117
|
+
[data-slot="alert-title"][data-tone="info"] {
|
|
118
|
+
color: hsl(var(--info));
|
|
119
|
+
}
|
|
120
|
+
|
|
103
121
|
[data-slot="alert-description"] {
|
|
104
122
|
margin-top: var(--space-1);
|
|
105
123
|
font-size: var(--font-size-sm);
|
|
@@ -124,8 +142,8 @@
|
|
|
124
142
|
|
|
125
143
|
[data-slot="alert-dismiss"] {
|
|
126
144
|
position: absolute;
|
|
127
|
-
top: var(--
|
|
128
|
-
right: var(--
|
|
145
|
+
top: var(--alert-dismiss-space-offset);
|
|
146
|
+
right: var(--alert-dismiss-space-offset);
|
|
129
147
|
border-radius: var(--radius-sm);
|
|
130
148
|
opacity: 0.7;
|
|
131
149
|
}
|
|
@@ -138,6 +156,7 @@
|
|
|
138
156
|
|
|
139
157
|
.ui-skeleton-rows,
|
|
140
158
|
.ui-skeleton-detail-stack,
|
|
159
|
+
.ui-skeleton-stat,
|
|
141
160
|
.ui-skeleton-card {
|
|
142
161
|
display: grid;
|
|
143
162
|
gap: var(--skeleton-row-gap);
|
|
@@ -177,6 +196,7 @@
|
|
|
177
196
|
}
|
|
178
197
|
|
|
179
198
|
.ui-skeleton-detail-box,
|
|
199
|
+
.ui-skeleton-stat,
|
|
180
200
|
.ui-skeleton-card {
|
|
181
201
|
border: 1px solid hsl(var(--border));
|
|
182
202
|
border-radius: var(--skeleton-radius);
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
[data-slot="badge"] {
|
|
7
7
|
display: inline-flex;
|
|
8
8
|
align-items: center;
|
|
9
|
-
gap: var(--space-
|
|
10
|
-
padding: var(--space-
|
|
9
|
+
gap: var(--badge-space-gap);
|
|
10
|
+
padding: var(--badge-space-y) var(--badge-space-x);
|
|
11
11
|
border-radius: var(--radius-md);
|
|
12
12
|
border-width: 1px;
|
|
13
13
|
font-size: var(--font-size-xs);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* -----------------------------------------------------------------
|
|
4
4
|
* Card* components emit data-slot + data-* flags ONLY. All inset/gap padding lives here.
|
|
5
5
|
*
|
|
6
|
-
* Uses card
|
|
6
|
+
* Uses card component tokens from src/tokens/components/card.css.
|
|
7
7
|
* Card tokens derive from foundation/layout primitives and are coordinated by tokens/base.css.
|
|
8
8
|
*
|
|
9
9
|
* Slot ownership — one token per vertical gap:
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
|
|
18
18
|
[data-slot="card"] {
|
|
19
19
|
min-width: 0;
|
|
20
|
-
border-color: hsl(var(--card-border
|
|
20
|
+
border-color: hsl(var(--card-border));
|
|
21
21
|
border-radius: var(--card-radius);
|
|
22
22
|
background: hsl(var(--card-background));
|
|
23
|
-
color: hsl(var(--card-foreground
|
|
23
|
+
color: hsl(var(--card-foreground));
|
|
24
24
|
overflow: hidden;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
.ui-card-header--banded {
|
|
101
|
-
border-bottom: 1px solid hsl(var(--card-border
|
|
101
|
+
border-bottom: 1px solid hsl(var(--card-border));
|
|
102
102
|
background-color: hsl(var(--card-header-background) / var(--card-header-background-alpha));
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
[data-slot="card-footer"][data-separated] {
|
|
273
|
-
border-top: 1px solid hsl(var(--card-border
|
|
273
|
+
border-top: 1px solid hsl(var(--card-border));
|
|
274
274
|
padding-block: var(--card-space-footer-y);
|
|
275
275
|
justify-content: flex-end;
|
|
276
276
|
}
|
package/dist/styles/density.css
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
--control-padding-x: var(--control-padding-x-compact);
|
|
10
10
|
--table-row-height: var(--table-row-height-compact);
|
|
11
11
|
--phi-unit: var(--space-3);
|
|
12
|
-
--checkbox-size:
|
|
13
|
-
--switch-width:
|
|
14
|
-
--switch-height:
|
|
15
|
-
--switch-thumb-size:
|
|
16
|
-
--switch-thumb-translate:
|
|
12
|
+
--checkbox-size: var(--checkbox-size-compact);
|
|
13
|
+
--switch-width: var(--switch-width-compact);
|
|
14
|
+
--switch-height: var(--switch-height-compact);
|
|
15
|
+
--switch-thumb-size: var(--switch-thumb-size-compact);
|
|
16
|
+
--switch-thumb-translate: var(--switch-thumb-translate-compact);
|
|
17
17
|
--table-cell-padding-y: var(--space-1);
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
--control-padding-x: var(--control-padding-x-comfortable);
|
|
34
34
|
--table-row-height: var(--table-row-height-comfortable);
|
|
35
35
|
--phi-unit: var(--space-6);
|
|
36
|
-
--checkbox-size:
|
|
37
|
-
--switch-width:
|
|
38
|
-
--switch-height:
|
|
39
|
-
--switch-thumb-size:
|
|
40
|
-
--switch-thumb-translate:
|
|
36
|
+
--checkbox-size: var(--checkbox-size-comfortable);
|
|
37
|
+
--switch-width: var(--switch-width-comfortable);
|
|
38
|
+
--switch-height: var(--switch-height-comfortable);
|
|
39
|
+
--switch-thumb-size: var(--switch-thumb-size-comfortable);
|
|
40
|
+
--switch-thumb-translate: var(--switch-thumb-translate-comfortable);
|
|
41
41
|
--table-cell-padding-y: var(--space-2);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
width: 100%;
|
|
20
20
|
max-width: 32rem;
|
|
21
21
|
transform: translate(-50%, -50%);
|
|
22
|
-
gap: var(--space-
|
|
22
|
+
gap: var(--dialog-space-gap);
|
|
23
23
|
border: 1px solid hsl(var(--border));
|
|
24
24
|
background-color: hsl(var(--background));
|
|
25
|
-
padding: var(--space-
|
|
25
|
+
padding: var(--dialog-space-inset);
|
|
26
26
|
box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
|
|
61
61
|
[data-slot="dialog-close"] {
|
|
62
62
|
position: absolute;
|
|
63
|
-
inset-inline-end: var(--
|
|
64
|
-
top: var(--
|
|
63
|
+
inset-inline-end: var(--dialog-close-space-offset);
|
|
64
|
+
top: var(--dialog-close-space-offset);
|
|
65
65
|
border-radius: var(--radius-sm);
|
|
66
66
|
opacity: 0.7;
|
|
67
67
|
}
|
package/dist/styles/index.css
CHANGED
|
@@ -47,15 +47,12 @@
|
|
|
47
47
|
--color-info-foreground: hsl(var(--info-foreground));
|
|
48
48
|
--color-attention: hsl(var(--attention));
|
|
49
49
|
--color-attention-foreground: hsl(var(--attention-foreground));
|
|
50
|
-
--color-chart-1:
|
|
51
|
-
--color-chart-2:
|
|
52
|
-
--color-chart-3:
|
|
53
|
-
--color-chart-4:
|
|
54
|
-
--color-chart-5:
|
|
55
|
-
--color-chart-6:
|
|
56
|
-
--color-tracking-internal: hsl(var(--tracking-internal));
|
|
57
|
-
--color-tracking-seller: hsl(var(--tracking-seller));
|
|
58
|
-
--color-tracking-yamato: hsl(var(--tracking-yamato));
|
|
50
|
+
--color-chart-1: var(--chart-1);
|
|
51
|
+
--color-chart-2: var(--chart-2);
|
|
52
|
+
--color-chart-3: var(--chart-3);
|
|
53
|
+
--color-chart-4: var(--chart-4);
|
|
54
|
+
--color-chart-5: var(--chart-5);
|
|
55
|
+
--color-chart-6: var(--chart-6);
|
|
59
56
|
--radius-lg: var(--radius);
|
|
60
57
|
--radius-md: calc(var(--radius) - 2px);
|
|
61
58
|
--radius-sm: calc(var(--radius) - 4px);
|
package/dist/styles/layout.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* LAYOUT —
|
|
3
|
-
* Apps: <
|
|
2
|
+
* LAYOUT — Flex / Page shell / EmptyState.
|
|
3
|
+
* Apps: <Flex gap> · <PageContainer> — never ui-flex-* or Tailwind gap-*.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@layer components {
|
|
@@ -23,26 +23,102 @@
|
|
|
23
23
|
overflow: hidden;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
.ui-flex,
|
|
26
27
|
.ui-stack-xs {
|
|
27
28
|
display: flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ui-flex[data-direction="row"] {
|
|
32
|
+
flex-direction: row;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ui-flex[data-direction="col"] {
|
|
28
36
|
flex-direction: column;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ui-flex[data-wrap="true"] {
|
|
40
|
+
flex-wrap: wrap;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ui-flex[data-align="start"] {
|
|
44
|
+
align-items: flex-start;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ui-flex[data-align="center"] {
|
|
48
|
+
align-items: center;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.ui-flex[data-align="end"] {
|
|
52
|
+
align-items: flex-end;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ui-flex[data-align="stretch"] {
|
|
56
|
+
align-items: stretch;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ui-flex[data-align="baseline"] {
|
|
60
|
+
align-items: baseline;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ui-flex[data-justify="start"] {
|
|
64
|
+
justify-content: flex-start;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ui-flex[data-justify="center"] {
|
|
68
|
+
justify-content: center;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.ui-flex[data-justify="end"] {
|
|
72
|
+
justify-content: flex-end;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.ui-flex[data-justify="between"] {
|
|
76
|
+
justify-content: space-between;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.ui-flex[data-justify="around"] {
|
|
80
|
+
justify-content: space-around;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.ui-flex[data-justify="evenly"] {
|
|
84
|
+
justify-content: space-evenly;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.ui-flex-gap-xs,
|
|
88
|
+
.ui-stack-xs {
|
|
29
89
|
gap: var(--space-stack-xs);
|
|
30
90
|
}
|
|
91
|
+
.ui-flex-gap-sm {
|
|
92
|
+
gap: var(--space-stack-sm);
|
|
93
|
+
}
|
|
94
|
+
|
|
31
95
|
.ui-stack-sm {
|
|
32
96
|
display: flex;
|
|
33
97
|
flex-direction: column;
|
|
34
98
|
gap: var(--space-stack-sm);
|
|
35
99
|
}
|
|
100
|
+
.ui-flex-gap-md {
|
|
101
|
+
gap: var(--space-stack-md);
|
|
102
|
+
}
|
|
103
|
+
|
|
36
104
|
.ui-stack-md {
|
|
37
105
|
display: flex;
|
|
38
106
|
flex-direction: column;
|
|
39
107
|
gap: var(--space-stack-md);
|
|
40
108
|
}
|
|
109
|
+
.ui-flex-gap-lg {
|
|
110
|
+
gap: var(--space-stack-lg);
|
|
111
|
+
}
|
|
112
|
+
|
|
41
113
|
.ui-stack-lg {
|
|
42
114
|
display: flex;
|
|
43
115
|
flex-direction: column;
|
|
44
116
|
gap: var(--space-stack-lg);
|
|
45
117
|
}
|
|
118
|
+
.ui-flex-gap-xl {
|
|
119
|
+
gap: var(--space-stack-xl);
|
|
120
|
+
}
|
|
121
|
+
|
|
46
122
|
.ui-stack-xl {
|
|
47
123
|
display: flex;
|
|
48
124
|
flex-direction: column;
|
|
@@ -85,23 +161,20 @@
|
|
|
85
161
|
}
|
|
86
162
|
|
|
87
163
|
@container (min-width: 640px) {
|
|
88
|
-
.ui-responsive-grid
|
|
89
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
164
|
+
.ui-responsive-grid {
|
|
165
|
+
grid-template-columns: repeat(var(--responsive-grid-sm, 2), minmax(0, 1fr));
|
|
90
166
|
}
|
|
167
|
+
}
|
|
91
168
|
|
|
92
|
-
|
|
93
|
-
.ui-responsive-grid
|
|
94
|
-
grid-template-columns: repeat(
|
|
169
|
+
@container (min-width: 768px) {
|
|
170
|
+
.ui-responsive-grid {
|
|
171
|
+
grid-template-columns: repeat(var(--responsive-grid-md, 3), minmax(0, 1fr));
|
|
95
172
|
}
|
|
96
173
|
}
|
|
97
174
|
|
|
98
175
|
@container (min-width: 1024px) {
|
|
99
|
-
.ui-responsive-grid
|
|
100
|
-
grid-template-columns: repeat(
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.ui-responsive-grid[data-columns="4"] {
|
|
104
|
-
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
176
|
+
.ui-responsive-grid {
|
|
177
|
+
grid-template-columns: repeat(var(--responsive-grid-lg, 4), minmax(0, 1fr));
|
|
105
178
|
}
|
|
106
179
|
}
|
|
107
180
|
|
|
@@ -149,6 +222,7 @@
|
|
|
149
222
|
padding-right: var(--space-page-active-x);
|
|
150
223
|
}
|
|
151
224
|
|
|
225
|
+
.ui-page-container-inset,
|
|
152
226
|
.ui-page-inset {
|
|
153
227
|
padding-left: var(--space-page-active-x);
|
|
154
228
|
padding-right: var(--space-page-active-x);
|
|
@@ -306,7 +380,7 @@
|
|
|
306
380
|
align-items: center;
|
|
307
381
|
gap: var(--space-stack-md);
|
|
308
382
|
text-align: center;
|
|
309
|
-
padding: var(--
|
|
383
|
+
padding: var(--empty-state-space-y) var(--empty-state-space-x);
|
|
310
384
|
}
|
|
311
385
|
|
|
312
386
|
.ui-empty-state-title {
|
|
@@ -378,6 +452,7 @@
|
|
|
378
452
|
font-variant-numeric: tabular-nums;
|
|
379
453
|
}
|
|
380
454
|
|
|
455
|
+
.ui-toolbar,
|
|
381
456
|
.ui-filter-bar {
|
|
382
457
|
display: flex;
|
|
383
458
|
flex-direction: column;
|
|
@@ -386,34 +461,40 @@
|
|
|
386
461
|
}
|
|
387
462
|
|
|
388
463
|
@media (min-width: 640px) {
|
|
464
|
+
.ui-toolbar,
|
|
389
465
|
.ui-filter-bar {
|
|
390
466
|
flex-flow: row wrap;
|
|
391
467
|
align-items: flex-end;
|
|
392
468
|
}
|
|
393
469
|
}
|
|
394
470
|
|
|
471
|
+
.ui-toolbar-clear,
|
|
395
472
|
.ui-filter-clear {
|
|
396
473
|
width: 100%;
|
|
397
474
|
}
|
|
398
475
|
|
|
399
476
|
@media (min-width: 640px) {
|
|
477
|
+
.ui-toolbar-clear,
|
|
400
478
|
.ui-filter-clear {
|
|
401
479
|
width: auto;
|
|
402
480
|
margin-left: auto;
|
|
403
481
|
}
|
|
404
482
|
}
|
|
405
483
|
|
|
484
|
+
.ui-toolbar-group,
|
|
406
485
|
.ui-filter-group {
|
|
407
486
|
min-width: 0;
|
|
408
487
|
width: 100%;
|
|
409
488
|
}
|
|
410
489
|
|
|
411
490
|
@media (min-width: 640px) {
|
|
491
|
+
.ui-toolbar-group,
|
|
412
492
|
.ui-filter-group {
|
|
413
493
|
width: auto;
|
|
414
494
|
}
|
|
415
495
|
}
|
|
416
496
|
|
|
497
|
+
.ui-toolbar-label,
|
|
417
498
|
.ui-filter-label {
|
|
418
499
|
color: hsl(var(--muted-foreground));
|
|
419
500
|
font-size: var(--filter-label-font-size);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@layer components {
|
|
6
6
|
[data-slot="table-head"] {
|
|
7
7
|
height: var(--table-row-height);
|
|
8
|
-
padding: var(--table-cell-padding-y) var(--
|
|
8
|
+
padding: var(--table-cell-padding-y) var(--table-cell-space-x);
|
|
9
9
|
text-align: left;
|
|
10
10
|
vertical-align: middle;
|
|
11
11
|
background: hsl(var(--secondary));
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
[data-slot="table-cell"] {
|
|
30
|
-
padding: var(--table-cell-padding-y) var(--
|
|
30
|
+
padding: var(--table-cell-padding-y) var(--table-cell-space-x);
|
|
31
31
|
vertical-align: middle;
|
|
32
32
|
/* Don't let a narrow column crush cell text — in CJK this collapses to one
|
|
33
33
|
* character per line. Keep each cell on one line; the scroll container
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
[data-slot="card-content"][data-flush] .ui-data-table-toolbar {
|
|
94
|
-
border-bottom: 1px solid hsl(var(--card-border
|
|
94
|
+
border-bottom: 1px solid hsl(var(--card-border));
|
|
95
95
|
padding: var(--card-space-header-y) var(--card-space-inset);
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -19,11 +19,6 @@
|
|
|
19
19
|
/* --info: 223 42% 50%; */
|
|
20
20
|
/* --attention: 24 99% 46%; */
|
|
21
21
|
|
|
22
|
-
/* Tracking-code identity (optional — do not reuse for status): */
|
|
23
|
-
/* --tracking-internal: 211 73% 15%; */
|
|
24
|
-
/* --tracking-seller: 44 5% 42%; */
|
|
25
|
-
/* --tracking-yamato: 24 99% 46%; */
|
|
26
|
-
|
|
27
22
|
/* Layout density (optional): */
|
|
28
23
|
/* --space-page-x: var(--space-8); */
|
|
29
24
|
|
package/dist/tokens/base.css
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "./foundation.css";
|
|
7
|
-
@import "./
|
|
8
|
-
@import "./
|
|
9
|
-
@import "./
|
|
10
|
-
@import "./
|
|
11
|
-
@import "./
|
|
12
|
-
@import "./
|
|
13
|
-
@import "./
|
|
7
|
+
@import "./semantic/layout.css";
|
|
8
|
+
@import "./components/control.css";
|
|
9
|
+
@import "./components/card.css";
|
|
10
|
+
@import "./components/table.css";
|
|
11
|
+
@import "./components/feedback.css";
|
|
12
|
+
@import "./components/badge.css";
|
|
13
|
+
@import "./components/navigation.css";
|