@steez-ui/ui 0.1.3 → 0.1.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/README.md +8 -5
- package/dist/components/AvatarStage.d.ts +10 -0
- package/dist/components/AvatarStage.d.ts.map +1 -0
- package/dist/components/AvatarStage.js +11 -0
- package/dist/components/AvatarStage.js.map +1 -0
- package/dist/components/AvatarStage.module.css +34 -0
- package/dist/components/BlinkText.d.ts +13 -0
- package/dist/components/BlinkText.d.ts.map +1 -0
- package/dist/components/BlinkText.js +13 -0
- package/dist/components/BlinkText.js.map +1 -0
- package/dist/components/BlinkText.module.css +40 -0
- package/dist/components/Button.js.map +1 -1
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/CornerBracketCard.js.map +1 -1
- package/dist/components/CyberpunkCheckbox.js.map +1 -1
- package/dist/components/CyberpunkInput.js.map +1 -1
- package/dist/components/CyberpunkRadio.js.map +1 -1
- package/dist/components/CyberpunkSelect.js.map +1 -1
- package/dist/components/CyberpunkSlider.js.map +1 -1
- package/dist/components/CyberpunkTextarea.js.map +1 -1
- package/dist/components/CyberpunkTile.js.map +1 -1
- package/dist/components/ErrorMessage.js.map +1 -1
- package/dist/components/HeartbeatPulse.d.ts +19 -0
- package/dist/components/HeartbeatPulse.d.ts.map +1 -0
- package/dist/components/HeartbeatPulse.js +33 -0
- package/dist/components/HeartbeatPulse.js.map +1 -0
- package/dist/components/HeartbeatPulse.module.css +34 -0
- package/dist/components/HexagonGrid.d.ts +12 -0
- package/dist/components/HexagonGrid.d.ts.map +1 -0
- package/dist/components/HexagonGrid.js +284 -0
- package/dist/components/HexagonGrid.js.map +1 -0
- package/dist/components/HexagonGrid.module.css +14 -0
- package/dist/components/LoadingProgressBar.js.map +1 -1
- package/dist/components/MarqueeStrip.d.ts +13 -0
- package/dist/components/MarqueeStrip.d.ts.map +1 -0
- package/dist/components/MarqueeStrip.js +12 -0
- package/dist/components/MarqueeStrip.js.map +1 -0
- package/dist/components/MarqueeStrip.module.css +36 -0
- package/dist/components/PageHeader.js.map +1 -1
- package/dist/components/PageTemplate.js.map +1 -1
- package/dist/components/RuntimeOrbitDiagram.d.ts +19 -0
- package/dist/components/RuntimeOrbitDiagram.d.ts.map +1 -0
- package/dist/components/RuntimeOrbitDiagram.js +39 -0
- package/dist/components/RuntimeOrbitDiagram.js.map +1 -0
- package/dist/components/RuntimeOrbitDiagram.module.css +160 -0
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/StatusMessage.js.map +1 -1
- package/dist/components/StrokedText.d.ts +10 -0
- package/dist/components/StrokedText.d.ts.map +1 -0
- package/dist/components/StrokedText.js +12 -0
- package/dist/components/StrokedText.js.map +1 -0
- package/dist/components/StrokedText.module.css +63 -0
- package/dist/components/TabbedPanel.js.map +1 -1
- package/dist/components/ThemeToggle.js.map +1 -1
- package/dist/components/ThemedCard.js.map +1 -1
- package/dist/hooks/useStableId.js.map +1 -1
- 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/package.json +3 -3
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
--orbit-duration: 5.4s;
|
|
3
|
+
|
|
4
|
+
position: relative;
|
|
5
|
+
width: min(100%, 38rem);
|
|
6
|
+
aspect-ratio: 1;
|
|
7
|
+
min-height: 22rem;
|
|
8
|
+
isolation: isolate;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.svg {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
display: block;
|
|
15
|
+
overflow: visible;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.track {
|
|
19
|
+
fill: none;
|
|
20
|
+
stroke: color-mix(in srgb, var(--text-primary) 14%, transparent);
|
|
21
|
+
stroke-width: 0.8;
|
|
22
|
+
stroke-linecap: round;
|
|
23
|
+
stroke-linejoin: round;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.pathLine {
|
|
27
|
+
fill: none;
|
|
28
|
+
stroke: color-mix(in srgb, var(--accent-primary) 88%, transparent);
|
|
29
|
+
stroke-width: 1.35;
|
|
30
|
+
stroke-linecap: round;
|
|
31
|
+
stroke-linejoin: round;
|
|
32
|
+
stroke-dasharray: 14 86;
|
|
33
|
+
animation: orbitPath var(--orbit-duration) linear infinite;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.node {
|
|
37
|
+
position: absolute;
|
|
38
|
+
top: var(--node-y);
|
|
39
|
+
left: var(--node-x);
|
|
40
|
+
width: clamp(4.15rem, 8vw, 4.95rem);
|
|
41
|
+
aspect-ratio: 1;
|
|
42
|
+
translate: -50% -50%;
|
|
43
|
+
display: grid;
|
|
44
|
+
place-items: center;
|
|
45
|
+
border-radius: 999px;
|
|
46
|
+
color: color-mix(in srgb, var(--text-secondary) 92%, transparent);
|
|
47
|
+
border: 1px solid color-mix(in srgb, var(--border-color) 78%, transparent);
|
|
48
|
+
background: color-mix(in srgb, var(--bg-secondary) 94%, transparent);
|
|
49
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--bg-primary) 28%, transparent);
|
|
50
|
+
animation: orbitPulse var(--orbit-duration) linear infinite;
|
|
51
|
+
animation-delay: var(--node-delay);
|
|
52
|
+
transition:
|
|
53
|
+
border-color var(--tile-hover-duration, 220ms) ease,
|
|
54
|
+
transform var(--tile-hover-duration, 220ms) ease,
|
|
55
|
+
background-color var(--tile-hover-duration, 220ms) ease;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.node:hover {
|
|
59
|
+
color: var(--text-primary);
|
|
60
|
+
border-color: color-mix(in srgb, var(--accent-primary) 46%, var(--border-color));
|
|
61
|
+
transform: translateY(-1px);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nodeInner {
|
|
65
|
+
width: calc(100% - 10px);
|
|
66
|
+
height: calc(100% - 10px);
|
|
67
|
+
display: grid;
|
|
68
|
+
place-items: center;
|
|
69
|
+
border-radius: inherit;
|
|
70
|
+
background: color-mix(in srgb, var(--bg-primary) 96%, transparent);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.nodeInner svg {
|
|
74
|
+
width: 48%;
|
|
75
|
+
height: 48%;
|
|
76
|
+
color: currentColor;
|
|
77
|
+
opacity: 0.88;
|
|
78
|
+
transform: scale(0.86);
|
|
79
|
+
transition:
|
|
80
|
+
opacity var(--tile-hover-duration, 220ms) ease,
|
|
81
|
+
transform var(--tile-hover-duration, 220ms) ease,
|
|
82
|
+
color var(--tile-hover-duration, 220ms) ease;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.node:hover .nodeInner svg {
|
|
86
|
+
opacity: 1;
|
|
87
|
+
transform: scale(0.92);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.dot {
|
|
91
|
+
fill: var(--accent-primary);
|
|
92
|
+
filter: drop-shadow(
|
|
93
|
+
0 0 8px color-mix(in srgb, var(--accent-primary) 32%, transparent)
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.srOnly {
|
|
98
|
+
position: absolute;
|
|
99
|
+
width: 1px;
|
|
100
|
+
height: 1px;
|
|
101
|
+
padding: 0;
|
|
102
|
+
margin: -1px;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
clip: rect(0, 0, 0, 0);
|
|
105
|
+
white-space: nowrap;
|
|
106
|
+
border: 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@keyframes orbitPath {
|
|
110
|
+
from {
|
|
111
|
+
stroke-dashoffset: 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
to {
|
|
115
|
+
stroke-dashoffset: -100;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@keyframes orbitPulse {
|
|
120
|
+
0%,
|
|
121
|
+
4%,
|
|
122
|
+
16%,
|
|
123
|
+
100% {
|
|
124
|
+
color: color-mix(in srgb, var(--text-secondary) 92%, transparent);
|
|
125
|
+
border-color: color-mix(in srgb, var(--border-color) 78%, transparent);
|
|
126
|
+
background: color-mix(in srgb, var(--bg-secondary) 94%, transparent);
|
|
127
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--bg-primary) 28%, transparent);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
6%,
|
|
131
|
+
13% {
|
|
132
|
+
color: var(--text-primary);
|
|
133
|
+
border-color: color-mix(in srgb, var(--accent-primary) 64%, var(--border-color));
|
|
134
|
+
background: color-mix(in srgb, var(--accent-primary) 12%, var(--bg-secondary));
|
|
135
|
+
box-shadow:
|
|
136
|
+
0 0 0 1px color-mix(in srgb, var(--accent-primary) 24%, transparent),
|
|
137
|
+
0 0 22px color-mix(in srgb, var(--accent-primary) 18%, transparent);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@media (max-width: 720px) {
|
|
142
|
+
.root {
|
|
143
|
+
min-height: 18rem;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.node {
|
|
147
|
+
width: clamp(3.55rem, 17vw, 4.25rem);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
@media (prefers-reduced-motion: reduce) {
|
|
152
|
+
.pathLine,
|
|
153
|
+
.node {
|
|
154
|
+
animation: none;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.dot {
|
|
158
|
+
display: none;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../../src/components/SegmentedControl.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAkBnD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,SAAS,EACT,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,GACO;IACtB,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,aACpD,KAAK,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,IAAI,EAC3D,cACE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EACzE,IAAI,EAAC,SAAS,gBACF,SAAS,IAAI,KAAK,YAE7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;oBACxC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,QAAQ,EACvB,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAClH,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAEpC,MAAM,CAAC,KAAK,IAPR,MAAM,CAAC,KAAK,CAQV,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,EACL,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,IACpD,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../../src/components/SegmentedControl.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAkBnD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,SAAS,EACT,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,GACO;IACtB,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,aACpD,KAAK,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,IAAI,EAC3D,cACE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EACzE,IAAI,EAAC,SAAS,gBACF,SAAS,IAAI,KAAK,YAE7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;oBACxC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,QAAQ,EACvB,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAClH,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAEpC,MAAM,CAAC,KAAK,IAPR,MAAM,CAAC,KAAK,CAQV,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,EACL,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,IACpD,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\n\nimport styles from \"./SegmentedControl.module.css\";\n\nexport interface SegmentedControlOption {\n value: string;\n label: string;\n}\n\nexport interface SegmentedControlProps {\n value: string;\n options: SegmentedControlOption[];\n onChange: (value: string) => void;\n label?: string;\n hint?: string;\n ariaLabel?: string;\n className?: string;\n compact?: boolean;\n}\n\nexport function SegmentedControl({\n value,\n options,\n onChange,\n label,\n hint,\n ariaLabel,\n className = \"\",\n compact = false,\n}: SegmentedControlProps) {\n return (\n <div className={`${styles.wrapper} ${className}`.trim()}>\n {label ? <div className={styles.label}>{label}</div> : null}\n <div\n className={`${styles.track} ${compact ? styles.trackCompact : \"\"}`.trim()}\n role=\"tablist\"\n aria-label={ariaLabel || label}\n >\n {options.map((option) => {\n const isActive = option.value === value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n className={`${styles.option} ${isActive ? styles.optionActive : \"\"} ${compact ? styles.optionCompact : \"\"}`.trim()}\n onClick={() => onChange(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n {hint ? <div className={styles.hint}>{hint}</div> : null}\n </div>\n );\n}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusMessage.js","sourceRoot":"","sources":["../../src/components/StatusMessage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAOhD,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAsB;IACjE,OAAO,CACL,eACE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EACrD,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,eAChC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,aAEpD,gBAAM,SAAS,EAAE,MAAM,CAAC,IAAI,aACzB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAChE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,IACxD,EACP,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,OAAO,GAAQ,IAC1C,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"StatusMessage.js","sourceRoot":"","sources":["../../src/components/StatusMessage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAOhD,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAsB;IACjE,OAAO,CACL,eACE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EACrD,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,eAChC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,aAEpD,gBAAM,SAAS,EAAE,MAAM,CAAC,IAAI,aACzB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAChE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,IACxD,EACP,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,OAAO,GAAQ,IAC1C,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\n\nimport { CheckIcon, ErrorIcon, InfoIcon } from \"@steez-ui/icons\";\n\nimport styles from \"./StatusMessage.module.css\";\n\nexport interface StatusMessageProps {\n message: string;\n type: \"success\" | \"error\" | \"info\";\n}\n\nexport function StatusMessage({ message, type }: StatusMessageProps) {\n return (\n <div\n className={`${styles.message} ${styles[type]}`.trim()}\n role={type === \"error\" ? \"alert\" : \"status\"}\n aria-live={type === \"error\" ? \"assertive\" : \"polite\"}\n >\n <span className={styles.icon}>\n {type === \"success\" ? <CheckIcon width={16} height={16} /> : null}\n {type === \"error\" ? <ErrorIcon width={16} height={16} /> : null}\n {type === \"info\" ? <InfoIcon width={16} height={16} /> : null}\n </span>\n <span className={styles.text}>{message}</span>\n </div>\n );\n}\n\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface StrokedTextProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
color?: string;
|
|
5
|
+
strokeWidth?: number | string;
|
|
6
|
+
animateOnMount?: boolean;
|
|
7
|
+
fallbackOpacity?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function StrokedText({ children, color, strokeWidth, animateOnMount, fallbackOpacity, className, style, ...props }: StrokedTextProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=StrokedText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrokedText.d.ts","sourceRoot":"","sources":["../../src/components/StrokedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC7E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,WAAyC,EACzC,cAAsB,EACtB,eAAsB,EACtB,SAAc,EACd,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAkBlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import styles from "./StrokedText.module.css";
|
|
3
|
+
export function StrokedText({ children, color, strokeWidth = "clamp(1px, 0.11vw, 1.8px)", animateOnMount = false, fallbackOpacity = 0.18, className = "", style, ...props }) {
|
|
4
|
+
const mergedStyle = {
|
|
5
|
+
...style,
|
|
6
|
+
["--stroked-text-color"]: color,
|
|
7
|
+
["--stroked-text-width"]: typeof strokeWidth === "number" ? `${strokeWidth}px` : strokeWidth,
|
|
8
|
+
["--stroked-text-fallback-opacity"]: String(fallbackOpacity),
|
|
9
|
+
};
|
|
10
|
+
return (_jsx("span", { className: `${styles.root} ${animateOnMount ? styles.animateOnMount : ""} ${className}`.trim(), style: mergedStyle, ...props, children: children }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=StrokedText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrokedText.js","sourceRoot":"","sources":["../../src/components/StrokedText.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAU9C,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,WAAW,GAAG,2BAA2B,EACzC,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,IAAI,EACtB,SAAS,GAAG,EAAE,EACd,KAAK,EACL,GAAG,KAAK,EACS;IACjB,MAAM,WAAW,GAAG;QAClB,GAAG,KAAK;QACR,CAAC,sBAAgC,CAAC,EAAE,KAAK;QACzC,CAAC,sBAAgC,CAAC,EAChC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW;QACpE,CAAC,iCAA2C,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;KAChD,CAAC;IAEzB,OAAO,CACL,eACE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,EAC9F,KAAK,EAAE,WAAW,KACd,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\n\nimport styles from \"./StrokedText.module.css\";\n\nexport interface StrokedTextProps extends React.HTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n color?: string;\n strokeWidth?: number | string;\n animateOnMount?: boolean;\n fallbackOpacity?: number;\n}\n\nexport function StrokedText({\n children,\n color,\n strokeWidth = \"clamp(1px, 0.11vw, 1.8px)\",\n animateOnMount = false,\n fallbackOpacity = 0.18,\n className = \"\",\n style,\n ...props\n}: StrokedTextProps) {\n const mergedStyle = {\n ...style,\n [\"--stroked-text-color\" as string]: color,\n [\"--stroked-text-width\" as string]:\n typeof strokeWidth === \"number\" ? `${strokeWidth}px` : strokeWidth,\n [\"--stroked-text-fallback-opacity\" as string]: String(fallbackOpacity),\n } as React.CSSProperties;\n\n return (\n <span\n className={`${styles.root} ${animateOnMount ? styles.animateOnMount : \"\"} ${className}`.trim()}\n style={mergedStyle}\n {...props}\n >\n {children}\n </span>\n );\n}\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
color: transparent;
|
|
5
|
+
-webkit-text-stroke: var(--stroked-text-width, 1px)
|
|
6
|
+
var(--stroked-text-color, var(--accent-primary));
|
|
7
|
+
paint-order: stroke fill;
|
|
8
|
+
white-space: nowrap;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.animateOnMount {
|
|
12
|
+
animation: strokedTextBlink 1s steps(1, end) 0.18s both;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@supports not (-webkit-text-stroke: 1px black) {
|
|
16
|
+
.root {
|
|
17
|
+
color: var(--stroked-text-color, var(--accent-primary));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.animateOnMount {
|
|
21
|
+
animation: strokedTextFallbackBlink 1s steps(1, end) 0.18s both;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@keyframes strokedTextBlink {
|
|
26
|
+
0%,
|
|
27
|
+
14%,
|
|
28
|
+
32%,
|
|
29
|
+
50%,
|
|
30
|
+
68%,
|
|
31
|
+
100% {
|
|
32
|
+
color: transparent;
|
|
33
|
+
-webkit-text-stroke-color: var(--stroked-text-color, var(--accent-primary));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
18%,
|
|
37
|
+
36%,
|
|
38
|
+
54%,
|
|
39
|
+
72%,
|
|
40
|
+
90% {
|
|
41
|
+
color: var(--stroked-text-color, var(--accent-primary));
|
|
42
|
+
-webkit-text-stroke-color: transparent;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@keyframes strokedTextFallbackBlink {
|
|
47
|
+
0%,
|
|
48
|
+
14%,
|
|
49
|
+
32%,
|
|
50
|
+
50%,
|
|
51
|
+
68%,
|
|
52
|
+
100% {
|
|
53
|
+
opacity: var(--stroked-text-fallback-opacity, 0.18);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
18%,
|
|
57
|
+
36%,
|
|
58
|
+
54%,
|
|
59
|
+
72%,
|
|
60
|
+
90% {
|
|
61
|
+
opacity: 1;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbedPanel.js","sourceRoot":"","sources":["../../src/components/TabbedPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabbedPanel.js","sourceRoot":"","sources":["../../src/components/TabbedPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport styles from \"./TabbedPanel.module.css\";\n\nexport interface TabbedPanelTab {\n id: string;\n label: string;\n content?: React.ReactNode;\n panel?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface TabbedPanelProps {\n tabs: TabbedPanelTab[];\n activeTab?: string;\n defaultTab?: string;\n onTabChange?: (tabId: string) => void;\n onChange?: (tabId: string) => void;\n label?: string;\n hint?: string;\n ariaLabel?: string;\n className?: string;\n navClassName?: string;\n panelClassName?: string;\n}\n\nexport function TabbedPanel({\n tabs,\n activeTab,\n defaultTab,\n onTabChange,\n onChange,\n label,\n hint,\n ariaLabel,\n className = \"\",\n navClassName = \"\",\n panelClassName = \"\",\n}: TabbedPanelProps) {\n const isControlled = typeof activeTab === \"string\";\n const initialTabId = defaultTab || activeTab || tabs[0]?.id || \"\";\n const [internalTabId, setInternalTabId] = React.useState(initialTabId);\n const currentTabId = isControlled ? activeTab || tabs[0]?.id || \"\" : internalTabId;\n const currentTab = tabs.find((tab) => tab.id === currentTabId) ?? tabs[0];\n\n React.useEffect(() => {\n if (!tabs.length) {\n return;\n }\n\n if (tabs.some((tab) => tab.id === currentTabId)) {\n return;\n }\n\n const fallbackTabId = defaultTab || activeTab || tabs[0]?.id || \"\";\n if (!isControlled) {\n setInternalTabId(fallbackTabId);\n }\n onTabChange?.(fallbackTabId);\n onChange?.(fallbackTabId);\n }, [activeTab, currentTabId, defaultTab, isControlled, onChange, onTabChange, tabs]);\n\n const handleSelect = React.useCallback(\n (tabId: string) => {\n if (!isControlled) {\n setInternalTabId(tabId);\n }\n onTabChange?.(tabId);\n onChange?.(tabId);\n },\n [isControlled, onChange, onTabChange],\n );\n\n return (\n <div className={`${styles.root} ${className}`.trim()}>\n {label || hint ? (\n <div className={styles.header}>\n {label ? <div className={styles.label}>{label}</div> : null}\n {hint ? <div className={styles.hint}>{hint}</div> : null}\n </div>\n ) : null}\n <div className={`${styles.tabs} ${navClassName}`.trim()} role=\"tablist\" aria-label={ariaLabel || label}>\n {tabs.map((tab) => {\n const isActive = tab.id === currentTab?.id;\n return (\n <button\n key={tab.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n disabled={tab.disabled}\n className={`${styles.tab} ${isActive ? styles.tabActive : \"\"}`.trim()}\n onClick={() => handleSelect(tab.id)}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n <div className={`${styles.panel} ${panelClassName}`.trim()} role=\"tabpanel\">\n <div className={styles.panelBody}>{currentTab?.content ?? currentTab?.panel ?? null}</div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAS9C,MAAM,UAAU,WAAW,CAAC,EAC1B,UAAU,GAAG,OAAO,EACpB,YAAY,GAAG,MAAM,EACrB,SAAS,GAAG,EAAE,EACd,aAAa,GACI;IACjB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,YAAY,CAAC,CAAC;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAA4B,CAAC;QACtF,MAAM,YAAY,GAAG,UAAU,IAAI,YAAY,CAAC;QAChD,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC9D,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,EAC3E,OAAO,EAAE,WAAW,gBACR,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EACnE,KAAK,EAAE,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,YAE7D,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACrF,CACV,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAS9C,MAAM,UAAU,WAAW,CAAC,EAC1B,UAAU,GAAG,OAAO,EACpB,YAAY,GAAG,MAAM,EACrB,SAAS,GAAG,EAAE,EACd,aAAa,GACI;IACjB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,YAAY,CAAC,CAAC;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAA4B,CAAC;QACtF,MAAM,YAAY,GAAG,UAAU,IAAI,YAAY,CAAC;QAChD,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC9D,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,EAC3E,OAAO,EAAE,WAAW,gBACR,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EACnE,KAAK,EAAE,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,YAE7D,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACrF,CACV,CAAC;AACJ,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { MoonIcon, SunIcon } from \"@steez-ui/icons\";\n\nimport styles from \"./ThemeToggle.module.css\";\n\nexport interface ThemeToggleProps {\n storageKey?: string;\n defaultTheme?: \"dark\" | \"light\";\n className?: string;\n onThemeChange?: (theme: \"dark\" | \"light\") => void;\n}\n\nexport function ThemeToggle({\n storageKey = \"theme\",\n defaultTheme = \"dark\",\n className = \"\",\n onThemeChange,\n}: ThemeToggleProps) {\n const [theme, setTheme] = useState<\"dark\" | \"light\">(defaultTheme);\n\n useEffect(() => {\n const savedTheme = window.localStorage.getItem(storageKey) as \"dark\" | \"light\" | null;\n const initialTheme = savedTheme || defaultTheme;\n setTheme(initialTheme);\n document.documentElement.setAttribute(\"data-theme\", initialTheme);\n }, [defaultTheme, storageKey]);\n\n const toggleTheme = () => {\n const newTheme = theme === \"dark\" ? \"light\" : \"dark\";\n setTheme(newTheme);\n window.localStorage.setItem(storageKey, newTheme);\n document.documentElement.setAttribute(\"data-theme\", newTheme);\n onThemeChange?.(newTheme);\n };\n\n return (\n <button\n type=\"button\"\n className={`${styles.themeToggle} ${styles.iconButton} ${className}`.trim()}\n onClick={toggleTheme}\n aria-label={`Switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n title={`Switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n >\n {theme === \"dark\" ? <SunIcon width={14} height={14} /> : <MoonIcon width={14} height={14} />}\n </button>\n );\n}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedCard.js","sourceRoot":"","sources":["../../src/components/ThemedCard.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAQ7C,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,EAAE,EACd,QAAQ,EACR,GAAG,KAAK,EACQ;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAM,KAAK,aAC7G,KAAK,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,IAAI,EAC1D,QAAQ,IACL,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ThemedCard.js","sourceRoot":"","sources":["../../src/components/ThemedCard.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAQ7C,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,EAAE,EACd,QAAQ,EACR,GAAG,KAAK,EACQ;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAM,KAAK,aAC7G,KAAK,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,IAAI,EAC1D,QAAQ,IACL,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\n\nimport styles from \"./ThemedCard.module.css\";\n\nexport interface ThemedCardProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n title?: React.ReactNode;\n variant?: \"default\" | \"featured\";\n}\n\nexport function ThemedCard({\n title,\n variant = \"default\",\n className = \"\",\n children,\n ...props\n}: ThemedCardProps) {\n return (\n <div className={`${styles.card} ${variant === \"featured\" ? styles.featured : \"\"} ${className}`.trim()} {...props}>\n {title ? <div className={styles.title}>{title}</div> : null}\n {children}\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStableId.js","sourceRoot":"","sources":["../../src/hooks/useStableId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,UAAmB;IAC7D,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,UAAU,IAAI,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;AAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"useStableId.js","sourceRoot":"","sources":["../../src/hooks/useStableId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,UAAmB;IAC7D,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,UAAU,IAAI,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;AAC9C,CAAC","sourcesContent":["import { useId } from \"react\";\n\nexport function useStableId(prefix: string, explicitId?: string): string {\n const reactId = useId().replace(/:/g, \"\");\n return explicitId || `${prefix}-${reactId}`;\n}\n\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { AvatarStage, type AvatarStageProps } from "./components/AvatarStage.js";
|
|
2
|
+
export { BlinkText, type BlinkTextProps } from "./components/BlinkText.js";
|
|
1
3
|
export { Button, type ButtonProps } from "./components/Button.js";
|
|
2
4
|
export { CopyButton, type CopyButtonProps } from "./components/CopyButton.js";
|
|
3
5
|
export { CyberpunkCheckbox, type CyberpunkCheckboxProps } from "./components/CyberpunkCheckbox.js";
|
|
@@ -9,11 +11,16 @@ export { CyberpunkTextarea, type CyberpunkTextareaProps, } from "./components/Cy
|
|
|
9
11
|
export { CyberpunkTile, type CyberpunkTileProps } from "./components/CyberpunkTile.js";
|
|
10
12
|
export { CornerBracketCard, type CornerBracketCardProps } from "./components/CornerBracketCard.js";
|
|
11
13
|
export { ErrorMessage, type ErrorMessageProps } from "./components/ErrorMessage.js";
|
|
14
|
+
export { HeartbeatIndicator, HeartbeatPulse, type HeartbeatIndicatorProps, type HeartbeatPulseProps, } from "./components/HeartbeatPulse.js";
|
|
15
|
+
export { HexagonGrid, type HexagonGridProps } from "./components/HexagonGrid.js";
|
|
12
16
|
export { LOADING_PROGRESS_SEGMENT_COUNT, LoadingProgressBar, type LoadingProgressBarProps, } from "./components/LoadingProgressBar.js";
|
|
17
|
+
export { MarqueeStrip, type MarqueeStripProps } from "./components/MarqueeStrip.js";
|
|
13
18
|
export { PageHeader, type PageHeaderProps } from "./components/PageHeader.js";
|
|
14
19
|
export { PageTemplate, type PageTemplateProps } from "./components/PageTemplate.js";
|
|
20
|
+
export { RuntimeOrbitDiagram, type RuntimeOrbitDiagramProps, type RuntimeOrbitNode, } from "./components/RuntimeOrbitDiagram.js";
|
|
15
21
|
export { SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, } from "./components/SegmentedControl.js";
|
|
16
22
|
export { StatusMessage, type StatusMessageProps } from "./components/StatusMessage.js";
|
|
23
|
+
export { StrokedText, type StrokedTextProps } from "./components/StrokedText.js";
|
|
17
24
|
export { TabbedPanel, type TabbedPanelProps, type TabbedPanelTab } from "./components/TabbedPanel.js";
|
|
18
25
|
export { ThemedCard, type ThemedCardProps } from "./components/ThemedCard.js";
|
|
19
26
|
export { ThemeToggle, type ThemeToggleProps } from "./components/ThemeToggle.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { AvatarStage } from "./components/AvatarStage.js";
|
|
2
|
+
export { BlinkText } from "./components/BlinkText.js";
|
|
1
3
|
export { Button } from "./components/Button.js";
|
|
2
4
|
export { CopyButton } from "./components/CopyButton.js";
|
|
3
5
|
export { CyberpunkCheckbox } from "./components/CyberpunkCheckbox.js";
|
|
@@ -9,11 +11,16 @@ export { CyberpunkTextarea, } from "./components/CyberpunkTextarea.js";
|
|
|
9
11
|
export { CyberpunkTile } from "./components/CyberpunkTile.js";
|
|
10
12
|
export { CornerBracketCard } from "./components/CornerBracketCard.js";
|
|
11
13
|
export { ErrorMessage } from "./components/ErrorMessage.js";
|
|
14
|
+
export { HeartbeatIndicator, HeartbeatPulse, } from "./components/HeartbeatPulse.js";
|
|
15
|
+
export { HexagonGrid } from "./components/HexagonGrid.js";
|
|
12
16
|
export { LOADING_PROGRESS_SEGMENT_COUNT, LoadingProgressBar, } from "./components/LoadingProgressBar.js";
|
|
17
|
+
export { MarqueeStrip } from "./components/MarqueeStrip.js";
|
|
13
18
|
export { PageHeader } from "./components/PageHeader.js";
|
|
14
19
|
export { PageTemplate } from "./components/PageTemplate.js";
|
|
20
|
+
export { RuntimeOrbitDiagram, } from "./components/RuntimeOrbitDiagram.js";
|
|
15
21
|
export { SegmentedControl, } from "./components/SegmentedControl.js";
|
|
16
22
|
export { StatusMessage } from "./components/StatusMessage.js";
|
|
23
|
+
export { StrokedText } from "./components/StrokedText.js";
|
|
17
24
|
export { TabbedPanel } from "./components/TabbedPanel.js";
|
|
18
25
|
export { ThemedCard } from "./components/ThemedCard.js";
|
|
19
26
|
export { ThemeToggle } from "./components/ThemeToggle.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAA+B,MAAM,mCAAmC,CAAC;AACnG,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,GAGhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,gBAAgB,GAGjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,WAAW,EAA8C,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAoB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAA+B,MAAM,mCAAmC,CAAC;AACnG,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,GAGhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,cAAc,GAGf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC;AACjF,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,mBAAmB,GAGpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,GAGjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,WAAW,EAA8C,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC","sourcesContent":["export { AvatarStage, type AvatarStageProps } from \"./components/AvatarStage.js\";\nexport { BlinkText, type BlinkTextProps } from \"./components/BlinkText.js\";\nexport { Button, type ButtonProps } from \"./components/Button.js\";\nexport { CopyButton, type CopyButtonProps } from \"./components/CopyButton.js\";\nexport { CyberpunkCheckbox, type CyberpunkCheckboxProps } from \"./components/CyberpunkCheckbox.js\";\nexport {\n CyberpunkInput,\n type CyberpunkInputProps,\n} from \"./components/CyberpunkInput.js\";\nexport {\n CyberpunkRadio,\n CyberpunkRadioGroup,\n type CyberpunkRadioGroupProps,\n type CyberpunkRadioProps,\n} from \"./components/CyberpunkRadio.js\";\nexport {\n CyberpunkSelect,\n type CyberpunkSelectOption,\n type CyberpunkSelectProps,\n} from \"./components/CyberpunkSelect.js\";\nexport {\n CyberpunkSlider,\n type CyberpunkSliderProps,\n} from \"./components/CyberpunkSlider.js\";\nexport {\n CyberpunkTextarea,\n type CyberpunkTextareaProps,\n} from \"./components/CyberpunkTextarea.js\";\nexport { CyberpunkTile, type CyberpunkTileProps } from \"./components/CyberpunkTile.js\";\nexport { CornerBracketCard, type CornerBracketCardProps } from \"./components/CornerBracketCard.js\";\nexport { ErrorMessage, type ErrorMessageProps } from \"./components/ErrorMessage.js\";\nexport {\n HeartbeatIndicator,\n HeartbeatPulse,\n type HeartbeatIndicatorProps,\n type HeartbeatPulseProps,\n} from \"./components/HeartbeatPulse.js\";\nexport { HexagonGrid, type HexagonGridProps } from \"./components/HexagonGrid.js\";\nexport {\n LOADING_PROGRESS_SEGMENT_COUNT,\n LoadingProgressBar,\n type LoadingProgressBarProps,\n} from \"./components/LoadingProgressBar.js\";\nexport { MarqueeStrip, type MarqueeStripProps } from \"./components/MarqueeStrip.js\";\nexport { PageHeader, type PageHeaderProps } from \"./components/PageHeader.js\";\nexport { PageTemplate, type PageTemplateProps } from \"./components/PageTemplate.js\";\nexport {\n RuntimeOrbitDiagram,\n type RuntimeOrbitDiagramProps,\n type RuntimeOrbitNode,\n} from \"./components/RuntimeOrbitDiagram.js\";\nexport {\n SegmentedControl,\n type SegmentedControlOption,\n type SegmentedControlProps,\n} from \"./components/SegmentedControl.js\";\nexport { StatusMessage, type StatusMessageProps } from \"./components/StatusMessage.js\";\nexport { StrokedText, type StrokedTextProps } from \"./components/StrokedText.js\";\nexport { TabbedPanel, type TabbedPanelProps, type TabbedPanelTab } from \"./components/TabbedPanel.js\";\nexport { ThemedCard, type ThemedCardProps } from \"./components/ThemedCard.js\";\nexport { ThemeToggle, type ThemeToggleProps } from \"./components/ThemeToggle.js\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steez-ui/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "React primitives authored with CSS modules for Steez UI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"react-dom": ">=18"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@steez-ui/icons": "^0.1.
|
|
16
|
-
"@steez-ui/theme": "^0.1.
|
|
15
|
+
"@steez-ui/icons": "^0.1.5",
|
|
16
|
+
"@steez-ui/theme": "^0.1.5"
|
|
17
17
|
},
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|