@integritymarketing/ic-ui-connect
v0.1.7
Published
IntegrityCONNECT and IntegrityCONNECT+ environment entry point. Re-exports @integritymarketing/ic-ui-core in full and adds only what is provably specific to this environment. Deliberately thin — see README.md for the graduation rule.
Readme
@integritymarketing/ic-ui-connect
The IntegrityCONNECT and IntegrityCONNECT+ environment entry point.
pnpm add @integritymarketing/ic-ui-connect @mui/material @emotion/react @emotion/styledimport { ThemeProvider, CssBaseline } from '@mui/material';
import { theme } from '@integritymarketing/ic-ui-connect/theme';
import { IcButton } from '@integritymarketing/ic-ui-connect';Connect and Connect+ are one deployed environment. The difference between the
two tiers is entitlement, expressed as feature flags and props at runtime — not
a second package, and never a second branch. If you find yourself wanting
ui-connect-plus, what you actually want is a prop.
This package is deliberately almost empty
src/index.ts re-exports @integritymarketing/ic-ui-core in full and adds
nothing. src/theme.ts re-exports the base theme unchanged. That is the
intended steady state, not an unfinished job.
It exists so that an approved, environment-specific difference has an obvious
and reviewable home the day one actually arrives — rather than showing up as a
fork of ui-core, or as a long-lived connect branch that quietly drifts from
main.
What may go in theme.ts
- a component default override
- a density change
- a feature-gated surface
What may not
A colour value. A hex literal in this package is a lint error. If this
environment needs a colour the palette does not have, the palette is what
changes — which is the whole point of a shared token layer, and the reason the
proposal's per-tier tokens-plus / tokens-pro packages were dropped.
Graduating a component out of ui-core
Only when all three hold:
- the component is genuinely meaningless in
ui-pro— not merely unused there yet - no combination of props or feature flags expresses the difference
- the Design System Council has agreed to the split
"Only this environment uses it today" is not a reason. It is a reason to
leave it in ui-core, where the other environment can adopt it later without a
migration. See
docs/governance/branching-and-releases.md.
