@keyfunc/keybricks-ds 2.5.0 → 2.5.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.
Files changed (60) hide show
  1. package/DEPLOY.md +3 -3
  2. package/INTEGRATION.md +12 -1
  3. package/_adherence.oxlintrc.json +10 -4
  4. package/_ds_bundle.js +20559 -0
  5. package/_src/icon-index.js +1 -0
  6. package/_src/unicons-index.js +1 -0
  7. package/_src/usage-code.js +737 -0
  8. package/changelog.js +7 -0
  9. package/components/charts/BarList.jsx +1 -1
  10. package/components/charts/BarList.vue +8 -3
  11. package/components/charts/Ribbon3D.d.ts +2 -0
  12. package/components/charts/Scatter3D.d.ts +4 -0
  13. package/components/charts/SunburstChart.jsx +6 -1
  14. package/components/charts/SunburstChart.vue +7 -1
  15. package/components/charts/Surface3D.d.ts +2 -0
  16. package/components/charts/WorldMap.jsx +6 -1
  17. package/components/charts/WorldMap.vue +7 -1
  18. package/components/data/Table.jsx +1 -1
  19. package/components/data/Table.vue +1 -1
  20. package/components/display/ProgressBar.jsx +1 -1
  21. package/components/display/ProgressBar.vue +1 -1
  22. package/components/feedback/Accordion.jsx +1 -1
  23. package/components/feedback/Accordion.vue +1 -1
  24. package/components/feedback/ContextMenu.jsx +3 -3
  25. package/components/feedback/ContextMenu.vue +4 -4
  26. package/components/feedback/Drawer.jsx +3 -3
  27. package/components/feedback/Drawer.vue +3 -3
  28. package/components/forms/Checkbox.d.ts +2 -0
  29. package/components/forms/Checkbox.jsx +9 -4
  30. package/components/forms/Checkbox.vue +6 -2
  31. package/components/forms/DatePicker.jsx +3 -1
  32. package/components/forms/DatePicker.vue +2 -1
  33. package/components/forms/Dropzone.jsx +1 -1
  34. package/components/forms/Dropzone.vue +1 -1
  35. package/components/forms/MultiSelect.jsx +5 -3
  36. package/components/forms/MultiSelect.vue +4 -3
  37. package/components/forms/Slider.jsx +1 -1
  38. package/components/forms/Slider.vue +1 -1
  39. package/components/forms/Switch.jsx +4 -4
  40. package/components/forms/Switch.vue +4 -4
  41. package/components/navigation/Sidebar.jsx +2 -2
  42. package/components/navigation/Sidebar.vue +2 -2
  43. package/components/navigation/TopBar.jsx +1 -1
  44. package/components/navigation/TopBar.vue +1 -1
  45. package/components/navigation/Tree.jsx +2 -2
  46. package/components/navigation/Tree.vue +8 -5
  47. package/components/pipeline/DataPreview.jsx +1 -1
  48. package/components/pipeline/DataPreview.vue +1 -1
  49. package/components/pipeline/NodeCard.jsx +1 -1
  50. package/components/pipeline/NodeCard.vue +1 -1
  51. package/components/pipeline/PaletteItem.vue +1 -1
  52. package/components/pipeline/PalettePanel.jsx +3 -3
  53. package/components/pipeline/PalettePanel.vue +2 -2
  54. package/components/tabs/SegmentedControl.jsx +2 -2
  55. package/components/tabs/SegmentedControl.vue +2 -2
  56. package/index.html +1 -1
  57. package/package.json +4 -2
  58. package/tokens/dark.css +1 -1
  59. package/tokens/interaction.css +4 -0
  60. package/tokens/layout.css +3 -0
package/DEPLOY.md CHANGED
@@ -55,7 +55,7 @@ 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.5.0 && git push --tags
58
+ git tag v2.5.1 && git push --tags
59
59
  ```
60
60
 
61
61
  That tag runs `generated:check` → `version:check` → `npm publish`. Confirm under *Deploy →
@@ -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.5.0"
190
+ "@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.5.1"
191
191
  ```
192
192
 
193
193
  Because the package has no build step, a git dependency needs no `prepare` script — npm
@@ -237,7 +237,7 @@ semantic layer. That is what makes dark mode cost nothing.
237
237
  ## Runtime checks
238
238
 
