ecabs-components 2.0.0-alpha.8 → 2.0.0-alpha.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.
Files changed (39) hide show
  1. package/README.md +30 -6
  2. package/fesm2022/ecabs-components.mjs +549 -289
  3. package/fesm2022/ecabs-components.mjs.map +1 -1
  4. package/lib/base/consts/badge.consts.d.ts +1 -0
  5. package/lib/base/directives/action-menu-trigger.directive.d.ts +8 -0
  6. package/lib/base/directives/badge.directive.d.ts +26 -0
  7. package/lib/base/directives/badge.directive.module.d.ts +8 -0
  8. package/lib/base/directives/tooltip-if-truncated.directive.module.d.ts +2 -1
  9. package/lib/base/models/action-menu.models.d.ts +13 -0
  10. package/lib/ecabs-action-menu/ecabs-action-menu.component.d.ts +26 -0
  11. package/lib/ecabs-action-menu/ecabs-action-menu.module.d.ts +13 -0
  12. package/lib/ecabs-badge/ecabs-badge.component.d.ts +2 -3
  13. package/lib/ecabs-badge/ecabs-badge.module.d.ts +5 -4
  14. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +3 -2
  15. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +3 -3
  16. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -0
  17. package/package.json +1 -1
  18. package/public-api.d.ts +6 -0
  19. package/src/assets/images/nothing-here.svg +22 -22
  20. package/src/assets/images/promotions.svg +3 -3
  21. package/src/assets/styles/material/overrides/_badge.scss +109 -0
  22. package/src/assets/styles/material/overrides/_expansion.scss +43 -1
  23. package/src/assets/styles/material/overrides/_menu.scss +51 -2
  24. package/src/assets/styles/material/overrides/_phone.scss +6 -6
  25. package/src/assets/styles/material/overrides/_select.scss +2 -4
  26. package/src/assets/styles/material/overrides/_toolbar.scss +3 -3
  27. package/src/assets/styles/scss/modules/_badge.scss +25 -8
  28. package/src/assets/styles/scss/modules/_button.scss +1 -0
  29. package/src/assets/styles/scss/modules/_divider.scss +4 -4
  30. package/src/assets/styles/scss/modules/_img.scss +32 -32
  31. package/src/assets/styles/scss/modules/_menu.scss +52 -0
  32. package/src/assets/styles/scss/modules/_percentage.scss +41 -41
  33. package/src/assets/styles/scss/modules/_phone.scss +1 -4
  34. package/src/assets/styles/scss/modules/_statuses.scss +36 -36
  35. package/src/assets/styles/scss/modules/_toaster.scss +53 -53
  36. package/src/assets/styles/scss/modules/index.scss +1 -0
  37. package/src/assets/styles/scss/utilities/_fonts.scss +31 -31
  38. package/src/assets/styles/scss/utilities/_helpers.scss +14 -14
  39. package/src/assets/styles/tailwind/index.scss +1 -1
package/README.md CHANGED
@@ -25,13 +25,10 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
25
25
 
26
26
  ## Version History
27
27
 
28
+ - **v2.0.0-alpha.9**: Sync v1.1.92–v1.1.95 from `develop`: `ecabs-action-menu`, the `ecabsBadge` directive for menu-opening badges, `collapsible` on `ecabs-expansion-panel`, and faded, locked disabled `ecabs-phone`/`ecabs-select`/`ecabs-select-v2`. See those entries below for behaviour.
29
+ - On this line `ecabs-action-menu`, `ecabsBadge` and `ecabsActionMenuTrigger` are NgModule-declared (`standalone: false`), and the menu, badge, expansion and phone styles use the `@use`/`@forward` module system. The badge override `@use`s the badge module so its `@extend`s resolve.
30
+ - `ecabsBadge` writes an interactive chip's `tabindex` itself: Material 19's `MatChip` no longer binds one, so a menu badge would otherwise not be a tab stop.
28
31
  - **v2.0.0-alpha.8**: Port `ecabs-badge` from v1.1.91, a static status/label badge with semantic variants (`default`/`success`/`warning`/`danger`/`info`).
29
- - Size scale (`small`/`medium`/`large`) and an optional border, on by default.
30
- - Three icon tiers: a vendor-neutral `icon` with `iconWeight` (resolved through Phosphor, `bold` by default), a `materialIcon` ligature fallback, and an `ecabsBadgeIcon` projection slot for any other icon set.
31
- - Labels stay within their container and ellipsise, with the full text shown in a tooltip only when it is actually clipped.
32
- - Move `PhosphorIconWeight` out of the select models into `icon.consts`, and extract `buildPhosphorSvgIcon` so the icon-set format lives in one place.
33
- - Add `STATUS_BADGE_VARIANTS` / `resolveStatusBadgeVariant` and the `statusBadgeVariant` pipe, so every app maps a platform status to a badge variant from one place instead of interpolating the status into `class` and relying on the global status styles.
34
- - Replaces `scss/modules/_statuses.scss` and the status-class section of `material/overrides/_chip.scss`. Both stay for now and retire once every app has migrated.
35
32
  - On this line the badge component and the `statusBadgeVariant` pipe are NgModule-declared (`standalone: false`), and the badge styles use the `@use`/`@forward` module system.
36
33
  - Fix `ecabs-date-range-picker` drawing a form-field border around each inner input: the datepicker override imports only the datepicker module again, instead of compiling every module into the component's styles.
37
34
  - **v2.0.0** — Major framework and tooling upgrade (breaking).
@@ -40,6 +37,33 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
40
37
  - **Sass `@import` → `@use`/`@forward`**: migrate the library stylesheets to the module system and replace deprecated global functions (`length`/`nth`/`append` → `list.*`), removing all Sass deprecation warnings.
