@nice2dev/ui-bi 1.1.6 → 1.1.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,106 @@
1
1
  # @nice2dev/ui-bi
2
2
 
3
+ ## 1.1.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 1.1.9 — themes reach the controls again, every control has a rendered demo, no breaking changes.
8
+
9
+ **Theming.** `NiceThemeProvider`, `applyTheme` and `NiceThemePreview` write the `--nice-*` tokens
10
+ again, so a theme recolours the controls and not only the app's own CSS — since 1.1.7 only
11
+ light/dark switched. The provider's scope wins over values set on `:root`, as it did before 1.1.7:
12
+ put a brand colour into the theme rather than on `<html>`. Alias tokens are computed in the theme
13
+ scope, not only on `:root`. About 1,600 places that used a text token as a background or border, or
14
+ a surface token as text colour, now use the token of the right role. `--nice-warning-light` and
15
+ `--nice-danger-light` are the light shade of the status colour, like `--nice-success-light`
16
+ (new: `--nice-color-warning-light`, `--nice-color-error-light`); backgrounds use `--nice-*-bg`.
17
+
18
+ **Styles that never shipped.** Six stylesheets in `@nice2dev/ui` were unreachable from its entry
19
+ point, so `NiceLiveDataGrid`, `NiceTaskInbox`, `NiceBPMNDesigner`, `NiceInstanceMonitor`,
20
+ `NiceIntegrationHub`, `NiceRulesEngine` and `NiceVideoEditor` rendered unstyled; eleven more
21
+ components had no stylesheet at all; `workflow.css` read its spacing scale as pixels; and
22
+ `NiceModuleGrid` was styled for a `<table>` it does not render.
23
+
24
+ **Language.** `useNiceTranslation()` returns `{ t, lang }` and dates are formatted in the interface
25
+ language rather than the browser's (`ui-presentations` adds `useNiceLang()`). `NiceInvoiceLineEditor`
26
+ takes its currency and units from the active language unless you pass them. `NiceAuditLog`,
27
+ `NiceRecordingPanel`, the four game-engine editors and `NiceTemplateEditor` are translated, the
28
+ game-engine dictionary is actually registered, and 136 ui-audio strings have English defaults
29
+ instead of rendering raw keys.
30
+
31
+ **Canvas and document colours.** Canvas never resolves `var()`: the QR and barcode generators drew a
32
+ black rectangle, the whiteboard lost its colours and light presets parsed to `NaN`. Data colours are
33
+ resolved first now. Colours stored in documents — slide templates, theme presets, brand kits,
34
+ exports — are literals, so a saved document looks the same in every theme.
35
+
36
+ **Fixes found by the new demos.** All 895 controls now have a rendered showcase demo, and roughly
37
+ every third new demo exposed a bug. `ui-platform`: the service worker re-registered on every
38
+ render, a screen permission prompt appeared on mount, reconnects and start-up tasks ran twice,
39
+ valid EAN-13 codes were rejected. `ui-ai`: `createProviderFromConfig` dropped the endpoint path —
40
+ OpenAI, Anthropic and Groq were called without `/v1` and Azure always threw — and the theme
41
+ generator failed on every request. `ui-communication`: the local participant appeared twice in a
42
+ conference and `activeConversationId` was ignored. `ui-buildings`: automation days were saved as
43
+ indices (both forms are read now), the row toggle changed the selected rule instead of the clicked
44
+ one, and floor-plan devices were drawn in the corner. `ui-mobile`: `NiceTouchTable` rendered invalid
45
+ table markup. `ui-diagrams`: arrowheads grew with the stroke width and transition clicks never fired.
46
+ `ui-3d`: opening a code editor before the 3D view broke the whole app. `ui-presentations`: the editor
47
+ clipped slides in columns narrower than 800 px.
48
+
49
+ **Additive API only.** `@nice2dev/ui-platform` now exports its hooks, provider aliases and Props / Ref
50
+ types. Nothing was renamed or removed.
51
+
52
+ ## 1.1.8
53
+
54
+ No changes in this release.
55
+
56
+ ## 1.1.7
57
+
58
+ ### Patch Changes
59
+
60
+ - Close the three items left open in the 1.1.6 response to OmniVerk.
61
+
62
+ **Every value control works without state in the parent.** The `audit-controllable-state` gate
63
+ counted 87 value props that were required with no `default*`, so the control could not render from a
64
+ manifest without data. It now reports 0 and gates CI at `--max=0`. 48 controls gained `default*` props
65
+ through `useControllableState` (existing `value` + handler call sites behave as before); 33 read-only
66
+ data lists are optional with a stable empty default; 4 props paired with a handler only by name are
67
+ optional; `NiceWhiteboard` and `NiceMetricsDashboard` render an empty state until a session or
68
+ dashboard arrives. Additive API only — nothing renamed or removed.
69
+
70
+ - `NicePivotGrid.fields`, `NiceScheduler.events` and `NiceGitHooks.hooks` are controlled only together
71
+ with their change handler, as `NiceScheduler` already documented for `currentDate`/`view`. A bare
72
+ prop stays an initial value; prop plus handler now always wins (later prop updates used to be
73
+ ignored). `NiceGitHooks.onHookChange` is now called; `onHooksChange` and
74
+ `NiceLocaleManager.onTranslationsChange` are new.
75
+ - `NiceCodeEditor` / `NiceCodeDiffEditor` no longer report a value written from the prop back through
76
+ `onChange`, and call the latest handler rather than the one captured at mount.
77
+ - `NiceHtmlEditor` no longer rewrites its content on every render (React 19 compares the
78
+ `dangerouslySetInnerHTML` object, not its string), which moved the caret; the HTML source and
79
+ Markdown views can be closed again.
80
+ - Selections seeded once from the first item (access manager, automation/scene editors, git diff
81
+ viewer, ribbon, setup wizard) follow data that arrives after mount.
82
+ - `useControllableState`: new `fallbackValue` seed that never triggers the value/default clash warning;
83
+ two functional updates in one tick no longer lose the first; `onChange` is called with one argument
84
+ when there is no meta. `UseControllableStateOptions` is now a union type alias.
85
+
86
+ **`--nice-*` is the source of truth for design tokens.** Controls read only `--nice-*` (9,225 reads in
87
+ 339 files). The unprefixed names (`--color-primary`, `--bg-primary`, `--text-muted`, …) stay declared
88
+ as aliases pointing at the Nice tokens, so reading them works, but setting them no longer repaints Nice
89
+ controls. Apps that relied on that can import `@nice2dev/ui/css/legacy-bg-text-aliases.css` after
90
+ `style.css` (removed in 1.2), or set `--nice-color-primary` and friends directly. 13 tokens that were
91
+ read and never declared (`--color-danger`, `--text-on-primary`, `--color-white`, …) are defined; the
92
+ dark blocks define the canonical names, so `.nice-dark` on `<body>` no longer leaves them on light
93
+ values; `--nice-primary-bg` and `--nice-selected-bg` are a primary tint instead of falling through to
94
+ grey. New gate `audit-token-names`.
95
+
96
+ **Node ESM and `require()`.** `@nice2dev/spatial-core` imports from plain Node ESM (51 relative
97
+ specifiers gained extensions, enforced by `nodenext`), and so does `@nice2dev/ui-buildings`, which
98
+ failed through it. `require()` works for `ui-3d`, `ui-graphics` and `game-engine`. The package-exports
99
+ gate now loads every entry in both module systems.
100
+
101
+ **Hygiene.** Sources are prettier-formatted and CI gates on it; 640 stale `.d.ts` files were removed
102
+ from source trees (never published).
103
+
3
104
  ## 1.1.6
