@godxjp/ui 13.0.0 → 13.2.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/{checkbox-CwfNgQ9d.d.ts → checkbox-DKaBna6z.d.ts} +1 -1
- package/dist/{chunk-55S5N667.js → chunk-33AJDSML.js} +1 -1
- package/dist/{chunk-VNQ2NW22.js → chunk-4ADB5EKN.js} +3 -3
- package/dist/{chunk-WIRQNCCP.js → chunk-5NIGHXT5.js} +2 -2
- package/dist/{chunk-AKFR72DQ.js → chunk-74OPJG3N.js} +48 -50
- package/dist/{chunk-MTJHEQ46.js → chunk-BABHI2W7.js} +49 -51
- package/dist/{chunk-M4PZNAMV.js → chunk-E6J7ZTDM.js} +17 -8
- package/dist/{chunk-KQ36FDEE.js → chunk-HBOL5LSC.js} +1 -1
- package/dist/{chunk-XUEDRPWF.js → chunk-IMERLXSC.js} +2 -2
- package/dist/{chunk-NVNDO3FI.js → chunk-JAEA2IBC.js} +2 -2
- package/dist/{chunk-572FHZ3M.js → chunk-LEVFHRHU.js} +2 -2
- package/dist/{chunk-RX2F2U6D.js → chunk-NXF64JCT.js} +27 -14
- package/dist/{chunk-IYLJQVKV.js → chunk-SSNPCHG6.js} +2 -2
- package/dist/{chunk-CRERCLIZ.js → chunk-TBJBVEIP.js} +21 -2
- package/dist/{chunk-YVZPAN2W.js → chunk-UVJE3FYT.js} +1 -1
- package/dist/{chunk-IZGLEPGW.js → chunk-XGXI52Z7.js} +21 -4
- package/dist/{chunk-IWAIIBSW.js → chunk-XY2QN4VR.js} +1 -1
- package/dist/{chunk-XTVUYEJD.js → chunk-Z37463ZK.js} +60 -2
- package/dist/{chunk-WNOX32KG.js → chunk-Z652BSX7.js} +3 -3
- package/dist/{chunk-5KK3KJ6L.js → chunk-ZKUB7DHO.js} +1 -1
- package/dist/components/admin/index.d.ts +9 -9
- package/dist/components/admin/index.js +27 -27
- package/dist/components/data-display/badge.d.ts +8 -5
- package/dist/components/data-display/badge.js +1 -1
- package/dist/components/data-display/index.d.ts +4 -4
- package/dist/components/data-display/index.js +6 -6
- package/dist/components/data-entry/calendar.d.ts +3 -3
- package/dist/components/data-entry/calendar.js +2 -2
- package/dist/components/data-entry/cascader.d.ts +3 -3
- package/dist/components/data-entry/cascader.js +2 -2
- package/dist/components/data-entry/checkbox.d.ts +4 -4
- package/dist/components/data-entry/color-picker.d.ts +3 -3
- package/dist/components/data-entry/date-picker.d.ts +3 -3
- package/dist/components/data-entry/date-picker.js +3 -3
- package/dist/components/data-entry/date-range-picker.d.ts +3 -3
- package/dist/components/data-entry/date-range-picker.js +3 -3
- package/dist/components/data-entry/index.d.ts +5 -5
- package/dist/components/data-entry/index.js +19 -19
- package/dist/components/data-entry/radio.d.ts +3 -3
- package/dist/components/data-entry/select.d.ts +3 -3
- package/dist/components/data-entry/select.js +2 -2
- package/dist/components/data-entry/slider.d.ts +3 -3
- package/dist/components/data-entry/slider.js +1 -1
- package/dist/components/data-entry/switch.d.ts +3 -3
- package/dist/components/data-entry/time-picker.d.ts +3 -3
- package/dist/components/data-entry/time-picker.js +2 -2
- package/dist/components/data-entry/transfer.d.ts +4 -4
- package/dist/components/data-entry/transfer.js +4 -4
- package/dist/components/data-entry/tree-select.d.ts +3 -3
- package/dist/components/data-entry/tree-select.js +3 -3
- package/dist/components/data-entry/upload.d.ts +4 -4
- package/dist/components/data-entry/upload.js +6 -6
- package/dist/components/data-grid/index.js +5 -5
- package/dist/components/feedback/alert.d.ts +3 -3
- package/dist/components/feedback/alert.js +2 -2
- package/dist/components/feedback/dialog.d.ts +2 -2
- package/dist/components/feedback/dialog.js +4 -4
- package/dist/components/feedback/index.d.ts +2 -2
- package/dist/components/feedback/index.js +7 -7
- package/dist/components/feedback/sheet.d.ts +1 -1
- package/dist/components/feedback/sheet.js +1 -1
- package/dist/components/general/button.d.ts +5 -3
- package/dist/components/general/button.js +1 -1
- package/dist/components/general/index.d.ts +34 -3
- package/dist/components/general/index.js +46 -2
- package/dist/components/layout/index.js +3 -3
- package/dist/components/navigation/index.d.ts +6 -6
- package/dist/components/navigation/index.js +7 -7
- package/dist/components/navigation/pagination.d.ts +3 -3
- package/dist/components/navigation/pagination.js +3 -3
- package/dist/components/navigation/steps.d.ts +4 -4
- package/dist/components/query/index.d.ts +3 -3
- package/dist/components/query/index.js +2 -2
- package/dist/components/ui/index.d.ts +7 -7
- package/dist/components/ui/index.js +24 -24
- package/dist/{data-display.prop-BOtnzI17.d.ts → data-display.prop-BCC2zOTq.d.ts} +2 -2
- package/dist/{data-entry.prop-BGxD81Lf.d.ts → data-entry.prop-BGlwRXlJ.d.ts} +4 -2
- package/dist/{data-table-DO-gU4wJ.d.ts → data-table-B6HC3EFK.d.ts} +3 -3
- package/dist/{data.prop-D4uDw_SW.d.ts → data.prop-H9nROsUg.d.ts} +1 -1
- package/dist/{feedback.prop-CtrL24E1.d.ts → feedback.prop-sEx89LTF.d.ts} +1 -1
- package/dist/{filter-bar-tEwfKthz.d.ts → filter-bar-DPMQmIpX.d.ts} +1 -1
- package/dist/general.prop-4ERae5Sj.d.ts +46 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.js +35 -35
- package/dist/interaction.prop-B44hePpl.d.ts +46 -0
- package/dist/{navigation.prop-Cc_Iu87S.d.ts → navigation.prop-DMbjEig7.d.ts} +1 -1
- package/dist/props/components/index.d.ts +8 -8
- package/dist/props/index.d.ts +8 -8
- package/dist/props/index.js +1 -1
- package/dist/props/registry.d.ts +47 -2
- package/dist/props/registry.js +1 -1
- package/dist/props/vocabulary/index.d.ts +2 -2
- package/dist/{query.prop-CyNxaCHe.d.ts → query.prop-cp6fEgOD.d.ts} +1 -1
- package/dist/{search-input-BPtjUAa1.d.ts → search-input-CxGW8_7q.d.ts} +1 -1
- package/dist/styles/badge-layout.css +4 -0
- package/dist/styles/dialog-layout.css +30 -11
- package/dist/styles/index.css +1 -0
- package/dist/styles/text-layout.css +119 -0
- package/package.json +1 -1
- package/dist/general.prop-1GgJkf4b.d.ts +0 -16
- package/dist/interaction.prop-R77MnAMZ.d.ts +0 -31
- package/dist/{chunk-DEUHS5A2.js → chunk-QATON677.js} +1 -1
- package/dist/{chunk-XZXE5KVV.js → chunk-ZFBIKJSJ.js} +1 -1
package/dist/props/registry.d.ts
CHANGED
|
@@ -204,6 +204,41 @@ declare const VOCABULARY_REGISTRY: {
|
|
|
204
204
|
readonly category: "interaction";
|
|
205
205
|
readonly description: "Button size preset; includes documented icon-only subset";
|
|
206
206
|
};
|
|
207
|
+
readonly BadgeVariantProp: {
|
|
208
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
209
|
+
readonly category: "interaction";
|
|
210
|
+
readonly description: "Badge visual variant (default | secondary | outline | dashed)";
|
|
211
|
+
};
|
|
212
|
+
readonly ShapeProp: {
|
|
213
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
214
|
+
readonly category: "interaction";
|
|
215
|
+
readonly description: "Corner shape default | pill | sharp — shared by Button + Badge (radius tokens)";
|
|
216
|
+
};
|
|
217
|
+
readonly TextSizeProp: {
|
|
218
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
219
|
+
readonly category: "interaction";
|
|
220
|
+
readonly description: "Text size — golden-ratio type-scale steps (2xs…xl), never an arbitrary px";
|
|
221
|
+
};
|
|
222
|
+
readonly TextToneProp: {
|
|
223
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
224
|
+
readonly category: "interaction";
|
|
225
|
+
readonly description: "Text colour intent — semantic foreground tokens";
|
|
226
|
+
};
|
|
227
|
+
readonly FontWeightProp: {
|
|
228
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
229
|
+
readonly category: "interaction";
|
|
230
|
+
readonly description: "Font weight regular | medium | semibold (system 2-weight, 400/500)";
|
|
231
|
+
};
|
|
232
|
+
readonly HeadingLevelProp: {
|
|
233
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
234
|
+
readonly category: "interaction";
|
|
235
|
+
readonly description: "Heading level 1-4 — sizes from --heading-h* and the semantic element";
|
|
236
|
+
};
|
|
237
|
+
readonly TextAlignProp: {
|
|
238
|
+
readonly file: "vocabulary/interaction.prop.ts";
|
|
239
|
+
readonly category: "interaction";
|
|
240
|
+
readonly description: "Inline text alignment start | center | end (logical, RTL-safe)";
|
|
241
|
+
};
|
|
207
242
|
readonly SizeProp: {
|
|
208
243
|
readonly file: "vocabulary/interaction.prop.ts";
|
|
209
244
|
readonly category: "interaction";
|
|
@@ -436,7 +471,17 @@ declare const COMPONENT_PROP_REGISTRY: {
|
|
|
436
471
|
readonly ButtonProp: {
|
|
437
472
|
readonly group: "general";
|
|
438
473
|
readonly file: "components/general.prop.ts";
|
|
439
|
-
readonly vocabulary: readonly ["ButtonVariantProp", "SizeProp", "AsChildProp", "DisabledProp", "OnClickProp"];
|
|
474
|
+
readonly vocabulary: readonly ["ButtonVariantProp", "SizeProp", "ShapeProp", "AsChildProp", "DisabledProp", "OnClickProp"];
|
|
475
|
+
};
|
|
476
|
+
readonly TextProp: {
|
|
477
|
+
readonly group: "general";
|
|
478
|
+
readonly file: "components/general.prop.ts";
|
|
479
|
+
readonly vocabulary: readonly ["TextSizeProp", "TextToneProp", "FontWeightProp", "TextAlignProp", "ClassNameProp"];
|
|
480
|
+
};
|
|
481
|
+
readonly HeadingProp: {
|
|
482
|
+
readonly group: "general";
|
|
483
|
+
readonly file: "components/general.prop.ts";
|
|
484
|
+
readonly vocabulary: readonly ["HeadingLevelProp", "TextToneProp", "TextAlignProp", "ClassNameProp"];
|
|
440
485
|
};
|
|
441
486
|
readonly InputProp: {
|
|
442
487
|
readonly group: "data-entry";
|
|
@@ -623,7 +668,7 @@ declare const COMPONENT_PROP_REGISTRY: {
|
|
|
623
668
|
readonly BadgeProp: {
|
|
624
669
|
readonly group: "data-display";
|
|
625
670
|
readonly file: "components/data-display.prop.ts";
|
|
626
|
-
readonly vocabulary: readonly ["ToneProp", "ChildrenProp", "ClassNameProp"];
|
|
671
|
+
readonly vocabulary: readonly ["BadgeVariantProp", "ShapeProp", "ToneProp", "ChildrenProp", "ClassNameProp"];
|
|
627
672
|
};
|
|
628
673
|
readonly DataTableProp: {
|
|
629
674
|
readonly group: "data-display";
|
package/dist/props/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { COMPONENT_PROP_REGISTRY, PROP_ALIASES_FORBIDDEN, VOCABULARY_REGISTRY } from '../chunk-
|
|
1
|
+
export { COMPONENT_PROP_REGISTRY, PROP_ALIASES_FORBIDDEN, VOCABULARY_REGISTRY } from '../chunk-Z37463ZK.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { A as AsChildProp, C as ChildrenProp, a as ClassNameProp, D as DefaultOpenProp, b as DefaultValueProp, c as DisabledProp, E as ErrorProp, H as HandlerProp, d as HelperProp, I as IdProp, L as LabelProp, N as NameProp, O as OnChangeProp, e as OnClickProp, f as OnOpenChangeProp, g as OnValueChangeProp, h as OpenProp, P as PendingProp, i as PlaceholderProp, R as RequiredProp, V as ValueProp, W as WidthProp } from '../../shared.prop-BvMSLFJ6.js';
|
|
2
2
|
export { A as ActionProp, a as ActionsProp, C as CancelLabelProp, b as ConfirmLabelProp, D as DescriptionProp, E as EmptyMessageProp, c as ExtraProp, F as FooterProp, I as IconProp, S as SubtitleProp, T as TitleProp } from '../../content.prop-DrV_zDy-.js';
|
|
3
3
|
export { D as DensityProp, G as GapProp, P as PageContainerVariantProp, a as PageDensityProp, T as TableDensityProp } from '../../layout.prop-CXvl2rVR.js';
|
|
4
|
-
export { A as AlertVariantProp, B as
|
|
4
|
+
export { A as AlertVariantProp, B as BadgeVariantProp, a as BreakpointProp, b as ButtonSizeProp, c as ButtonVariantProp, C as ColumnAlignProp, d as ConfirmVariantProp, F as FontWeightProp, e as FormLayoutProp, H as HeadingLevelProp, S as ShapeProp, f as SizeProp, g as SortDirectionProp, h as SortStateProp, T as TextAlignProp, i as TextSizeProp, j as TextToneProp, k as ToneProp } from '../../interaction.prop-B44hePpl.js';
|
|
5
5
|
export { B as BreadcrumbItemProp, a as BreadcrumbProp } from '../../navigation.prop-CXDaVNaR.js';
|
|
6
|
-
export { C as ColumnDefProp, G as GetRowIdProp, H as HasActiveFiltersProp, O as OnClearFiltersProp, a as OnRowClickProp, b as OnSearchChangeProp, c as OnSelectChangeProp, d as OnSortChangeProp, e as OnTableDensityChangeProp, S as SelectedIdsProp } from '../../data.prop-
|
|
6
|
+
export { C as ColumnDefProp, G as GetRowIdProp, H as HasActiveFiltersProp, O as OnClearFiltersProp, a as OnRowClickProp, b as OnSearchChangeProp, c as OnSelectChangeProp, d as OnSortChangeProp, e as OnTableDensityChangeProp, S as SelectedIdsProp } from '../../data.prop-H9nROsUg.js';
|
|
7
7
|
import 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { UseQueryResult, UseInfiniteQueryResult, InfiniteData, QueryKey, UseMutationResult } from '@tanstack/react-query';
|
|
3
3
|
import { LinkProps } from 'react-router-dom';
|
|
4
|
-
import { B as ButtonProp } from './general.prop-
|
|
4
|
+
import { B as ButtonProp } from './general.prop-4ERae5Sj.js';
|
|
5
5
|
import { H as HandlerProp, a as ClassNameProp } from './shared.prop-BvMSLFJ6.js';
|
|
6
6
|
|
|
7
7
|
/** Query / async lifecycle helpers — @see docs/COMPONENTS.md#query */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { g as FormFieldProp, F as FieldProp } from './data-entry.prop-
|
|
2
|
+
import { g as FormFieldProp, F as FieldProp } from './data-entry.prop-BGlwRXlJ.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
5
|
declare function FormField({ id, label, required, helper, error, labelAddon, layout: layoutProp, labelWidth: labelWidthProp, controlWidth: controlWidthProp, colSpan, className, children, }: FormFieldProp): react_jsx_runtime.JSX.Element;
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
[data-slot="badge"] {
|
|
7
7
|
display: inline-flex;
|
|
8
8
|
align-items: center;
|
|
9
|
+
/* Center on the text x-height when the badge sits INLINE with running text (an inline-flex box
|
|
10
|
+
* defaults to baseline → it rides high / "valign top" next to a label). Ignored in flex/grid
|
|
11
|
+
* containers, so table cells and Flex rows are unaffected. */
|
|
12
|
+
vertical-align: middle;
|
|
9
13
|
gap: var(--badge-space-gap);
|
|
10
14
|
padding: var(--badge-space-y) var(--badge-space-x);
|
|
11
15
|
border-radius: var(--radius-md);
|
|
@@ -11,6 +11,16 @@
|
|
|
11
11
|
--sheet-pad-y: var(--space-chrome-y);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
/* Sheet header/footer dividers appear ONLY when a SheetBody is present (mirrors the dialog rule) —
|
|
15
|
+
* a body-less sheet never shows a doubled header-bottom + footer-top line. */
|
|
16
|
+
[data-slot="sheet-content"]:has([data-slot="sheet-body"]) [data-slot="sheet-header"] {
|
|
17
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-slot="sheet-content"]:has([data-slot="sheet-body"]) [data-slot="sheet-footer"] {
|
|
21
|
+
border-top: 1px solid hsl(var(--border));
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
.ui-dialog-overlay {
|
|
15
25
|
position: fixed;
|
|
16
26
|
inset: 0;
|
|
@@ -55,28 +65,20 @@
|
|
|
55
65
|
scroll-padding-block: var(--space-1);
|
|
56
66
|
}
|
|
57
67
|
|
|
58
|
-
/* Header
|
|
59
|
-
* the
|
|
68
|
+
/* Header & footer are PLAIN stacked sections by default — the dialog padding gives the inset and the
|
|
69
|
+
* content `gap` gives the header↔footer spacing. No border band here, so a simple confirm dialog
|
|
70
|
+
* (header + footer, NO body) never shows an internal divider or a doubled line + padding. */
|
|
60
71
|
[data-slot="dialog-header"] {
|
|
61
72
|
display: flex;
|
|
62
73
|
flex-direction: column;
|
|
63
74
|
gap: var(--space-stack-xs);
|
|
64
75
|
text-align: start;
|
|
65
|
-
margin-inline: calc(-1 * var(--dialog-space-x));
|
|
66
|
-
margin-block-start: calc(-1 * var(--dialog-space-y));
|
|
67
|
-
padding: var(--dialog-space-y) var(--dialog-space-x);
|
|
68
|
-
border-bottom: 1px solid hsl(var(--border));
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
/* Footer = full-bleed band with a top border + the same chrome padding (mirror of the header). */
|
|
72
78
|
[data-slot="dialog-footer"] {
|
|
73
79
|
display: flex;
|
|
74
80
|
flex-direction: column-reverse;
|
|
75
81
|
gap: var(--space-inline-sm);
|
|
76
|
-
margin-inline: calc(-1 * var(--dialog-space-x));
|
|
77
|
-
margin-block-end: calc(-1 * var(--dialog-space-y));
|
|
78
|
-
padding: var(--dialog-space-y) var(--dialog-space-x);
|
|
79
|
-
border-top: 1px solid hsl(var(--border));
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
@media (min-width: 640px) {
|
|
@@ -86,6 +88,23 @@
|
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
|
|
91
|
+
/* Scrollable-body layout (Ant Modal): ONLY when a body is present do header & footer become
|
|
92
|
+
* full-bleed pinned bands with a divider, so the body scrolls between two fixed bars. Without a
|
|
93
|
+
* body the dividers (and their band padding) collapse — fixes the double-border + oversized gap. */
|
|
94
|
+
[data-slot="dialog-content"]:has([data-slot="dialog-body"]) [data-slot="dialog-header"] {
|
|
95
|
+
margin-inline: calc(-1 * var(--dialog-space-x));
|
|
96
|
+
margin-block-start: calc(-1 * var(--dialog-space-y));
|
|
97
|
+
padding: var(--dialog-space-y) var(--dialog-space-x);
|
|
98
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
[data-slot="dialog-content"]:has([data-slot="dialog-body"]) [data-slot="dialog-footer"] {
|
|
102
|
+
margin-inline: calc(-1 * var(--dialog-space-x));
|
|
103
|
+
margin-block-end: calc(-1 * var(--dialog-space-y));
|
|
104
|
+
padding: var(--dialog-space-y) var(--dialog-space-x);
|
|
105
|
+
border-top: 1px solid hsl(var(--border));
|
|
106
|
+
}
|
|
107
|
+
|
|
89
108
|
[data-slot="dialog-close"] {
|
|
90
109
|
position: absolute;
|
|
91
110
|
inset-inline-end: var(--dialog-close-space-offset);
|
package/dist/styles/index.css
CHANGED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TEXT / HEADING — typographic primitives (@godxjp/ui).
|
|
3
|
+
* Token-driven ONLY: size = golden-ratio type scale, weight = the 2-weight system (400/500),
|
|
4
|
+
* tone = semantic foreground tokens. No arbitrary px, no font-semibold=600. Components emit
|
|
5
|
+
* data-slot + data-* flags; all styling lives here.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@layer components {
|
|
9
|
+
.ui-text {
|
|
10
|
+
margin: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Size — steps of the golden-ratio scale (sm = base). */
|
|
14
|
+
[data-slot="text"][data-size="2xs"] {
|
|
15
|
+
font-size: var(--font-size-2xs);
|
|
16
|
+
}
|
|
17
|
+
[data-slot="text"][data-size="xs"] {
|
|
18
|
+
font-size: var(--font-size-xs);
|
|
19
|
+
}
|
|
20
|
+
[data-slot="text"][data-size="sm"] {
|
|
21
|
+
font-size: var(--font-size-sm);
|
|
22
|
+
}
|
|
23
|
+
[data-slot="text"][data-size="md"] {
|
|
24
|
+
font-size: var(--font-size-base);
|
|
25
|
+
}
|
|
26
|
+
[data-slot="text"][data-size="lg"] {
|
|
27
|
+
font-size: var(--font-size-lg);
|
|
28
|
+
}
|
|
29
|
+
[data-slot="text"][data-size="xl"] {
|
|
30
|
+
font-size: var(--font-size-xl);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Weight — system 2-weight; semibold resolves to the 500 token (not 600). */
|
|
34
|
+
[data-slot="text"][data-weight="regular"] {
|
|
35
|
+
font-weight: var(--font-weight-normal);
|
|
36
|
+
}
|
|
37
|
+
[data-slot="text"][data-weight="medium"] {
|
|
38
|
+
font-weight: var(--font-weight-medium);
|
|
39
|
+
}
|
|
40
|
+
[data-slot="text"][data-weight="semibold"] {
|
|
41
|
+
font-weight: var(--font-weight-semibold);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Tone + Heading tone — semantic foreground tokens. */
|
|
45
|
+
[data-slot="text"][data-tone="default"],
|
|
46
|
+
[data-slot="heading"][data-tone="default"] {
|
|
47
|
+
color: hsl(var(--foreground));
|
|
48
|
+
}
|
|
49
|
+
[data-slot="text"][data-tone="muted"],
|
|
50
|
+
[data-slot="heading"][data-tone="muted"] {
|
|
51
|
+
color: hsl(var(--muted-foreground));
|
|
52
|
+
}
|
|
53
|
+
[data-slot="text"][data-tone="primary"],
|
|
54
|
+
[data-slot="heading"][data-tone="primary"] {
|
|
55
|
+
color: hsl(var(--primary));
|
|
56
|
+
}
|
|
57
|
+
[data-slot="text"][data-tone="success"],
|
|
58
|
+
[data-slot="heading"][data-tone="success"] {
|
|
59
|
+
color: hsl(var(--success));
|
|
60
|
+
}
|
|
61
|
+
[data-slot="text"][data-tone="warning"],
|
|
62
|
+
[data-slot="heading"][data-tone="warning"] {
|
|
63
|
+
color: hsl(var(--warning));
|
|
64
|
+
}
|
|
65
|
+
[data-slot="text"][data-tone="destructive"],
|
|
66
|
+
[data-slot="heading"][data-tone="destructive"] {
|
|
67
|
+
color: hsl(var(--destructive));
|
|
68
|
+
}
|
|
69
|
+
[data-slot="text"][data-tone="info"],
|
|
70
|
+
[data-slot="heading"][data-tone="info"] {
|
|
71
|
+
color: hsl(var(--info));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* Alignment (logical), truncate, tabular, mono — shared by text + heading. */
|
|
75
|
+
[data-slot="text"][data-align="start"],
|
|
76
|
+
[data-slot="heading"][data-align="start"] {
|
|
77
|
+
text-align: start;
|
|
78
|
+
}
|
|
79
|
+
[data-slot="text"][data-align="center"],
|
|
80
|
+
[data-slot="heading"][data-align="center"] {
|
|
81
|
+
text-align: center;
|
|
82
|
+
}
|
|
83
|
+
[data-slot="text"][data-align="end"],
|
|
84
|
+
[data-slot="heading"][data-align="end"] {
|
|
85
|
+
text-align: end;
|
|
86
|
+
}
|
|
87
|
+
[data-slot="text"][data-truncate],
|
|
88
|
+
[data-slot="heading"][data-truncate] {
|
|
89
|
+
overflow: hidden;
|
|
90
|
+
text-overflow: ellipsis;
|
|
91
|
+
white-space: nowrap;
|
|
92
|
+
}
|
|
93
|
+
[data-slot="text"][data-tabular] {
|
|
94
|
+
font-variant-numeric: tabular-nums;
|
|
95
|
+
}
|
|
96
|
+
[data-slot="text"][data-mono] {
|
|
97
|
+
font-family: var(--font-family-mono, ui-monospace, "SFMono-Regular", monospace);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Heading — sized from the --heading-h* tokens, medium weight, tight rhythm. */
|
|
101
|
+
[data-slot="heading"] {
|
|
102
|
+
margin: 0;
|
|
103
|
+
font-weight: var(--font-weight-medium);
|
|
104
|
+
letter-spacing: var(--letter-spacing-tight);
|
|
105
|
+
line-height: var(--line-height-tight);
|
|
106
|
+
}
|
|
107
|
+
[data-slot="heading"][data-level="1"] {
|
|
108
|
+
font-size: var(--heading-h1);
|
|
109
|
+
}
|
|
110
|
+
[data-slot="heading"][data-level="2"] {
|
|
111
|
+
font-size: var(--heading-h2);
|
|
112
|
+
}
|
|
113
|
+
[data-slot="heading"][data-level="3"] {
|
|
114
|
+
font-size: var(--heading-h3);
|
|
115
|
+
}
|
|
116
|
+
[data-slot="heading"][data-level="4"] {
|
|
117
|
+
font-size: var(--heading-h4);
|
|
118
|
+
}
|
|
119
|
+
}
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { A as AsChildProp, e as OnClickProp, c as DisabledProp } from './shared.prop-BvMSLFJ6.js';
|
|
3
|
-
import { b as ButtonVariantProp, a as ButtonSizeProp } from './interaction.prop-R77MnAMZ.js';
|
|
4
|
-
|
|
5
|
-
/** Foundation component prop types — @see docs/COMPONENTS.md#foundation */
|
|
6
|
-
|
|
7
|
-
/** @see Button */
|
|
8
|
-
type ButtonProp = React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
|
-
variant?: ButtonVariantProp;
|
|
10
|
-
size?: ButtonSizeProp;
|
|
11
|
-
asChild?: AsChildProp;
|
|
12
|
-
onClick?: OnClickProp;
|
|
13
|
-
disabled?: DisabledProp;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export type { ButtonProp as B };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interaction & visual variant prop types.
|
|
3
|
-
* @see docs/PROPS-VOCABULARY.md#interaction-variants
|
|
4
|
-
*/
|
|
5
|
-
/** Button visual style. */
|
|
6
|
-
type ButtonVariantProp = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
7
|
-
/** Button size preset. */
|
|
8
|
-
type SizeProp = "xs" | "sm" | "md" | "lg";
|
|
9
|
-
/** Button size preset; icon-only sizes are a documented Button subset. */
|
|
10
|
-
type ButtonSizeProp = SizeProp | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg";
|
|
11
|
-
/** Form layout — label position relative to its control (Ant-style). */
|
|
12
|
-
type FormLayoutProp = "vertical" | "horizontal" | "inline";
|
|
13
|
-
/** Responsive breakpoint name (mobile-first); used by `collapseBelow` etc. */
|
|
14
|
-
type BreakpointProp = "sm" | "md" | "lg" | "xl";
|
|
15
|
-
/** Dialog confirm button emphasis. */
|
|
16
|
-
type ConfirmVariantProp = "default" | "destructive";
|
|
17
|
-
/** Semantic color/status intent. */
|
|
18
|
-
type ToneProp = "default" | "success" | "warning" | "destructive" | "info" | "muted" | "neutral";
|
|
19
|
-
/** Inline Alert visual treatment. */
|
|
20
|
-
type AlertVariantProp = "default";
|
|
21
|
-
/** Sort direction for table columns. */
|
|
22
|
-
type SortDirectionProp = "asc" | "desc";
|
|
23
|
-
/** Table column text alignment. */
|
|
24
|
-
type ColumnAlignProp = "left" | "center" | "right";
|
|
25
|
-
/** Active sort state on DataTable. */
|
|
26
|
-
type SortStateProp = {
|
|
27
|
-
key: string;
|
|
28
|
-
direction: SortDirectionProp;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export type { AlertVariantProp as A, BreakpointProp as B, ColumnAlignProp as C, FormLayoutProp as F, SizeProp as S, ToneProp as T, ButtonSizeProp as a, ButtonVariantProp as b, ConfirmVariantProp as c, SortDirectionProp as d, SortStateProp as e };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-32WO3YLB.js';
|
|
2
1
|
import { DropdownMenu, DropdownMenuTrigger } from './chunk-LMKUKCTN.js';
|
|
2
|
+
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-32WO3YLB.js';
|
|
3
3
|
import { Collapsible, CollapsibleTrigger, CollapsibleContent } from './chunk-DV52WNXO.js';
|
|
4
4
|
import { densityClass, pageContainerVariantClass } from './chunk-INIIF7F7.js';
|
|
5
5
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Input } from './chunk-BNXPDUO4.js';
|
|
2
|
-
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
3
2
|
import { Label } from './chunk-7PWBC4BY.js';
|
|
3
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
4
4
|
import { useDebouncedValue } from './chunk-LFW37FGG.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|