tin-spa 20.8.2 → 20.11.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tin-spa",
3
- "version": "20.8.2",
3
+ "version": "20.11.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0",
@@ -647,6 +647,24 @@ th.mat-mdc-header-cell {
647
647
  align-items: center;
648
648
  }
649
649
 
650
+ /* Changed: Material gives every dialog-action button after the first a margin-left of 8px. On a wrapped row that
651
+ margin lands on the button that starts the new line, indenting it 8px past Submit. The gap above already spaces
652
+ them, so zero the margin and every row starts flush on the left. */
653
+ .mat-mdc-dialog-actions .mat-button-base + .mat-button-base,
654
+ .mat-mdc-dialog-actions .mat-mdc-button-base + .mat-mdc-button-base,
655
+ .mat-dialog-actions .mat-button-base + .mat-button-base {
656
+ margin-left: 0 !important;
657
+ margin-right: 0 !important;
658
+ }
659
+
660
+ /* Changed: Material's invisible 48px tap area (.mat-mdc-button-touch-target) is wider than the 40px/32px icon
661
+ buttons this app renders, so a button sitting flush against the right edge of a scroll container (e.g. a table's
662
+ refresh icon inside a tab) pushed 4px of nothing past the edge and summoned a phantom horizontal scrollbar.
663
+ Capping it at the button's own width keeps the tap area but lets scrollbars appear only for real content. */
664
+ .mat-mdc-button-touch-target {
665
+ max-width: 100%;
666
+ }
667
+
650
668
  /* Override for spa-groups chip icons - maintain larger size */
651
669
  spa-groups .chip-icon,
652
670
  spa-groups .chip-additional-icon {
@@ -663,3 +681,55 @@ spa-groups mat-chip .mat-icon {
663
681
  height: inherit !important;
664
682
 
665
683
  }
684
+
685
+ /* Read-only field styling: make readonly inputs look like Material disabled controls.
686
+ Applied via [class.spa-readonly] on mat-form-field in text/number/money/text-mask/
687
+ text-area/text-single/text-multi/email/date/datetime components, matching the
688
+ disabled look mat-select and mat-checkbox already get. Uses MDC disabled tokens. */
689
+ .mat-mdc-form-field.spa-readonly .mdc-text-field--filled {
690
+ background-color: rgba(0, 0, 0, 0.06); /* slightly darker than MDC's 0.04 so the disabled state is unmistakable */
691
+ }
692
+ .mat-mdc-form-field.spa-readonly .mdc-text-field--outlined .mdc-notched-outline__leading,
693
+ .mat-mdc-form-field.spa-readonly .mdc-text-field--outlined .mdc-notched-outline__notch,
694
+ .mat-mdc-form-field.spa-readonly .mdc-text-field--outlined .mdc-notched-outline__trailing {
695
+ border-color: rgba(0, 0, 0, 0.12) !important; /* faded outline like a disabled outlined field */
696
+ }
697
+ .mat-mdc-form-field.spa-readonly .mat-mdc-input-element,
698
+ .mat-mdc-form-field.spa-readonly textarea.mat-mdc-input-element {
699
+ color: rgba(0, 0, 0, 0.55) !important; /* dimmed value text — still legible but clearly not editable */
700
+ cursor: default;
701
+ }
702
+ .mat-mdc-form-field.spa-readonly .mat-mdc-floating-label,
703
+ .mat-mdc-form-field.spa-readonly .mdc-floating-label {
704
+ color: rgba(0, 0, 0, 0.38) !important; /* MDC disabled label color */
705
+ }
706
+ .mat-mdc-form-field.spa-readonly .mat-mdc-form-field-focus-overlay {
707
+ display: none; /* no hover/focus highlight — the field should not invite interaction */
708
+ }
709
+ .mat-mdc-form-field.spa-readonly .mdc-line-ripple::before,
710
+ .mat-mdc-form-field.spa-readonly .mdc-line-ripple::after {
711
+ border-bottom-style: dotted; /* dotted underline mirrors MDC's disabled filled-field underline */
712
+ border-bottom-color: rgba(0, 0, 0, 0.38) !important;
713
+ }
714
+ /* Dim prefix/suffix content (currency symbols, etc.) but keep info/copy icons usable */
715
+ .mat-mdc-form-field.spa-readonly .mat-mdc-form-field-text-prefix,
716
+ .mat-mdc-form-field.spa-readonly [matPrefix] {
717
+ color: rgba(0, 0, 0, 0.38);
718
+ }
719
+ /* Chip inputs (text-multi/email): gray out chips in readonly mode */
720
+ .mat-mdc-form-field.spa-readonly .mat-mdc-chip {
721
+ opacity: 0.65;
722
+ }
723
+ /* Rich-text editor: gray out the editing surface when readonly */
724
+ .spa-editor-wrap.spa-readonly .angular-editor-textarea {
725
+ background-color: rgba(0, 0, 0, 0.06) !important;
726
+ color: rgba(0, 0, 0, 0.55) !important;
727
+ cursor: default;
728
+ }
729
+ .spa-editor-wrap.spa-readonly .angular-editor-toolbar {
730
+ opacity: 0.5;
731
+ pointer-events: none; /* toolbar buttons are meaningless when the surface is not editable */
732
+ }
733
+ .spa-editor-wrap.spa-readonly .spa-editor-label label {
734
+ color: rgba(0, 0, 0, 0.38);
735
+ }