4
105
 
5
106
  No changes in this release.
package/README.md CHANGED
@@ -1,28 +1,24 @@
1
1
  # @nice2dev/ui-bi
2
2
 
3
- Nice2Dev Business Intelligence — Report builder, dashboard studio, and ETL pipeline builder for React applications.
3
+ Nice2Dev Business Intelligence — a visual ETL pipeline builder and the shared BI data model
4
+ (data sources, reports, dashboards, ETL pipelines, OLAP cubes) for React applications.
4
5
 
5
6
  ## Features
6
7
 
7
- - **NiceReportBuilder** - Drag-drop report designer
8
+ - **NiceETLBuilder** — visual ETL pipeline builder
8
9
  - Data source connections
9
- - Calculated fields
10
- - Grouping and aggregation
11
- - Conditional formatting
12
- - Drill-down support
13
- - PDF/Excel/CSV export
14
-
15
- - **NiceDashboardStudio** - Dashboard canvas
16
- - Widget library (charts, tables, KPIs, gauges, maps)
17
- - Real-time updates
18
- - Interactive filtering
19
- - Sharing and embedding
20
-
21
- - **NiceETLBuilder** - Visual ETL pipeline builder
22
- - Data source connectors
23
- - Transformation library (filter, map, aggregate, join, etc.)
10
+ - Transformation library: filter, map, aggregate, join, union, sort, deduplicate, pivot,
11
+ unpivot, split, merge, lookup, derive, validate, cleanse, custom
24
12
  - Scheduling
25
13
  - Run history and monitoring
14
+ - **Types** for data sources and schemas, reports, dashboards and widgets, ETL pipelines
15
+ and OLAP cubes (`DataSource`, `Report`, `Dashboard`, `ETLPipeline`, `Cube`, …), shared by
16
+ hosts that store or exchange BI definitions.
17
+
18
+ > The report builder and dashboard studio that used to live here (`NiceReportBuilder`,
19
+ > `NiceDashboardStudio`) were removed in 1.0.23. Use **`NiceViewEditor`** with
20
+ > **`NiceViewDefinition`** from `@nice2dev/ui` instead. `@nice2dev/ui` also has its own,
21
+ > unrelated `NiceReportBuilder`.
26
22
 
27
23
  ## Installation
28
24
 
@@ -34,42 +30,6 @@ pnpm add @nice2dev/ui-bi
34
30
 
35
31
  ## Usage
36
32
 
37
- ### Report Builder
38
-
39
- ```tsx
40
- import { NiceReportBuilder } from '@nice2dev/ui-bi';
41
- import '@nice2dev/ui-bi/style.css';
42
-
43
- function App() {
44
- return (
45
- <NiceReportBuilder
46
- dataSources={[{ id: '1', name: 'Sales DB', type: 'database', config: {} }]}
47
- onPreview={(report) => console.log('Preview:', report)}
48
- onExport={(report, format) => exportReport(report, format)}
49
- />
50
- );
51
- }
52
- ```
53
-
54
- ### Dashboard Studio
55
-
56
- ```tsx
57
- import { NiceDashboardStudio } from '@nice2dev/ui-bi';
58
- import '@nice2dev/ui-bi/style.css';
59
-
60
- function App() {
61
- return (
62
- <NiceDashboardStudio
63
- dataSources={dataSources}
64
- onChange={(dashboard) => saveDashboard(dashboard)}
65
- onRefresh={() => refreshData()}
66
- />
67
- );
68
- }
69
- ```
70
-
71
- ### ETL Builder
72
-
73
33
  ```tsx
74
34
  import { NiceETLBuilder } from '@nice2dev/ui-bi';
75
35
  import '@nice2dev/ui-bi/style.css';