41
38
  - **Tailwind CSS v3 → v4**: CSS-first config (`tailwind.entry.css` with `@theme`/`@source`) via `@tailwindcss/cli`; utilities emitted unlayered so they keep winning over Angular Material; `!important` utilities use the v4 suffix syntax (`x!`).
42
39
  - **Visual parity fixes**: chip selected/unselected colors and specificity, button label weight, button-toggle centering, bare heading sizing, sidemenu colors, and checkbox v2 label alignment.
40
+ - **v1.1.95** - Fade and lock disabled `ecabs-phone`, `ecabs-select` and `ecabs-select-v2` like `ecabs-input`; locking a phone now requires disabling the control, not the `[disabled]` input.
41
+ - **v1.1.94** — Replace `hideToggle` on `ecabs-expansion-panel` with `collapsible`, so a panel that should not collapse offers no control rather than a hidden one.
42
+ - `[collapsible]="false"` renders a plain heading in place of `mat-expansion-panel-header`: no chevron, no tab stop, no `aria-expanded`, and `expanded` and `closePanel` are ignored. `hideToggle` only removed the chevron; the header stayed a button and still collapsed the panel on click.
43
+ - The heading takes the panel's header id, so the content region is not left labelled by an element that does not exist.
44
+ - `actionTitle` takes precedence over `title` rather than rendering two stacked headings.
45
+ - `showStatus` renders `ecabs-badge` with the variant from `statusBadgeVariant`, replacing the `mat-chip` themed by a lower-cased status class. Pass the raw status: a pre-formatted one misses the map and falls back to `default`.
46
+ - Heading geometry moves to `material/overrides/_expansion.scss`. Those rules ship inside `MatExpansionPanelHeader`'s own styles, and Angular injects a component's styles only once that component is first instantiated, so a screen whose panels are all non-collapsible never receives them.
47
+ - Drops the Material-demo `example-*` classes and `.rounded`, which shadowed Tailwind's own utility of that name.
48
+ - **v1.1.93** — Teach a `mat-chip` to wear `ecabs-badge`'s appearance, so a status an operator can change looks like one they cannot.
49
+ - `ecabsBadge` puts the appearance on any host with the same inputs, and `ecabs-badge` uses it internally. Static labels stay `<ecabs-badge>`.
50
+ - A `matMenuTriggerFor` on the badge makes it keyboard-reachable by itself; a static badge drops the ripple and hover layer. `interactive` and `disableRipple` override either.
51
+ - The caret goes in `matChipTrailingIcon` and widens `--badge-max-width` itself, so a menu badge truncates level with a read-only one. Its tooltip needs `ecabsTooltipIfTruncated` and a `matTooltip`.
52
+ - Bind the menu with `[matMenuTriggerFor]="ref.menu"` against `<ecabs-action-menu #ref [showTrigger]="false">`; pair with `action-menu-panel--compact`.
53
+ - **v1.1.92** — Add `ecabs-action-menu`, the overflow menu that hangs off a table row, moved out of Panels so the component and the styles that shape it live in one place.
54
+ - Bring your own trigger with an `ng-template ecabsActionMenuTrigger`, or fall back to the built-in three-dot button; `xPosition` picks the side the panel opens on.
55
+ - A projected trigger takes focus and opens on Enter or Space, since the usual one is a label or a badge rather than a button; `triggerFocusable` turns that off when the projected control already handles it.
56
+ - Item icons are optional and vendor-neutral (`icon` plus `iconWeight`, resolved through Phosphor), matching `ecabs-badge`.
57
+ - Panel width is adjustable: `menuClass` takes any class, `action-menu-panel--compact` ships for triggers shorter than a three-dot button, and `--action-menu-min-width` sets it outright.
58
+ - Item styles in `scss/modules/_menu.scss`, with the Material counters in `material/overrides/_menu.scss`.
59
+ - Not to be confused with `ecabs-menu-items`, which renders the sidebar's navigation tree: that is a list of places to go, this is a list of things to do.
60
+ - **v1.1.91** — Add `ecabs-badge`, a static status/label badge with semantic variants (`default`/`success`/`warning`/`danger`/`info`).
61
+ - Size scale (`small`/`medium`/`large`) and an optional border, on by default.
62
+ - Three icon tiers: a vendor-neutral `icon` with `iconWeight` (resolved through Phosphor, `bold` by default), a `materialIcon` ligature fallback, and an `ecabsBadgeIcon` projection slot for any other icon set.
63
+ - Labels stay within their container and ellipsise, with the full text shown in a tooltip only when it is actually clipped.
64
+ - Move `PhosphorIconWeight` out of the select models into `icon.consts`, and extract `buildPhosphorSvgIcon` so the icon-set format lives in one place.
65
+ - Add `STATUS_BADGE_VARIANTS` / `resolveStatusBadgeVariant` and the `statusBadgeVariant` pipe, so every app maps a platform status to a badge variant from one place instead of interpolating the status into `class` and relying on the global status styles.
66
+ - Replaces `scss/modules/_statuses.scss` and the status-class section of `material/overrides/_chip.scss`. Both stay for now and retire once every app has migrated.
43
67
  - **v1.1.90** — Fix `ecabs-select` height issue.
44
68
  - **v1.1.89** — Fix inflated `ecabs-select` height: nudge the select item icon with a `transform` translate instead of padding so the vertical adjustment no longer adds to the control height.
45
69
  - **v1.1.88** — Fix `ecabs-validations-messages` freezing a validation message at the first value it rendered; `[token]` placeholders are now interpolated per render instead of overwriting the message template, so a control with a dynamic `max`/`min`/`maxlength` reads the current value.