239
239
  `_tests/` holds browser pages that exercise the real components: `react-runtime.html` (the compiled
240
- bundle), `table-selection.html` (Table loaded from source: checkbox spacing at every width, code chips, two-line rows, sorting), `listrow.html` (ListRow static vs clickable rows, keyboard, alignment — React and Vue), `vue-table-cells.html` (Vue Table #cell-<key> slots and VNode renders), `menu-react.html` / `menu-vue.html` (Menu / ContextMenu coloured icons, item descriptions, side by alignment and flip), `addrow-react.html` / `addrow-vue.html` (the SmartTable add row in both frameworks, from source: colour, weight, hover hooks, keyboard, `stickyAddRow`), `smart-table-density.html` (SmartTable from source: default / compact rows, the Row height menu, controlled density), `relative-time-picker.html` (RelativeTimePicker from source: helpers, tiers, dialog, keyboard), `tree-reorder.html` (Tree from source: insert-between on leaves and folder edges, self/subtree rejection), `vue-runtime.html` (the `.vue` files, loaded with vue3-sfc-loader), `cards-interaction*.html`
240
+ bundle), `table-selection.html` (Table loaded from source: checkbox spacing at every width, code chips, two-line rows, sorting), `keyboard.html` (keyboard reach: Checkbox, MultiSelect, DatePicker, Accordion, Tree checkboxes, Dropzone, NodeCard, PalettePanel, BarList — React and Vue), `listrow.html` (ListRow static vs clickable rows, keyboard, alignment — React and Vue), `vue-table-cells.html` (Vue Table #cell-<key> slots and VNode renders), `menu-react.html` / `menu-vue.html` (Menu / ContextMenu coloured icons, item descriptions, side by alignment and flip), `addrow-react.html` / `addrow-vue.html` (the SmartTable add row in both frameworks, from source: colour, weight, hover hooks, keyboard, `stickyAddRow`), `smart-table-density.html` (SmartTable from source: default / compact rows, the Row height menu, controlled density), `relative-time-picker.html` (RelativeTimePicker from source: helpers, tiers, dialog, keyboard), `tree-reorder.html` (Tree from source: insert-between on leaves and folder edges, self/subtree rejection), `vue-runtime.html` (the `.vue` files, loaded with vue3-sfc-loader), `cards-interaction*.html`
241
241
  (clicks through the documentation demos) and `icon-rules.html` (the Keybricks glyphs against the drawing rules). Serve the repo root (`npx serve .`), open a page and read the
242
242
  console — every line starts with PASS or FAIL. Run them after changing a component in either framework.
243
243
  `measure-cards.html` is a tool, not a test: it measures each documentation page at its card width so the
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.5.0"
34
+ "@keyfunc/keybricks-ds": "git+ssh://git@gitlab.epm2demo.cn/Felix/keybricks-ds.git#v2.5.1"
35
35
  ```
36
36
 
37
37
  **Source-only package.** `.jsx` and `.vue` files are published as authored, so your
@@ -522,6 +522,17 @@ Pin a minor range and update deliberately:
522
522
  - **Tokens outside CSS.** `tokens.json` / `tokens.js` / `tokens.d.ts` gained the tier tokens
523
523
  (`--control-*`, `--bar-h`, `--group-gap`, …) — 352 light tokens in all (2.0.2 adds `--danger-soft-hover`).
524
524
 
525
+ ### 2.5.1
526
+
527
+ Fixes only — no API removed.
528
+
529
+ - **Keyboard:** `Checkbox` (Space; `role="checkbox"`, `aria-checked` incl. "mixed"; new `tabIndex` — pass -1 inside a row that owns focus), `DatePicker` / `MultiSelect` (field is a combobox: Enter / Space / ArrowDown open, Escape closes; options toggle with Enter / Space), `Accordion`, `Dropzone`, `NodeCard`, `PalettePanel`, `BarList` rows with `onSelect`. `SunburstChart` and `WorldMap` are one Tab stop: arrow keys walk segments / regions, Enter acts, Escape clears.
530
+ - **Vue parity:** `Tree` emits `context-menu(key, event)`; `BarList` emits `select(row)`.
531
+ - **Long text:** field boxes (Select, Combobox, DatePicker, MultiSelect) keep one line and truncate; menus cap at 320px and truncate items; `SegmentedControl` truncates a squeezed segment; `Tree`, Sidebar brand and TopBar user name truncate; `Drawer` titles wrap.
532
+ - **Tokens:** motion uses `--dur-*` / `--ease-out` everywhere; new shadows `--shadow-raised`, `--shadow-thumb`, `--shadow-drawer` (deeper in dark mode).
533
+ - Docs: `Ribbon3D`, `Scatter3D`, `Surface3D` props completed.
534
+ - **The documentation pages now open from the package.** `_ds_bundle.js` (the compiled copy the pages run on) and `_src/` (the Show code generator, icon search indexes) ship too, so `node_modules/@keyfunc/keybricks-ds/index.html` works offline. Apps still import from `@keyfunc/keybricks-ds` / `/vue` — nothing imports the bundle.
535
+
525
536
  ### 2.5.0
526
537
 
527
538
  - **Show code under every example.** Each example on the documentation site has a Show code bar with the React and Vue 3 code that builds it — imports from `@keyfunc/keybricks-ds` / `@keyfunc/keybricks-ds/vue`, ready to paste. The label follows the site language. The site no longer shows components' own source (it ships in the package).
@@ -153,8 +153,8 @@
153
153
  "message": "<LegendItem> doesn't accept that prop. Declared props: label, color."
154
154
  },
155
155
  {
156
- "selector": "JSXOpeningElement[name.name='Checkbox'] > JSXAttribute > JSXIdentifier[name!=/^(?:checked|indeterminate|onChange|label|size|disabled|style|key|ref|className|style|children)$/]",
157
- "message": "<Checkbox> doesn't accept that prop. Declared props: checked, indeterminate, onChange, label, size, disabled, style."
156
+ "selector": "JSXOpeningElement[name.name='Checkbox'] > JSXAttribute > JSXIdentifier[name!=/^(?:checked|indeterminate|onChange|label|size|disabled|tabIndex|style|key|ref|className|style|children)$/]",
157
+ "message": "<Checkbox> doesn't accept that prop. Declared props: checked, indeterminate, onChange, label, size, disabled, tabIndex, style."
158
158
  },
159
159
  {
160
160
  "selector": "JSXOpeningElement[name.name='Checkbox'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md|lg)$/]",
@@ -521,8 +521,8 @@
521
521
  "message": "<SunburstNode> doesn't accept that prop. Declared props: label, value, children."
522
522
  },
523
523
  {
524
- "selector": "JSXOpeningElement[name.name='Surface3D'] > JSXAttribute > JSXIdentifier[name!=/^(?:values|width|height|yaw|pitch|zScale|wire|interactive|valueFormat|style|key|ref|className|style|children)$/]",
525
- "message": "<Surface3D> doesn't accept that prop. Declared props: values, width, height, yaw, pitch, zScale, wire, interactive, valueFormat, style."
524
+ "selector": "JSXOpeningElement[name.name='Surface3D'] > JSXAttribute > JSXIdentifier[name!=/^(?:values|width|height|yaw|pitch|zScale|wire|interactive|valueFormat|xLabel|yLabel|style|key|ref|className|style|children)$/]",
525
+ "message": "<Surface3D> doesn't accept that prop. Declared props: values, width, height, yaw, pitch, zScale, wire, interactive, valueFormat, xLabel, yLabel, style."
526
526
  },
527
527
  {
528
528
  "selector": "JSXOpeningElement[name.name='Switch'] > JSXAttribute > JSXIdentifier[name!=/^(?:checked|onChange|disabled|size|tone|onColor|offColor|knobIcon|knobText|insideOn|insideOff|inlinePrompt|label|labelOn|labelOff|loading|beforeChange|style|key|ref|className|style|children)$/]",
@@ -1172,10 +1172,13 @@
1172
1172
  "--series-7",
1173
1173
  "--series-8",
1174
1174
  "--series-9",
1175
+ "--shadow-drawer",
1175
1176
  "--shadow-menu",
1176
1177
  "--shadow-modal",
1177
1178
  "--shadow-node",
1179
+ "--shadow-raised",
1178
1180
  "--shadow-selected",
1181
+ "--shadow-thumb",
1179
1182
  "--sidebar-w",
1180
1183
  "--skeleton",
1181
1184
  "--soft-active",
@@ -1543,6 +1546,9 @@
1543
1546
  "--shadow-selected": "shadow",
1544
1547
  "--shadow-menu": "shadow",
1545
1548
  "--shadow-modal": "shadow",
1549
+ "--shadow-raised": "shadow",
1550
+ "--shadow-thumb": "shadow",
1551
+ "--shadow-drawer": "shadow",
1546
1552
  "--ring-surface": "color",
1547
1553
  "--ring-focus": "color",
1548
1554
  "--sidebar-w": "spacing",