@keyfunc/keybricks-ds 2.7.0 → 2.8.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/DEPLOY.md +3 -3
- package/DESIGN.md +8 -1
- package/INTEGRATION.md +18 -2
- package/_adherence.oxlintrc.json +0 -1
- package/_ds_bundle.js +293 -307
- package/{components/feedback → _vue-services}/MESSAGE_SERVICES.md +2 -2
- package/_vue-services/_internal/MessageBoxView.vue +150 -0
- package/{components/feedback → _vue-services}/_internal/service-utils.js +0 -12
- package/_vue-services/message.js +87 -0
- package/changelog.js +10 -1
- package/components/_cards/modal.card.html +8 -2
- package/components/_cards/table.card.html +10 -1
- package/components/_cards/toast.card.html +11 -1
- package/components/_cards/tree.card.html +22 -1
- package/components/data/Table.d.ts +5 -0
- package/components/data/Table.jsx +10 -5
- package/components/data/Table.vue +9 -3
- package/components/data/data.prompt.md +2 -0
- package/components/data/row-open.js +13 -0
- package/components/feedback/Modal.d.ts +58 -7
- package/components/feedback/Modal.jsx +46 -16
- package/components/feedback/Modal.vue +24 -6
- package/components/feedback/Toast.vue +3 -3
- package/components/feedback/ToastStack.vue +37 -4
- package/components/feedback/feedback.prompt.md +5 -1
- package/components/feedback/modal-behavior.js +50 -0
- package/components/navigation/Tree.d.ts +5 -1
- package/components/navigation/Tree.jsx +9 -7
- package/components/navigation/Tree.vue +7 -6
- package/components/navigation/navigation.prompt.md +2 -0
- package/index.html +3 -3
- package/package.json +6 -5
- package/site-nav.js +1 -1
- package/tokens/tokens.json +1 -1
- package/components/feedback/_internal/MessageBoxView.vue +0 -237
- package/components/feedback/_internal/MessageView.vue +0 -73
- package/components/feedback/message.js +0 -68
- /package/{components/feedback → _vue-services}/message-box.d.ts +0 -0
- /package/{components/feedback → _vue-services}/message-box.js +0 -0
- /package/{components/feedback → _vue-services}/message.d.ts +0 -0
package/DEPLOY.md
CHANGED
|
@@ -55,11 +55,11 @@ deploys the documentation site. Watch it under *Build → Pipelines*.
|
|
|
55
55
|
**5. Cut the first release.**
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
git tag v2.
|
|
58
|
+
git tag v2.8.0 && git push --tags
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
That tag runs `generated:check` → `version:check` → `npm publish`. Confirm under *Deploy →
|
|
62
|
-
Package Registry*: `@keyfunc/keybricks-ds` 2.
|
|
62
|
+
Package Registry*: `@keyfunc/keybricks-ds` 2.8.0.
|
|
63
63
|
|
|
64
64
|
**6. Hand developers two things:** the Pages URL, and the `.npmrc` snippet in §4 below.
|
|
65
65
|
|
|
@@ -187,7 +187,7 @@ GitLab injects `CI_JOB_TOKEN` — use that instead and no secret is stored anywh
|
|
|
187
187
|
**Install — straight from git** (no registry, no publish; works today)
|
|
188
188
|
|
|
189
189
|
```json
|
|
190
|
-
"@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.
|
|
190
|
+
"@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.8.0"
|
|
191
191
|
```
|
|
192
192
|
|
|
193
193
|
Because the package has no build step, a git dependency needs no `prepare` script — npm
|
package/DESIGN.md
CHANGED
|
@@ -164,6 +164,13 @@ with a hairline ring), `flush` (white rail), `contrast` (rail scoped to the dark
|
|
|
164
164
|
`Button variant="ai"` hand the question to the Prophet AI panel) and, on the right, notifications, help and the user trigger, which opens `UserMenu` (identity,
|
|
165
165
|
appearance switch, rows).
|
|
166
166
|
|
|
167
|
+
### One component per job — team rule
|
|
168
|
+
|
|
169
|
+
Notices are `Toast` / `ToastStack`; dialogs are `Modal`. Vue code that opens them from a function call uses `Message` / `MessageBox`
|
|
170
|
+
(`_vue-services/`), which render with those same components — never a copy of their styles. Before building a new component,
|
|
171
|
+
check the component list; build one only when nothing fits, and please check with Felix first. Placement: `ToastStack` defaults to
|
|
172
|
+
bottom-right inside a page; app-wide messages from `Message` sit top-center.
|
|
173
|
+
|
|
167
174
|
### Global Search field — a sanctioned exception
|
|
168
175
|
|
|
169
176
|
The collapsed `GlobalSearch` field uses `SearchInput`'s box at rest (`--bg-surface`, 1px `--border-control`, `--radius-md`, muted
|
|
@@ -372,7 +379,7 @@ section title and 32px ghost buttons share it comfortably.
|
|
|
372
379
|
|
|
373
380
|
**Chrome** (fixed, not tiered): `--sidebar-w` 240 · `--rail-w` 64 · `--topbar-h` 56 ·
|
|
374
381
|
`--panel-w` 400 · `--drawer-h` 250 · `--h-nav-item` 36 · `--h-subnav-item` 32 ·
|
|
375
|
-
`--h-tree-item` 32.
|
|
382
|
+
`--h-tree-item` 32 (DocTree; `Tree` follows the size tier — `--control-h`, sm 28 · md 32 · lg 40).
|
|
376
383
|
|
|
377
384
|
**Page rhythm**: `--page-pad-y` 24px · `--page-pad-x` 32px · `--section-gap` 24px ·
|
|
378
385
|
`--card-pad` 21px (`--card-pad-sm` 17px for dense cards). Gaps inside a bar come from the tier:
|
package/INTEGRATION.md
CHANGED
|
@@ -31,7 +31,7 @@ Not using a registry yet? A git dependency works with no publishing at all — t
|
|
|
31
31
|
has no build step, so npm can use the checkout as-is:
|
|
32
32
|
|
|
33
33
|
```json
|
|
34
|
-
"@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.
|
|
34
|
+
"@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.8.0"
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
**Source-only package.** `.jsx` and `.vue` files are published as authored, so your
|
|
@@ -523,6 +523,22 @@ Pin a minor range and update deliberately:
|
|
|
523
523
|
- **Tokens outside CSS.** `tokens.json` / `tokens.js` / `tokens.d.ts` gained the tier tokens
|
|
524
524
|
(`--control-*`, `--bar-h`, `--group-gap`, …) — 352 light tokens in all (2.0.2 adds `--danger-soft-hover`).
|
|
525
525
|
|
|
526
|
+
### 2.8.0
|
|
527
|
+
|
|
528
|
+
No API removed.
|
|
529
|
+
|
|
530
|
+
> **Team rule — read before adding UI.** Notices and dialogs use `Toast` / `ToastStack` and `Modal`; in Vue, call them through `Message` / `MessageBox`, which render with exactly those components. Before building any new component, look for one in the component list (this file's index and the documentation site). Build a new one only when nothing there fits — please check with Felix first. Copying a component's look into a new file is not allowed: every look lives in one component.
|
|
531
|
+
|
|
532
|
+
- **`Modal`** — always: focus moves in (`[data-autofocus]` first), Tab stays inside, Esc closes the topmost dialog, the page behind stops scrolling, focus returns on close. New optional props: `closeOnEsc`, `closeOnScrim`, `showClose`, `lockScroll`, `scrim`, `autoFocus` (all default `true`), `alert` (`role="alertdialog"`), `zIndex`, `closeLabel`. `onClose(reason)` / Vue `@close(reason)` gets `"close" | "esc" | "scrim"`. React `title` takes any node; Vue adds a `#title` slot.
|
|
533
|
+
- **`ToastStack`** — `placement` (`"bottom-right"` default · `"top-center"` · `"top-right"` · `"bottom-center"`), `offset`, `duration` (auto-dismiss, paused on hover / focus; per-item override), `zIndex`. Items gain `content`, `icon`, `count` (`× n`, restarts the timer), `dismissible`, `closeLabel`, `className` / `class`, `style`. `onDismiss(id, "close" | "timeout")`.
|
|
534
|
+
- **`Toast`** — `count` prop; `role="status"` (danger / warning: `role="alert"`).
|
|
535
|
+
- **Vue `Message` / `MessageBox`** now render with `ToastStack placement="top-center"` + `Toast`, and `Modal` + `Button` + `Input` / `Textarea`. Their own dialog styles and `MessageView.vue` are gone. Message stacks 8px apart (was 16).
|
|
536
|
+
|
|
537
|
+
- **`Table rowOpen`** — `"title"` (default, as before) | `"row"`. With `"row"` and `onRowOpen` (Vue `@row-open`), a click anywhere on a body row calls `onRowOpen(row, index, event)` and the row shows the hand cursor. Not on buttons (⋯, tree arrow), checkboxes, inputs, links, menus, the header, resize handles, or a click that ends a text selection. The twoLine tile and title open once, never twice. Tree folders: decide in `onRowOpen` whether to expand or enter.
|
|
538
|
+
- **`Tree` follows the size tier** of its region: row `--control-h` (sm 28 · md 32 · lg 40), text `--control-text` / `--control-leading` / `--control-tracking`, glyph `--control-icon` − 1px. md is pixel-identical to before; `--h-tree-item` is no longer read by Tree.
|
|
539
|
+
- **Vue `Message` / `MessageBox` source moved** from `components/feedback/` to `_vue-services/` (Vue-only services kept apart from the React + Vue components). Imports are unchanged: `@keyfunc/keybricks-ds/vue/message` and `/vue/message-box`. If you imported the files by path, update it.
|
|
540
|
+
- **`Tree` node `icon: false`** — no glyph and no gap on that row, even with `showIcon` on (e.g. a "Documents" root).
|
|
541
|
+
|
|
526
542
|
### 2.7.0
|
|
527
543
|
|
|
528
544
|
No API removed. Vue merges the 2.6.0 Button / Toast work above; React gets the same props.
|
|
@@ -541,7 +557,7 @@ No API removed. Vue merges the 2.6.0 Button / Toast work above; React gets the s
|
|
|
541
557
|
- Vue Button 支持原生点击事件、组件 / VNode 图标、图标及加载插槽、独立尾部图标、后备文本和原生按钮类型;旧 actnplanBtn 的适配方式见 [按钮适配说明](components/buttons/BUTTON_MIGRATION.md)。Vue 专用声明位于 `Button.vue.d.ts`,React 接口保持原样。
|
|
542
558
|
- Vue 新增 `@keyfunc/keybricks-ds/vue/message` 和 `@keyfunc/keybricks-ds/vue/message-box` 命令式服务入口;提供消息堆叠与分组,以及 alert / confirm / prompt、输入校验、关闭拦截、应用上下文和可配置默认文案。
|
|
543
559
|
- 复用现有 DS 控件,补充 Toast 默认内容、图标插槽及可配置关闭按钮标签。
|
|
544
|
-
- 与 Element Plus 的 API 对照、接入示例和兼容边界见 [消息服务迁移说明](
|
|
560
|
+
- 与 Element Plus 的 API 对照、接入示例和兼容边界见 [消息服务迁移说明](_vue-services/MESSAGE_SERVICES.md)。不承诺所有 Element Plus 功能及样式完全兼容。
|
|
545
561
|
- 本次仅修改源码及发布元数据;未执行测试、类型检查、构建、生成脚本或浏览器验证,发布前需同步生成产物中的版本元数据。
|
|
546
562
|
|
|
547
563
|
|