Its drop zone is a <button>, so the library's global button rules
squashed it to the button height and dropped its dashed border. It is
left out of them, like Material's own buttons.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its two inputs are not .mat-mdc-input-element, so the rule that fills
the 48px box missed them and they sat at the top of the field.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The three functions it used (isEqual, some with an object as criterion
and capitalize) live in util/common/compare.ts with the same behaviour,
so apps no longer pull a CommonJS library that Node's ESM loader cannot
resolve by path. TaskStream's initial bundle goes down to 1.88 MB.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lodash declares no exports, so `lodash/isEqual` resolves in a bundler but
not in Node's ESM loader: in 0.0.3 apps could not load @pi/ui in tests or
when rendering on the server.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It is where 0.0.2 lives and where apps install it from; npm-private
asked for credentials no one had.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An empty matPrefix container still made Material reserve room for an
icon, pulling the text 12px left of every other field. The prefix is
only rendered when a pi-prefix is projected.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each chart registers what it needs when it is built instead of on
import, and lodash is imported one function at a time. In TaskStream
the initial bundle drops from 2.13 MB to 1.90 MB.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>