@goliapkg/gds 0.9.4 → 0.9.5
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/avatar-By0U5Vts.js +74 -0
- package/dist/avatar-By0U5Vts.js.map +1 -0
- package/dist/badge-DTJq6AXr.js +59 -0
- package/dist/badge-DTJq6AXr.js.map +1 -0
- package/dist/button-avu-rQU4.js +99 -0
- package/dist/button-avu-rQU4.js.map +1 -0
- package/dist/dom-17XgfxMq.js +20 -0
- package/dist/dom-17XgfxMq.js.map +1 -0
- package/dist/gesture-BCGijGek.js +104 -0
- package/dist/gesture-BCGijGek.js.map +1 -0
- package/dist/gesture-system-v-bjvnCe.js +56 -0
- package/dist/gesture-system-v-bjvnCe.js.map +1 -0
- package/dist/glass-CQTlX7IO.js +1702 -0
- package/dist/glass-CQTlX7IO.js.map +1 -0
- package/dist/highlight-BAGZc-4h.js +28 -0
- package/dist/highlight-BAGZc-4h.js.map +1 -0
- package/dist/hooks-BE-_EmDI.js +87 -0
- package/dist/hooks-BE-_EmDI.js.map +1 -0
- package/dist/icon-button-YatlVZnz.js +44 -0
- package/dist/icon-button-YatlVZnz.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -18495
- package/dist/l0-tokens/deps.d.ts +5 -0
- package/dist/l0-tokens/deps.d.ts.map +1 -1
- package/dist/l0-tokens/index.js +4 -0
- package/dist/l0-tokens-DZkyVlac.js +296 -0
- package/dist/l0-tokens-DZkyVlac.js.map +1 -0
- package/dist/l1-systems/index.js +2 -0
- package/dist/l2-primitives/index.js +11 -0
- package/dist/l2-primitives/screen-overlay.d.ts.map +1 -1
- package/dist/l2-primitives/truncate.d.ts +2 -1
- package/dist/l2-primitives/truncate.d.ts.map +1 -1
- package/dist/l2-primitives-CqrezrJ4.js +482 -0
- package/dist/l2-primitives-CqrezrJ4.js.map +1 -0
- package/dist/l3-atoms/index.js +6 -0
- package/dist/l3-atoms/keyboard-shortcut.d.ts +1 -1
- package/dist/l3-atoms/keyboard-shortcut.d.ts.map +1 -1
- package/dist/l3-atoms/sparkle.d.ts +1 -1
- package/dist/l3-atoms/sparkle.d.ts.map +1 -1
- package/dist/l3-atoms-CsN9IA9J.js +1794 -0
- package/dist/l3-atoms-CsN9IA9J.js.map +1 -0
- package/dist/l4-molecules/dialog.d.ts.map +1 -1
- package/dist/l4-molecules/index.js +4 -0
- package/dist/l4-molecules-DCc074MJ.js +4048 -0
- package/dist/l4-molecules-DCc074MJ.js.map +1 -0
- package/dist/l5-organisms/command-palette.d.ts.map +1 -1
- package/dist/l5-organisms/confetti.d.ts.map +1 -1
- package/dist/l5-organisms/cookie-banner.d.ts.map +1 -1
- package/dist/l5-organisms/image-preview.d.ts.map +1 -1
- package/dist/l5-organisms/index.js +2 -0
- package/dist/l5-organisms/notification-toast.d.ts.map +1 -1
- package/dist/l5-organisms-8KB_8a-H.js +3798 -0
- package/dist/l5-organisms-8KB_8a-H.js.map +1 -0
- package/dist/l6-charts/candlestick-chart.d.ts.map +1 -1
- package/dist/l6-charts/index.js +2 -0
- package/dist/l6-charts-DYnr5B9X.js +1743 -0
- package/dist/l6-charts-DYnr5B9X.js.map +1 -0
- package/dist/l7-patterns/index.js +2 -0
- package/dist/l7-patterns-DZXveS4Y.js +1826 -0
- package/dist/l7-patterns-DZXveS4Y.js.map +1 -0
- package/dist/loading-dots-fB4X_Zh0.js +24 -0
- package/dist/loading-dots-fB4X_Zh0.js.map +1 -0
- package/dist/motion-DUPegem-.js +22 -0
- package/dist/motion-DUPegem-.js.map +1 -0
- package/dist/portal-Bbl6F_Wj.js +9 -0
- package/dist/portal-Bbl6F_Wj.js.map +1 -0
- package/dist/progress-wAKN3Czz.js +44 -0
- package/dist/progress-wAKN3Czz.js.map +1 -0
- package/dist/resize-handle-CktEYqwi.js +77 -0
- package/dist/resize-handle-CktEYqwi.js.map +1 -0
- package/dist/scales-C80FTPsL.js +1299 -0
- package/dist/scales-C80FTPsL.js.map +1 -0
- package/dist/separator-Dqs23A9D.js +65 -0
- package/dist/separator-Dqs23A9D.js.map +1 -0
- package/dist/skeleton-C9FFZSYN.js +43 -0
- package/dist/skeleton-C9FFZSYN.js.map +1 -0
- package/dist/spinner-D8Ti-TFe.js +101 -0
- package/dist/spinner-D8Ti-TFe.js.map +1 -0
- package/dist/stepper-DhpGORX8.js +140 -0
- package/dist/stepper-DhpGORX8.js.map +1 -0
- package/dist/switch-DC85Os9r.js +130 -0
- package/dist/switch-DC85Os9r.js.map +1 -0
- package/dist/textarea-BJCl_aH2.js +40 -0
- package/dist/textarea-BJCl_aH2.js.map +1 -0
- package/dist/toast-DN5xANLM.js +442 -0
- package/dist/toast-DN5xANLM.js.map +1 -0
- package/dist/use-theme-C0aWVw70.js +203 -0
- package/dist/use-theme-C0aWVw70.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -0
- package/dist/utils/portal.d.ts +3 -0
- package/dist/utils/portal.d.ts.map +1 -0
- package/package.json +37 -1
- package/dist/index.js.map +0 -1
package/dist/l0-tokens/deps.d.ts
CHANGED
|
@@ -92,6 +92,11 @@ export declare const GDS_INTERNAL_UTILS: readonly [{
|
|
|
92
92
|
readonly module: "utils/hooks";
|
|
93
93
|
readonly role: "trap tab focus in container";
|
|
94
94
|
readonly usedBy: "L5+";
|
|
95
|
+
}, {
|
|
96
|
+
readonly name: "renderPortal";
|
|
97
|
+
readonly module: "utils/portal";
|
|
98
|
+
readonly role: "portal rendering via react-dom createPortal";
|
|
99
|
+
readonly usedBy: "L2+";
|
|
95
100
|
}];
|
|
96
101
|
export declare const GDS_INFRA: {
|
|
97
102
|
readonly typecheck: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/l0-tokens/deps.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;IAChC,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,EA4E7B,CAAA;AAID,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/l0-tokens/deps.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;IAChC,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,EA4E7B,CAAA;AAID,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBrB,CAAA;AAGV,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBZ,CAAA;AAIV,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAS1D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../l0-tokens-DZkyVlac.js";
|
|
2
|
+
import { $ as d, A as f, B as p, C as m, D as h, E as g, F as _, G as v, H as y, I as b, J as x, K as S, L as C, M as w, N as T, O as E, P as D, Q as O, R as k, S as A, T as j, U as M, V as N, W as P, X as F, Y as I, Z as L, _ as R, a as z, b as B, c as V, d as H, et as U, f as W, g as G, h as K, i as q, j as J, k as Y, l as X, m as Z, n as Q, o as $, p as ee, q as te, r as ne, s as re, t as ie, tt as ae, u as oe, v as se, w as ce, x as le, y as ue, z as de } from "../scales-C80FTPsL.js";
|
|
3
|
+
import { a as fe, c as pe, i as me, n as he, o as ge, r as _e, s as ve, t as ye } from "../gesture-system-v-bjvnCe.js";
|
|
4
|
+
export { Q as DEFAULT_PRIMARY, w as FIXED_COLORS, t as GDS_DEPS, i as GDS_INFRA, u as GDS_INTERNAL_UTILS, n as LAYER_DEP_CONSTRAINTS, de as analogous, ne as applyDefaultCssVars, b as autoFixColor, C as bestTextColor, l as between, a as breakpointToCssVars, s as breakpoints, p as complement, j as componentHeight, g as contentWidth, N as contrastRatio, y as darken, h as densitySizeMap, T as deriveDarkPalette, D as deriveLightPalette, r as detectOverlap, e as deviceCategory, ye as drag, ee as duration, Z as easing, z as flexMono, $ as fontFeature, re as fontPreset, V as fontStack, X as fontToCssVars, oe as fontWeight, q as generateDefaultCssVars, he as gestureConfig, _e as gestureToCssVars, se as glassParams, ue as glassToCssVars, M as hexToHsl, P as hexToRgb, v as hslToHex, S as hslToRgb, te as hueShift, E as iconSize, me as inertia, K as keyframePresets, x as lerpColor, I as lighten, fe as longPress, F as luminance, o as maxWidth, c as minWidth, G as motionToCssVars, _ as paletteToVars, ge as pinchZoom, H as presetToStyle, ve as pullToRefresh, m as radiusScale, ce as radiusToCssVars, ie as resolveAxesToCssVars, L as rgbToHex, O as rgbToHsl, d as saturate, k as scoreColor, le as shadowToCssVars, A as shadowValue, Y as sizeToCssVars, f as spacing, R as springPresets, B as supportsBackdropFilter, pe as swipe, W as symbols, J as touchTarget, U as triadic, ae as withAlpha };
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
//#region src/l0-tokens/deps.ts
|
|
2
|
+
var e = [
|
|
3
|
+
{
|
|
4
|
+
name: "react",
|
|
5
|
+
version: ">=19.0.0",
|
|
6
|
+
role: "UI runtime — component rendering, hooks, reconciler",
|
|
7
|
+
layer: "L-dep",
|
|
8
|
+
type: "peer",
|
|
9
|
+
usedBy: [
|
|
10
|
+
"L1-systems",
|
|
11
|
+
"L2-primitives",
|
|
12
|
+
"L3+"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "react-dom",
|
|
17
|
+
version: ">=19.0.0",
|
|
18
|
+
role: "DOM binding for React — portal, createRoot",
|
|
19
|
+
layer: "L-dep",
|
|
20
|
+
type: "peer",
|
|
21
|
+
usedBy: ["L-dep utils (portal wrapper)"]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "tailwindcss",
|
|
25
|
+
version: "^4.2.1",
|
|
26
|
+
role: "CSS engine — utility-first classes, @theme mapping, @utility registration",
|
|
27
|
+
layer: "L-dep",
|
|
28
|
+
type: "runtime",
|
|
29
|
+
usedBy: ["L0-tokens"]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "clsx",
|
|
33
|
+
version: "^2.1.1",
|
|
34
|
+
role: "conditional className joining — lightweight boolean class logic",
|
|
35
|
+
layer: "L-dep",
|
|
36
|
+
type: "runtime",
|
|
37
|
+
usedBy: ["L2+"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "tailwind-merge",
|
|
41
|
+
version: "^3.5.0",
|
|
42
|
+
role: "deduplicates conflicting Tailwind classes — powers cx() utility",
|
|
43
|
+
layer: "L-dep",
|
|
44
|
+
type: "runtime",
|
|
45
|
+
usedBy: ["L2+"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "class-variance-authority",
|
|
49
|
+
version: "^0.7.1",
|
|
50
|
+
role: "type-safe variant API — cva() for component variant definitions",
|
|
51
|
+
layer: "L-dep",
|
|
52
|
+
type: "runtime",
|
|
53
|
+
usedBy: ["L3-atoms", "L4-molecules"]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "jotai",
|
|
57
|
+
version: "^2.18.1",
|
|
58
|
+
role: "atomic state management — theme, i18n, responsive atoms",
|
|
59
|
+
layer: "L-dep",
|
|
60
|
+
type: "runtime",
|
|
61
|
+
usedBy: ["L1-systems"]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "lucide-react",
|
|
65
|
+
version: "^0.577.0",
|
|
66
|
+
role: "icon library — 1500+ SVG icons as React components",
|
|
67
|
+
layer: "L-dep",
|
|
68
|
+
type: "runtime",
|
|
69
|
+
usedBy: [
|
|
70
|
+
"L3-atoms",
|
|
71
|
+
"L4-molecules",
|
|
72
|
+
"L5-organisms"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "recharts",
|
|
77
|
+
version: "^3.8.0",
|
|
78
|
+
role: "chart foundation — ResponsiveContainer, ComposedChart, RadialBarChart",
|
|
79
|
+
layer: "L-dep",
|
|
80
|
+
type: "runtime",
|
|
81
|
+
usedBy: ["L6-charts"]
|
|
82
|
+
}
|
|
83
|
+
], t = [
|
|
84
|
+
{
|
|
85
|
+
name: "cx",
|
|
86
|
+
module: "utils/cx",
|
|
87
|
+
role: "class merging (clsx + tailwind-merge)",
|
|
88
|
+
usedBy: "L2+"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "focusCls",
|
|
92
|
+
module: "utils/a11y",
|
|
93
|
+
role: "focus ring preset class string",
|
|
94
|
+
usedBy: "L2+"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "srOnly",
|
|
98
|
+
module: "utils/a11y",
|
|
99
|
+
role: "screen-reader-only class string",
|
|
100
|
+
usedBy: "L2+"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "mergeRefs",
|
|
104
|
+
module: "utils/dom",
|
|
105
|
+
role: "combine multiple refs into one",
|
|
106
|
+
usedBy: "L2+"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "isActivationKey",
|
|
110
|
+
module: "utils/dom",
|
|
111
|
+
role: "detect Enter/Space on keydown",
|
|
112
|
+
usedBy: "L3+"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "clamp",
|
|
116
|
+
module: "utils/dom",
|
|
117
|
+
role: "clamp number to min/max",
|
|
118
|
+
usedBy: "L2+"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: "uid",
|
|
122
|
+
module: "utils/dom",
|
|
123
|
+
role: "unique id generator for a11y",
|
|
124
|
+
usedBy: "L2+"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: "VariantProps",
|
|
128
|
+
module: "utils/types",
|
|
129
|
+
role: "extract variant type from cva()",
|
|
130
|
+
usedBy: "L3+"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "MergeProps",
|
|
134
|
+
module: "utils/types",
|
|
135
|
+
role: "merge native + component props",
|
|
136
|
+
usedBy: "L2+"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: "AsProps",
|
|
140
|
+
module: "utils/types",
|
|
141
|
+
role: "polymorphic as prop",
|
|
142
|
+
usedBy: "L2"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: "useScrollLock",
|
|
146
|
+
module: "utils/hooks",
|
|
147
|
+
role: "prevent body scroll when overlay open",
|
|
148
|
+
usedBy: "L5+"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: "useEscapeKey",
|
|
152
|
+
module: "utils/hooks",
|
|
153
|
+
role: "close overlay on Escape",
|
|
154
|
+
usedBy: "L5+"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: "useClickOutside",
|
|
158
|
+
module: "utils/hooks",
|
|
159
|
+
role: "detect click outside element",
|
|
160
|
+
usedBy: "L5+"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "useMediaQuery",
|
|
164
|
+
module: "utils/hooks",
|
|
165
|
+
role: "subscribe to CSS media query",
|
|
166
|
+
usedBy: "L2+"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "useIsMobile",
|
|
170
|
+
module: "utils/hooks",
|
|
171
|
+
role: "boolean mobile breakpoint",
|
|
172
|
+
usedBy: "L2+"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: "useIsDesktop",
|
|
176
|
+
module: "utils/hooks",
|
|
177
|
+
role: "boolean desktop breakpoint",
|
|
178
|
+
usedBy: "L2+"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: "useFocusTrap",
|
|
182
|
+
module: "utils/hooks",
|
|
183
|
+
role: "trap tab focus in container",
|
|
184
|
+
usedBy: "L5+"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: "renderPortal",
|
|
188
|
+
module: "utils/portal",
|
|
189
|
+
role: "portal rendering via react-dom createPortal",
|
|
190
|
+
usedBy: "L2+"
|
|
191
|
+
}
|
|
192
|
+
], n = {
|
|
193
|
+
typecheck: {
|
|
194
|
+
tool: "typescript",
|
|
195
|
+
config: "tsconfig.json",
|
|
196
|
+
command: "bun run typecheck",
|
|
197
|
+
rule: "zero errors on every commit. strict mode, no any in lib code"
|
|
198
|
+
},
|
|
199
|
+
lint: {
|
|
200
|
+
tool: "eslint",
|
|
201
|
+
config: "eslint.config.js",
|
|
202
|
+
command: "bun run lint",
|
|
203
|
+
rule: "zero warnings. import sorting, hooks rules, no console"
|
|
204
|
+
},
|
|
205
|
+
test: {
|
|
206
|
+
tool: "vitest",
|
|
207
|
+
config: "vitest.config.ts",
|
|
208
|
+
command: "bun run test",
|
|
209
|
+
rule: "TDD mandatory. tests BEFORE code. 80% coverage threshold enforced"
|
|
210
|
+
},
|
|
211
|
+
format: {
|
|
212
|
+
tool: "eslint --fix + prettier (via admin)",
|
|
213
|
+
rule: "no semicolons, single quotes JS, double quotes JSX, 2-space indent"
|
|
214
|
+
}
|
|
215
|
+
}, r = {
|
|
216
|
+
"L0-tokens": ["tailwindcss"],
|
|
217
|
+
"L1-systems": ["react", "jotai"],
|
|
218
|
+
"L2-primitives": [
|
|
219
|
+
"react",
|
|
220
|
+
"clsx",
|
|
221
|
+
"tailwind-merge",
|
|
222
|
+
"class-variance-authority"
|
|
223
|
+
],
|
|
224
|
+
"L3-atoms": [
|
|
225
|
+
"react",
|
|
226
|
+
"clsx",
|
|
227
|
+
"tailwind-merge",
|
|
228
|
+
"class-variance-authority",
|
|
229
|
+
"lucide-react"
|
|
230
|
+
],
|
|
231
|
+
"L4-molecules": [
|
|
232
|
+
"react",
|
|
233
|
+
"clsx",
|
|
234
|
+
"tailwind-merge",
|
|
235
|
+
"class-variance-authority",
|
|
236
|
+
"lucide-react"
|
|
237
|
+
],
|
|
238
|
+
"L5-organisms": [
|
|
239
|
+
"react",
|
|
240
|
+
"clsx",
|
|
241
|
+
"tailwind-merge",
|
|
242
|
+
"class-variance-authority",
|
|
243
|
+
"lucide-react"
|
|
244
|
+
],
|
|
245
|
+
"L6-charts": [
|
|
246
|
+
"react",
|
|
247
|
+
"clsx",
|
|
248
|
+
"tailwind-merge",
|
|
249
|
+
"recharts",
|
|
250
|
+
"lucide-react"
|
|
251
|
+
],
|
|
252
|
+
"L7-patterns": [
|
|
253
|
+
"react",
|
|
254
|
+
"clsx",
|
|
255
|
+
"tailwind-merge"
|
|
256
|
+
]
|
|
257
|
+
}, i = {
|
|
258
|
+
sm: 640,
|
|
259
|
+
md: 768,
|
|
260
|
+
lg: 1024,
|
|
261
|
+
xl: 1280,
|
|
262
|
+
"2xl": 1536
|
|
263
|
+
};
|
|
264
|
+
function a(e) {
|
|
265
|
+
return e < i.md ? "mobile" : e < i.lg ? "tablet" : "desktop";
|
|
266
|
+
}
|
|
267
|
+
function o(e) {
|
|
268
|
+
return `(min-width: ${i[e]}px)`;
|
|
269
|
+
}
|
|
270
|
+
function s(e) {
|
|
271
|
+
return `(max-width: ${i[e] - 1}px)`;
|
|
272
|
+
}
|
|
273
|
+
function c(e, t) {
|
|
274
|
+
return `(min-width: ${i[e]}px) and (max-width: ${i[t] - 1}px)`;
|
|
275
|
+
}
|
|
276
|
+
function l(e) {
|
|
277
|
+
let t = Object.entries(e).sort(([, e], [, t]) => e - t), n = [];
|
|
278
|
+
for (let e = 0; e < t.length - 1; e++) {
|
|
279
|
+
let [r, i] = t[e], [a, o] = t[e + 1];
|
|
280
|
+
i === o && n.push({
|
|
281
|
+
a: r,
|
|
282
|
+
b: a,
|
|
283
|
+
overlap: i
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
return n;
|
|
287
|
+
}
|
|
288
|
+
function u() {
|
|
289
|
+
let e = {};
|
|
290
|
+
for (let [t, n] of Object.entries(i)) e[`--gds-breakpoint-${t}`] = `${n}px`;
|
|
291
|
+
return e;
|
|
292
|
+
}
|
|
293
|
+
//#endregion
|
|
294
|
+
export { a, e as c, r as d, l as i, n as l, u as n, s as o, i as r, o as s, c as t, t as u };
|
|
295
|
+
|
|
296
|
+
//# sourceMappingURL=l0-tokens-DZkyVlac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l0-tokens-DZkyVlac.js","names":[],"sources":["../src/l0-tokens/deps.ts","../src/l0-tokens/breakpoint-system.ts"],"sourcesContent":["// L-dep — dependency manifest\n// documents every external dependency, its role, and layer constraints\n\nexport type DepInfo = {\n name: string\n version: string\n role: string\n layer: 'L-dep'\n type: 'peer' | 'runtime' | 'dev'\n usedBy: string[]\n}\n\nexport const GDS_DEPS: DepInfo[] = [\n // peer — provided by consumer app\n {\n name: 'react',\n version: '>=19.0.0',\n role: 'UI runtime — component rendering, hooks, reconciler',\n layer: 'L-dep',\n type: 'peer',\n usedBy: ['L1-systems', 'L2-primitives', 'L3+'],\n },\n {\n name: 'react-dom',\n version: '>=19.0.0',\n role: 'DOM binding for React — portal, createRoot',\n layer: 'L-dep',\n type: 'peer',\n usedBy: ['L-dep utils (portal wrapper)'],\n },\n\n // runtime — bundled with gds\n {\n name: 'tailwindcss',\n version: '^4.2.1',\n role: 'CSS engine — utility-first classes, @theme mapping, @utility registration',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L0-tokens'],\n },\n {\n name: 'clsx',\n version: '^2.1.1',\n role: 'conditional className joining — lightweight boolean class logic',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L2+'],\n },\n {\n name: 'tailwind-merge',\n version: '^3.5.0',\n role: 'deduplicates conflicting Tailwind classes — powers cx() utility',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L2+'],\n },\n {\n name: 'class-variance-authority',\n version: '^0.7.1',\n role: 'type-safe variant API — cva() for component variant definitions',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L3-atoms', 'L4-molecules'],\n },\n {\n name: 'jotai',\n version: '^2.18.1',\n role: 'atomic state management — theme, i18n, responsive atoms',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L1-systems'],\n },\n {\n name: 'lucide-react',\n version: '^0.577.0',\n role: 'icon library — 1500+ SVG icons as React components',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L3-atoms', 'L4-molecules', 'L5-organisms'],\n },\n {\n name: 'recharts',\n version: '^3.8.0',\n role: 'chart foundation — ResponsiveContainer, ComposedChart, RadialBarChart',\n layer: 'L-dep',\n type: 'runtime',\n usedBy: ['L6-charts'],\n },\n]\n\n// internal utilities — part of L-dep, available to all layers\n// these wrap external deps so components never import clsx/twMerge/cva directly\nexport const GDS_INTERNAL_UTILS = [\n { name: 'cx', module: 'utils/cx', role: 'class merging (clsx + tailwind-merge)', usedBy: 'L2+' },\n { name: 'focusCls', module: 'utils/a11y', role: 'focus ring preset class string', usedBy: 'L2+' },\n { name: 'srOnly', module: 'utils/a11y', role: 'screen-reader-only class string', usedBy: 'L2+' },\n { name: 'mergeRefs', module: 'utils/dom', role: 'combine multiple refs into one', usedBy: 'L2+' },\n { name: 'isActivationKey', module: 'utils/dom', role: 'detect Enter/Space on keydown', usedBy: 'L3+' },\n { name: 'clamp', module: 'utils/dom', role: 'clamp number to min/max', usedBy: 'L2+' },\n { name: 'uid', module: 'utils/dom', role: 'unique id generator for a11y', usedBy: 'L2+' },\n { name: 'VariantProps', module: 'utils/types', role: 'extract variant type from cva()', usedBy: 'L3+' },\n { name: 'MergeProps', module: 'utils/types', role: 'merge native + component props', usedBy: 'L2+' },\n { name: 'AsProps', module: 'utils/types', role: 'polymorphic as prop', usedBy: 'L2' },\n // hooks\n { name: 'useScrollLock', module: 'utils/hooks', role: 'prevent body scroll when overlay open', usedBy: 'L5+' },\n { name: 'useEscapeKey', module: 'utils/hooks', role: 'close overlay on Escape', usedBy: 'L5+' },\n { name: 'useClickOutside', module: 'utils/hooks', role: 'detect click outside element', usedBy: 'L5+' },\n { name: 'useMediaQuery', module: 'utils/hooks', role: 'subscribe to CSS media query', usedBy: 'L2+' },\n { name: 'useIsMobile', module: 'utils/hooks', role: 'boolean mobile breakpoint', usedBy: 'L2+' },\n { name: 'useIsDesktop', module: 'utils/hooks', role: 'boolean desktop breakpoint', usedBy: 'L2+' },\n { name: 'useFocusTrap', module: 'utils/hooks', role: 'trap tab focus in container', usedBy: 'L5+' },\n { name: 'renderPortal', module: 'utils/portal', role: 'portal rendering via react-dom createPortal', usedBy: 'L2+' },\n] as const\n\n// engineering infrastructure — enforced at every layer, not optional\nexport const GDS_INFRA = {\n typecheck: {\n tool: 'typescript',\n config: 'tsconfig.json',\n command: 'bun run typecheck',\n rule: 'zero errors on every commit. strict mode, no any in lib code',\n },\n lint: {\n tool: 'eslint',\n config: 'eslint.config.js',\n command: 'bun run lint',\n rule: 'zero warnings. import sorting, hooks rules, no console',\n },\n test: {\n tool: 'vitest',\n config: 'vitest.config.ts',\n command: 'bun run test',\n rule: 'TDD mandatory. tests BEFORE code. 80% coverage threshold enforced',\n },\n format: {\n tool: 'eslint --fix + prettier (via admin)',\n rule: 'no semicolons, single quotes JS, double quotes JSX, 2-space indent',\n },\n} as const\n\n// dependency constraint: which layers can import which external deps\n// internal utils (cx, focusCls, etc.) are always allowed — they are L-dep\nexport const LAYER_DEP_CONSTRAINTS: Record<string, string[]> = {\n 'L0-tokens': ['tailwindcss'],\n 'L1-systems': ['react', 'jotai'],\n 'L2-primitives': ['react', 'clsx', 'tailwind-merge', 'class-variance-authority'],\n 'L3-atoms': ['react', 'clsx', 'tailwind-merge', 'class-variance-authority', 'lucide-react'],\n 'L4-molecules': ['react', 'clsx', 'tailwind-merge', 'class-variance-authority', 'lucide-react'],\n 'L5-organisms': ['react', 'clsx', 'tailwind-merge', 'class-variance-authority', 'lucide-react'],\n 'L6-charts': ['react', 'clsx', 'tailwind-merge', 'recharts', 'lucide-react'],\n 'L7-patterns': ['react', 'clsx', 'tailwind-merge'],\n}\n","// L0 — breakpoint system\n// responsive breakpoints with semantic names and overlap detection\n\n// breakpoint scale — mobile-first, min-width values\n// each step is roughly 1.5-2× the mobile base (320px)\nexport const breakpoints = {\n sm: 640, // large phone / small tablet\n md: 768, // tablet portrait\n lg: 1024, // tablet landscape / small laptop\n xl: 1280, // laptop\n '2xl': 1536, // desktop\n} as const\n\nexport type BreakpointKey = keyof typeof breakpoints\n\n// device category detection (from width)\nexport type DeviceCategory = 'mobile' | 'tablet' | 'desktop'\n\nexport function deviceCategory(width: number): DeviceCategory {\n if (width < breakpoints.md) return 'mobile'\n if (width < breakpoints.lg) return 'tablet'\n return 'desktop'\n}\n\n// media query helpers — generate valid CSS media query strings\nexport function minWidth(bp: BreakpointKey): string {\n return `(min-width: ${breakpoints[bp]}px)`\n}\n\nexport function maxWidth(bp: BreakpointKey): string {\n return `(max-width: ${breakpoints[bp] - 1}px)`\n}\n\nexport function between(min: BreakpointKey, max: BreakpointKey): string {\n return `(min-width: ${breakpoints[min]}px) and (max-width: ${breakpoints[max] - 1}px)`\n}\n\n// overlap detection — validate that custom breakpoints don't conflict\nexport function detectOverlap(\n custom: Record<string, number>,\n): { a: string, b: string, overlap: number }[] {\n const sorted = Object.entries(custom).sort(([, a], [, b]) => a - b)\n const overlaps: { a: string, b: string, overlap: number }[] = []\n for (let i = 0; i < sorted.length - 1; i++) {\n const [nameA, valA] = sorted[i]\n const [nameB, valB] = sorted[i + 1]\n if (valA === valB) {\n overlaps.push({ a: nameA, b: nameB, overlap: valA })\n }\n }\n return overlaps\n}\n\nexport function breakpointToCssVars(): Record<string, string> {\n const vars: Record<string, string> = {}\n for (const [key, val] of Object.entries(breakpoints)) {\n vars[`--gds-breakpoint-${key}`] = `${val}px`\n }\n return vars\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g, v as _ } from "../use-theme-C0aWVw70.js";
|
|
2
|
+
export { o as DEFAULT_THEME, h as configureTheme, a as resolveThemeCssVars, e as resolvedModeAtom, _ as themeAtom, u as useResetTheme, p as useResolvedMode, s as useSetThemeColors, t as useSetThemeDensity, d as useSetThemeElevation, m as useSetThemeGlass, n as useSetThemeMode, c as useSetThemeMotion, g as useSetThemePreset, r as useSetThemePrimaryColor, i as useSetThemeShape, f as useTheme, l as useThemeEffect };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { n as e, t } from "../button-avu-rQU4.js";
|
|
2
|
+
import { C as n, S as r, _ as i, a, b as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, o as g, p as _, r as v, s as y, t as b, u as x, v as S, w as C, x as w, y as T } from "../l2-primitives-CqrezrJ4.js";
|
|
3
|
+
import { n as E, r as D, t as O } from "../separator-Dqs23A9D.js";
|
|
4
|
+
import { n as k, r as A, t as j } from "../badge-DTJq6AXr.js";
|
|
5
|
+
import { t as M } from "../highlight-BAGZc-4h.js";
|
|
6
|
+
import { n as N, t as P } from "../icon-button-YatlVZnz.js";
|
|
7
|
+
import { a as F, i as I, n as L, r as R, t as z } from "../spinner-D8Ti-TFe.js";
|
|
8
|
+
import { n as B, r as V, t as H } from "../textarea-BJCl_aH2.js";
|
|
9
|
+
import { n as U, t as W } from "../progress-wAKN3Czz.js";
|
|
10
|
+
import { t as G } from "../skeleton-C9FFZSYN.js";
|
|
11
|
+
export { n as Anchor, D as AspectRatio, j as Badge, r as BadgeDot, t as Button, o as Container, T as Divider, i as Dot, u as FocusRing, d as GlowEffect, m as GradientBorder, M as Highlight, P as IconButton, I as Input, V as Kbd, R as Label, x as LoadingBars, c as LoadingPulse, l as LoadingRing, _ as LoadingWave, s as NumberInput, W as Progress, y as ScreenOverlay, g as ScrollArea, O as Separator, a as Shimmer, G as Skeleton, f as SkipNav, v as Slider, z as Spinner, H as Textarea, h as Truncate, b as VisuallyHidden, C as anchorVariants, k as badgeVariants, e as buttonVariants, w as containerVariants, S as dotVariants, N as iconButtonVariants, F as inputVariants, p as numberInputVariants, A as paletteVariant, U as progressVariants, E as separatorVariants, L as spinnerVariants, B as textareaVariants };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-overlay.d.ts","sourceRoot":"","sources":["../../src/l2-primitives/screen-overlay.tsx"],"names":[],"mappings":"AAMA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAqBD,eAAO,MAAM,aAAa,+
|
|
1
|
+
{"version":3,"file":"screen-overlay.d.ts","sourceRoot":"","sources":["../../src/l2-primitives/screen-overlay.tsx"],"names":[],"mappings":"AAMA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAqBD,eAAO,MAAM,aAAa,+GAIzB,CAAA;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -2,7 +2,8 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
export type TruncateProps = {
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
lines?: number;
|
|
5
|
-
|
|
5
|
+
expanded?: boolean;
|
|
6
|
+
onToggle?: () => void;
|
|
6
7
|
className?: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const Truncate: import("react").ForwardRefExoticComponent<TruncateProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/l2-primitives/truncate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,
|
|
1
|
+
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/l2-primitives/truncate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,QAAQ,0GAqCpB,CAAA"}
|