Its box was filled with white, which glared in dark mode. It takes
--pi-theme-field-surface now, white when a theme leaves it out.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its border was grey-100, 1.2:1 against white, so empty boxes all but
vanished in lists. It is grey-400 now (about 3.5:1, over the 3:1 WCAG
asks of controls), through --pi-theme-checkbox-border-color.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>