weifuwu 0.90.0 → 0.90.1

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.
@@ -12122,4 +12122,73 @@ body.wf-dragging {
12122
12122
  }
12123
12123
  }
12124
12124
 
12125
+ /* weifuwu/components — WordCloud */
12126
+
12127
+ .wf-wordcloud {
12128
+ position: relative;
12129
+ max-width: 100%;
12130
+ }
12131
+
12132
+ .wf-wordcloud svg {
12133
+ display: block;
12134
+ }
12135
+
12136
+ .wf-wordcloud text {
12137
+ cursor: default;
12138
+ transition: opacity var(--wf-dur-fast) var(--wf-ease-out);
12139
+ }
12140
+
12141
+ /* 可交互态(onWordClick 提供时)——hover/键盘焦点高亮 */
12142
+ .wf-wordcloud--clickable text {
12143
+ cursor: pointer;
12144
+ /* SVG text 默认 pointer-events: visiblePainted——命中区=字形笔画(字母间隙漏到
12145
+ svg 根——点击不触发实证)——bounding-box = 命中整个文本 bbox(SVG2) */
12146
+ pointer-events: bounding-box;
12147
+ }
12148
+
12149
+ .wf-wordcloud--clickable text:hover,
12150
+ .wf-wordcloud--clickable text:focus-visible {
12151
+ opacity: 0.7;
12152
+ }
12153
+
12154
+ /* tooltip 内容(Chart 同款命令式弹窗——面板 .wf-popup 仅 max-width 无背景——
12155
+ * 内容自带反色卡片(深底浅字——popup-manager z-index 定位由内核完成)) */
12156
+ .wf-wordcloud-tooltip {
12157
+ display: inline-flex;
12158
+ align-items: center;
12159
+ gap: var(--wf-gap-xs);
12160
+ background: var(--wf-color-text);
12161
+ color: var(--wf-color-bg);
12162
+ padding: var(--wf-space-xs) var(--wf-space-sm);
12163
+ border-radius: var(--wf-radius-sm);
12164
+ font-family: var(--wf-font-sans);
12165
+ font-size: var(--wf-font-size-sm);
12166
+ line-height: 1.5;
12167
+ white-space: nowrap;
12168
+ pointer-events: none;
12169
+ }
12170
+
12171
+ .wf-wordcloud-tooltip-word {
12172
+ font-weight: var(--wf-font-weight-semibold);
12173
+ }
12174
+
12175
+ .wf-wordcloud-tooltip-weight {
12176
+ color: var(--wf-color-bg-secondary);
12177
+ font-size: var(--wf-font-size-xs);
12178
+ }
12179
+
12180
+ /* 空态(words 空/全零权重) */
12181
+ .wf-wordcloud-empty {
12182
+ display: flex;
12183
+ align-items: center;
12184
+ justify-content: center;
12185
+ min-height: 80px;
12186
+ padding: var(--wf-space-md);
12187
+ border: 1px dashed var(--wf-color-border);
12188
+ border-radius: var(--wf-radius);
12189
+ color: var(--wf-color-text-tertiary);
12190
+ font-family: var(--wf-font-sans);
12191
+ font-size: var(--wf-font-size-sm);
12192
+ }
12193
+
12125
12194
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weifuwu",
3
3
  "type": "module",
4
- "version": "0.90.0",
4
+ "version": "0.90.1",
5
5
  "description": "AI SaaS full-stack framework — backend HTTP + frontend VDOM + 129 components + CSS design system + SaaS foundation (auth/queue/AI). Zero-build, zero-dependency.",
6
6
  "exports": {
7
7
  ".": {
@@ -43,7 +43,7 @@
43
43
  "release:dry": "node scripts/release.mjs --dry-run",
44
44
  "test:client": "node --env-file=.env --test --test-concurrency=4 'src/test/contract/**/*.test.ts'",
45
45
  "test:server": "node --env-file=.env --test --experimental-test-module-mocks --test-concurrency=8 'src/server/**/*.test.ts'",
46
- "test:showcase": "node --env-file=.env --test --test-timeout=8000 apps/showcase/test/comp-*.test.ts",
46
+ "test:showcase": "node --env-file=.env --test --test-concurrency=6 --test-timeout=8000 apps/showcase/test/comp-*.test.ts",
47
47
  "test:scenario": "node --env-file=.env --test --test-timeout=8000 --test-concurrency=14 'src/test/scenario/e2e*.test.ts'",
48
48
  "test:components": "node --env-file=.env --test --test-timeout=8000 --test-concurrency=2 src/test/scenario/e2e-6.test.ts",
49
49
  "audit:semantics": "node scripts/audit-core-semantics.mjs",