@oicl/openbridge-webcomponents 2.1.0-next.1 → 2.1.0-next.2

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 (55) hide show
  1. package/README.md +1 -0
  2. package/bundle/openbridge-webcomponents.bundle.js +352 -244
  3. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  4. package/custom-elements.json +944 -90
  5. package/dist/building-blocks/alert-list/alert-list-base.d.ts +60 -0
  6. package/dist/building-blocks/alert-list/alert-list-base.d.ts.map +1 -0
  7. package/dist/building-blocks/alert-list/alert-list-base.js +191 -0
  8. package/dist/building-blocks/alert-list/alert-list-base.js.map +1 -0
  9. package/dist/building-blocks/alert-list/alert-list.css.js.map +1 -1
  10. package/dist/building-blocks/alert-list/alert-list.d.ts +13 -26
  11. package/dist/building-blocks/alert-list/alert-list.d.ts.map +1 -1
  12. package/dist/building-blocks/alert-list/alert-list.js +7 -142
  13. package/dist/building-blocks/alert-list/alert-list.js.map +1 -1
  14. package/dist/components/alert-icon/alert-icon.d.ts.map +1 -1
  15. package/dist/components/alert-icon/alert-icon.js +6 -5
  16. package/dist/components/alert-icon/alert-icon.js.map +1 -1
  17. package/dist/components/alert-list-details/alert-list-details.css.js +4 -1
  18. package/dist/components/alert-list-details/alert-list-details.css.js.map +1 -1
  19. package/dist/components/alert-menu/alert-menu.css.js +3 -42
  20. package/dist/components/alert-menu/alert-menu.css.js.map +1 -1
  21. package/dist/components/alert-menu/alert-menu.d.ts +28 -6
  22. package/dist/components/alert-menu/alert-menu.d.ts.map +1 -1
  23. package/dist/components/alert-menu/alert-menu.js +81 -60
  24. package/dist/components/alert-menu/alert-menu.js.map +1 -1
  25. package/dist/components/alert-menu-item/alert-menu-item.d.ts +16 -6
  26. package/dist/components/alert-menu-item/alert-menu-item.d.ts.map +1 -1
  27. package/dist/components/alert-menu-item/alert-menu-item.js +11 -2
  28. package/dist/components/alert-menu-item/alert-menu-item.js.map +1 -1
  29. package/dist/components/number-input-field/number-input-field.css.js +8 -2
  30. package/dist/components/number-input-field/number-input-field.css.js.map +1 -1
  31. package/dist/components/number-input-field/number-input-field.d.ts +15 -1
  32. package/dist/components/number-input-field/number-input-field.d.ts.map +1 -1
  33. package/dist/components/number-input-field/number-input-field.js +38 -44
  34. package/dist/components/number-input-field/number-input-field.js.map +1 -1
  35. package/dist/components/textbox/textbox.css.js +3 -9
  36. package/dist/components/textbox/textbox.css.js.map +1 -1
  37. package/dist/components/textbox/textbox.d.ts +3 -0
  38. package/dist/components/textbox/textbox.d.ts.map +1 -1
  39. package/dist/components/textbox/textbox.js.map +1 -1
  40. package/dist/generated/locales/es-419.d.ts +1 -1
  41. package/dist/generated/locales/es-419.js +1 -1
  42. package/dist/generated/locales/es-419.js.map +1 -1
  43. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +2 -1
  44. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  45. package/dist/pages/alert-detail-page/alert-detail-page.js +1 -1
  46. package/dist/pages/alert-detail-page/alert-detail-page.js.map +1 -1
  47. package/dist/pages/alert-list-page-small/alert-list-page-small-base.d.ts +63 -0
  48. package/dist/pages/alert-list-page-small/alert-list-page-small-base.d.ts.map +1 -0
  49. package/dist/pages/alert-list-page-small/alert-list-page-small-base.js +126 -0
  50. package/dist/pages/alert-list-page-small/alert-list-page-small-base.js.map +1 -0
  51. package/dist/pages/alert-list-page-small/alert-list-page-small.d.ts +12 -15
  52. package/dist/pages/alert-list-page-small/alert-list-page-small.d.ts.map +1 -1
  53. package/dist/pages/alert-list-page-small/alert-list-page-small.js +41 -92
  54. package/dist/pages/alert-list-page-small/alert-list-page-small.js.map +1 -1
  55. package/package.json +1 -1
@@ -49729,13 +49729,199 @@
49729
49729
  }
49730
49730
  ]
49731
49731
  },
49732
+ {
49733
+ "kind": "javascript-module",
49734
+ "path": "src/building-blocks/alert-list/alert-list-base.ts",
49735
+ "declarations": [
49736
+ {
49737
+ "kind": "class",
49738
+ "description": "`ObcAlertListBase` – Scrolling list of slotted alert items that animates items\ninto place and shows an empty state when no item passes its filter.\n\nNot registered as an element: the subclasses decide which items pass.\n`obc-alert-list` runs a predicate the consumer sets.\n\n### Features\n- **Filter:** `matchesFilter()` decides which items count; the list re-reads\n it when items are added or removed, when an item attribute named by\n `observedItemAttributes` changes, and when `filterChanged()` reports a\n change of the subclass's filter inputs.\n- **Motion:** items that move slide to their new place; new items play\n their intro animation once the list has been seen.\n- **Empty state:** icon, title and description slots, with fallback content\n from `emptyFallback`.\n- **Visible items:** `getVisibleElements()` returns the items that pass the\n filter and sit inside the scroll viewport.",
49739
+ "name": "ObcAlertListBase",
49740
+ "members": [
49741
+ {
49742
+ "kind": "field",
49743
+ "name": "oldElementTop",
49744
+ "type": {
49745
+ "text": "Map<HTMLElement, number>"
49746
+ },
49747
+ "privacy": "private",
49748
+ "default": "new Map()"
49749
+ },
49750
+ {
49751
+ "kind": "field",
49752
+ "name": "mutationObserver",
49753
+ "type": {
49754
+ "text": "MutationObserver | null"
49755
+ },
49756
+ "privacy": "private",
49757
+ "default": "null"
49758
+ },
49759
+ {
49760
+ "kind": "field",
49761
+ "name": "intersectionObserver",
49762
+ "type": {
49763
+ "text": "IntersectionObserver | null"
49764
+ },
49765
+ "privacy": "private",
49766
+ "default": "null"
49767
+ },
49768
+ {
49769
+ "kind": "field",
49770
+ "name": "hasRenderedPanel",
49771
+ "type": {
49772
+ "text": "boolean"
49773
+ },
49774
+ "privacy": "private",
49775
+ "default": "false"
49776
+ },
49777
+ {
49778
+ "kind": "field",
49779
+ "name": "_empty",
49780
+ "type": {
49781
+ "text": "boolean"
49782
+ },
49783
+ "default": "false"
49784
+ },
49785
+ {
49786
+ "kind": "field",
49787
+ "name": "alertItems",
49788
+ "type": {
49789
+ "text": "HTMLElement[]"
49790
+ },
49791
+ "privacy": "protected"
49792
+ },
49793
+ {
49794
+ "kind": "field",
49795
+ "name": "scrollbar",
49796
+ "type": {
49797
+ "text": "ObcScrollbar"
49798
+ },
49799
+ "privacy": "private"
49800
+ },
49801
+ {
49802
+ "kind": "method",
49803
+ "name": "matchesFilter",
49804
+ "privacy": "protected",
49805
+ "return": {
49806
+ "type": {
49807
+ "text": "boolean"
49808
+ }
49809
+ },
49810
+ "parameters": [
49811
+ {
49812
+ "name": "_item",
49813
+ "type": {
49814
+ "text": "HTMLElement"
49815
+ }
49816
+ }
49817
+ ],
49818
+ "description": "Whether the list counts an item as one it shows."
49819
+ },
49820
+ {
49821
+ "kind": "method",
49822
+ "name": "filterChanged",
49823
+ "privacy": "protected",
49824
+ "return": {
49825
+ "type": {
49826
+ "text": "boolean"
49827
+ }
49828
+ },
49829
+ "parameters": [
49830
+ {
49831
+ "name": "_changed",
49832
+ "type": {
49833
+ "text": "PropertyValues"
49834
+ }
49835
+ }
49836
+ ],
49837
+ "description": "Whether this update changed what `matchesFilter` decides."
49838
+ },
49839
+ {
49840
+ "kind": "field",
49841
+ "name": "observedItemAttributes",
49842
+ "type": {
49843
+ "text": "string[]"
49844
+ },
49845
+ "privacy": "protected",
49846
+ "description": "Item attributes whose changes can change what `matchesFilter` decides.",
49847
+ "readonly": true
49848
+ },
49849
+ {
49850
+ "kind": "field",
49851
+ "name": "emptyFallback",
49852
+ "type": {
49853
+ "text": "AlertListEmptyFallback"
49854
+ },
49855
+ "privacy": "protected",
49856
+ "readonly": true
49857
+ },
49858
+ {
49859
+ "kind": "method",
49860
+ "name": "applyFilter",
49861
+ "privacy": "protected",
49862
+ "description": "Runs whenever the items or the filter change; a subclass extends it to act on each item."
49863
+ },
49864
+ {
49865
+ "kind": "method",
49866
+ "name": "getAlertItems",
49867
+ "privacy": "private"
49868
+ },
49869
+ {
49870
+ "kind": "method",
49871
+ "name": "updateOldElementTop",
49872
+ "privacy": "private"
49873
+ },
49874
+ {
49875
+ "kind": "method",
49876
+ "name": "setupMutationObserver",
49877
+ "privacy": "private"
49878
+ },
49879
+ {
49880
+ "kind": "method",
49881
+ "name": "handleSlotChange",
49882
+ "privacy": "private"
49883
+ },
49884
+ {
49885
+ "kind": "method",
49886
+ "name": "handleElementsChange",
49887
+ "privacy": "private"
49888
+ },
49889
+ {
49890
+ "kind": "method",
49891
+ "name": "getVisibleElements",
49892
+ "privacy": "public",
49893
+ "return": {
49894
+ "type": {
49895
+ "text": "{element: HTMLElement; index: number}[]"
49896
+ }
49897
+ }
49898
+ }
49899
+ ],
49900
+ "superclass": {
49901
+ "name": "LitElement",
49902
+ "package": "lit"
49903
+ },
49904
+ "customElement": true
49905
+ }
49906
+ ],
49907
+ "exports": [
49908
+ {
49909
+ "kind": "js",
49910
+ "name": "ObcAlertListBase",
49911
+ "declaration": {
49912
+ "name": "ObcAlertListBase",
49913
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
49914
+ }
49915
+ }
49916
+ ]
49917
+ },
49732
49918
  {
49733
49919
  "kind": "javascript-module",
49734
49920
  "path": "src/building-blocks/alert-list/alert-list.ts",
49735
49921
  "declarations": [
49736
49922
  {
49737
49923
  "kind": "class",
49738
- "description": "",
49924
+ "description": "`<obc-alert-list>` – Scrolling list of alert items with an empty state.\n\n`filter` decides which items count: the empty state shows when none does,\nand `getVisibleElements()` returns only those. Hiding the other items is\nleft to the consumer's CSS.",
49739
49925
  "name": "ObcAlertList",
49740
49926
  "slots": [
49741
49927
  {
@@ -49761,6 +49947,53 @@
49761
49947
  "name": "filter",
49762
49948
  "type": {
49763
49949
  "text": "(item: HTMLElement) => boolean"
49950
+ },
49951
+ "description": "Predicate that picks the items the list counts as shown."
49952
+ },
49953
+ {
49954
+ "kind": "method",
49955
+ "name": "matchesFilter",
49956
+ "privacy": "protected",
49957
+ "return": {
49958
+ "type": {
49959
+ "text": "boolean"
49960
+ }
49961
+ },
49962
+ "parameters": [
49963
+ {
49964
+ "name": "item",
49965
+ "type": {
49966
+ "text": "HTMLElement"
49967
+ }
49968
+ }
49969
+ ],
49970
+ "description": "Whether the list counts an item as one it shows.",
49971
+ "inheritedFrom": {
49972
+ "name": "ObcAlertListBase",
49973
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
49974
+ }
49975
+ },
49976
+ {
49977
+ "kind": "method",
49978
+ "name": "filterChanged",
49979
+ "privacy": "protected",
49980
+ "return": {
49981
+ "type": {
49982
+ "text": "boolean"
49983
+ }
49984
+ },
49985
+ "parameters": [
49986
+ {
49987
+ "name": "changed",
49988
+ "type": {
49989
+ "text": "PropertyValues"
49990
+ }
49991
+ }
49992
+ ],
49993
+ "description": "Whether this update changed what `matchesFilter` decides.",
49994
+ "inheritedFrom": {
49995
+ "name": "ObcAlertListBase",
49996
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
49764
49997
  }
49765
49998
  },
49766
49999
  {
@@ -49770,7 +50003,11 @@
49770
50003
  "text": "Map<HTMLElement, number>"
49771
50004
  },
49772
50005
  "privacy": "private",
49773
- "default": "new Map()"
50006
+ "default": "new Map()",
50007
+ "inheritedFrom": {
50008
+ "name": "ObcAlertListBase",
50009
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50010
+ }
49774
50011
  },
49775
50012
  {
49776
50013
  "kind": "field",
@@ -49779,7 +50016,11 @@
49779
50016
  "text": "MutationObserver | null"
49780
50017
  },
49781
50018
  "privacy": "private",
49782
- "default": "null"
50019
+ "default": "null",
50020
+ "inheritedFrom": {
50021
+ "name": "ObcAlertListBase",
50022
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50023
+ }
49783
50024
  },
49784
50025
  {
49785
50026
  "kind": "field",
@@ -49788,7 +50029,11 @@
49788
50029
  "text": "IntersectionObserver | null"
49789
50030
  },
49790
50031
  "privacy": "private",
49791
- "default": "null"
50032
+ "default": "null",
50033
+ "inheritedFrom": {
50034
+ "name": "ObcAlertListBase",
50035
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50036
+ }
49792
50037
  },
49793
50038
  {
49794
50039
  "kind": "field",
@@ -49797,7 +50042,11 @@
49797
50042
  "text": "boolean"
49798
50043
  },
49799
50044
  "privacy": "private",
49800
- "default": "false"
50045
+ "default": "false",
50046
+ "inheritedFrom": {
50047
+ "name": "ObcAlertListBase",
50048
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50049
+ }
49801
50050
  },
49802
50051
  {
49803
50052
  "kind": "field",
@@ -49805,7 +50054,11 @@
49805
50054
  "type": {
49806
50055
  "text": "boolean"
49807
50056
  },
49808
- "default": "false"
50057
+ "default": "false",
50058
+ "inheritedFrom": {
50059
+ "name": "ObcAlertListBase",
50060
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50061
+ }
49809
50062
  },
49810
50063
  {
49811
50064
  "kind": "field",
@@ -49813,7 +50066,11 @@
49813
50066
  "type": {
49814
50067
  "text": "HTMLElement[]"
49815
50068
  },
49816
- "privacy": "private"
50069
+ "privacy": "protected",
50070
+ "inheritedFrom": {
50071
+ "name": "ObcAlertListBase",
50072
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50073
+ }
49817
50074
  },
49818
50075
  {
49819
50076
  "kind": "field",
@@ -49821,37 +50078,93 @@
49821
50078
  "type": {
49822
50079
  "text": "ObcScrollbar"
49823
50080
  },
49824
- "privacy": "private"
50081
+ "privacy": "private",
50082
+ "inheritedFrom": {
50083
+ "name": "ObcAlertListBase",
50084
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50085
+ }
50086
+ },
50087
+ {
50088
+ "kind": "field",
50089
+ "name": "observedItemAttributes",
50090
+ "type": {
50091
+ "text": "string[]"
50092
+ },
50093
+ "privacy": "protected",
50094
+ "description": "Item attributes whose changes can change what `matchesFilter` decides.",
50095
+ "readonly": true,
50096
+ "inheritedFrom": {
50097
+ "name": "ObcAlertListBase",
50098
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50099
+ }
50100
+ },
50101
+ {
50102
+ "kind": "field",
50103
+ "name": "emptyFallback",
50104
+ "type": {
50105
+ "text": "AlertListEmptyFallback"
50106
+ },
50107
+ "privacy": "protected",
50108
+ "readonly": true,
50109
+ "inheritedFrom": {
50110
+ "name": "ObcAlertListBase",
50111
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50112
+ }
49825
50113
  },
49826
50114
  {
49827
50115
  "kind": "method",
49828
- "name": "updateEmpty",
49829
- "privacy": "private"
50116
+ "name": "applyFilter",
50117
+ "privacy": "protected",
50118
+ "description": "Runs whenever the items or the filter change; a subclass extends it to act on each item.",
50119
+ "inheritedFrom": {
50120
+ "name": "ObcAlertListBase",
50121
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50122
+ }
49830
50123
  },
49831
50124
  {
49832
50125
  "kind": "method",
49833
50126
  "name": "getAlertItems",
49834
- "privacy": "private"
50127
+ "privacy": "private",
50128
+ "inheritedFrom": {
50129
+ "name": "ObcAlertListBase",
50130
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50131
+ }
49835
50132
  },
49836
50133
  {
49837
50134
  "kind": "method",
49838
50135
  "name": "updateOldElementTop",
49839
- "privacy": "private"
50136
+ "privacy": "private",
50137
+ "inheritedFrom": {
50138
+ "name": "ObcAlertListBase",
50139
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50140
+ }
49840
50141
  },
49841
50142
  {
49842
50143
  "kind": "method",
49843
50144
  "name": "setupMutationObserver",
49844
- "privacy": "private"
50145
+ "privacy": "private",
50146
+ "inheritedFrom": {
50147
+ "name": "ObcAlertListBase",
50148
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50149
+ }
49845
50150
  },
49846
50151
  {
49847
50152
  "kind": "method",
49848
50153
  "name": "handleSlotChange",
49849
- "privacy": "private"
50154
+ "privacy": "private",
50155
+ "inheritedFrom": {
50156
+ "name": "ObcAlertListBase",
50157
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50158
+ }
49850
50159
  },
49851
50160
  {
49852
50161
  "kind": "method",
49853
50162
  "name": "handleElementsChange",
49854
- "privacy": "private"
50163
+ "privacy": "private",
50164
+ "inheritedFrom": {
50165
+ "name": "ObcAlertListBase",
50166
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
50167
+ }
49855
50168
  },
49856
50169
  {
49857
50170
  "kind": "method",
@@ -49861,12 +50174,16 @@
49861
50174
  "type": {
49862
50175
  "text": "{element: HTMLElement; index: number}[]"
49863
50176
  }
50177
+ },
50178
+ "inheritedFrom": {
50179
+ "name": "ObcAlertListBase",
50180
+ "module": "src/building-blocks/alert-list/alert-list-base.ts"
49864
50181
  }
49865
50182
  }
49866
50183
  ],
49867
50184
  "superclass": {
49868
- "name": "LitElement",
49869
- "package": "lit"
50185
+ "name": "ObcAlertListBase",
50186
+ "module": "/src/building-blocks/alert-list/alert-list-base.js"
49870
50187
  },
49871
50188
  "tagName": "obc-alert-list",
49872
50189
  "customElement": true
@@ -59801,7 +60118,7 @@
59801
60118
  "declarations": [
59802
60119
  {
59803
60120
  "kind": "class",
59804
- "description": "`<obc-alert-menu-item>` – A list item component for displaying alert or notification entries with status, icons, and action controls.\n\nPresents a concise summary of an alert or message, including status, title, description, and optional icons. Designed for use in alert menus, notification drawers, or similar lists where users need to review and acknowledge alerts efficiently.\n\n### Features\n- **Status Variants:** Supports multiple alert states via the `status` property:\n - **Unacknowledged:** Shows an action button (ACK) for user acknowledgment.\n - **Caution, Acknowledged, Rectified:** Display different visual cues for alert progression.\n - **NoAckAlarm / NoAckWarning:** Show special icons indicating unacknowledged alarms or warnings.\n- **Icon Support:** Optional secondary icon (e.g., system or source) and a primary alert icon. Tertiary \"shelved\" icon appears if the alert is shelved.\n- **Time and Day Display:** Optionally shows day and/or time for the alert occurrence.\n- **Expandable:** Can be toggled open/closed for additional details (via click).\n- **Action Buttons:** Displays an \"ACK\" button for unacknowledged alerts and an optional secondary action (label set via `secondaryActionLabel`); each triggers an event when clicked.\n - Each action's appearance is controlled independently via `primaryActionState` / `secondaryActionState` (`enabled`, `disabled`, or `none`).\n- **Animated Intro:** Optional animation when the item appears.\n- **Size Options:** Supports single-line or multi-line layouts (see `size` property).\n\n### Usage Guidelines\nUse `obc-alert-menu-item` to represent individual alerts or notifications in a menu, list, or notification center. Ideal for scenarios where users need to quickly scan, identify, and acknowledge alerts. The component is best suited for transient or actionable notifications rather than persistent banners.\n\n- Use the `status` property to reflect the current state of the alert.\n- Provide a relevant icon in the `alert-icon` slot to visually indicate the alert type.\n- Use the `icon` slot for a source/system icon if needed.\n- Only show the \"ACK\" action for alerts that require acknowledgment.\n- Provide `secondaryActionLabel` to add a second action alongside ACK.\n- Use `primaryActionState` / `secondaryActionState` to temporarily disable an action (`disabled`) or remove it without leaving a gap (`none`).\n- Use the `shelved` property to indicate alerts that are temporarily deferred.\n\n### Slots\n| Slot Name | Renders When... | Purpose |\n|---------------|-------------------------------|------------------------------------------------------|\n| alert-icon | Always | Main alert icon representing the alert type. |\n| title | Always | Title content; falls back to the `title` property. |\n| description | Always | Description content; falls back to the `description` property. |\n| icon | If `hasIcon` is true | Secondary icon (e.g., system/source of alert). |\n\n### Events\n- **ack-click** – Fired when the ACK action button is clicked.\n- **ack-secondary-click** – Fired when the secondary action button is clicked.\n- **item-click** – Fired when the alert menu item is clicked (toggles open/closed).\n\n### Best Practices\n- Only display the ACK action for alerts that require acknowledgment.\n- Use concise titles and descriptions for quick scanning.\n- For grouped alerts, ensure each item has a unique status and icon as appropriate.\n- Avoid overloading with too many icons; use secondary and tertiary icons only when necessary.\n- Follow standard notification design guidelines: keep actionable items prominent, and use color/iconography to indicate severity or status.\n\n**Example:**\n```\n<obc-alert-menu-item\n status=\"unacknowledged\"\n title=\"Engine Temperature High\"\n description=\"Port main engine temperature exceeds normal operating range\"\n time=\"14:30\"\n hasIcon\n>\n <obc-alert-icon slot=\"alert-icon\" type=\"alarm\" active></obc-alert-icon>\n <obi-engine slot=\"icon\"></obi-engine>\n</obc-alert-menu-item>\n```",
60121
+ "description": "`<obc-alert-menu-item>` – A list item component for displaying alert or notification entries with status, icons, and action controls.\n\nPresents a concise summary of an alert or message, including status, title, description, and optional icons. Designed for use in alert menus, notification drawers, or similar lists where users need to review and acknowledge alerts efficiently.\n\n### Features\n- **Status Variants:** Supports multiple alert states via the `status` property:\n - **Unacknowledged:** Shows an action button (ACK) for user acknowledgment.\n - **RectifiedUnacknowledged:** The situation that raised the alert has cleared, but the alert still waits for acknowledgment, so the ACK action stays.\n - **Caution, Acknowledged, Rectified:** Display different visual cues for alert progression.\n - **NoAckAlarm / NoAckWarning:** Show special icons indicating unacknowledged alarms or warnings.\n- **Icon Support:** Optional secondary icon (e.g., system or source) and a primary alert icon. Tertiary \"shelved\" icon appears if the alert is shelved.\n- **Time and Day Display:** Optionally shows day and/or time for the alert occurrence.\n- **Expandable:** Can be toggled open/closed for additional details (via click).\n- **Action Buttons:** Displays an \"ACK\" button for the statuses that still wait for acknowledgment (`unacknowledged` and `rectified-unacknowledged`) and an optional secondary action (label set via `secondaryActionLabel`); each triggers an event when clicked.\n - Each action's appearance is controlled independently via `primaryActionState` / `secondaryActionState` (`enabled`, `disabled`, or `none`).\n- **Animated Intro:** Optional animation when the item appears.\n- **Size Options:** Supports single-line or multi-line layouts (see `size` property).\n\n### Usage Guidelines\nUse `obc-alert-menu-item` to represent individual alerts or notifications in a menu, list, or notification center. Ideal for scenarios where users need to quickly scan, identify, and acknowledge alerts. The component is best suited for transient or actionable notifications rather than persistent banners.\n\n- Use the `status` property to reflect the current state of the alert.\n- Provide a relevant icon in the `alert-icon` slot to visually indicate the alert type.\n- Use the `icon` slot for a source/system icon if needed.\n- Only show the \"ACK\" action for alerts that require acknowledgment.\n- Provide `secondaryActionLabel` to add a second action alongside ACK.\n- Use `primaryActionState` / `secondaryActionState` to temporarily disable an action (`disabled`) or remove it without leaving a gap (`none`).\n- Use the `shelved` property to indicate alerts that are temporarily deferred, and `blocked` for alerts another system has set aside. The alert menus sort items into their tabs by `status` and `shelved`; `blocked` is there for menus that list blocked alerts apart.\n\n**TODO(designer):** Should a blocked alert show a marker, as a shelved one shows the shelf icon?\n\n### Slots\n| Slot Name | Renders When... | Purpose |\n|---------------|-------------------------------|------------------------------------------------------|\n| alert-icon | Always | Main alert icon representing the alert type. |\n| title | Always | Title content; falls back to the `title` property. |\n| description | Always | Description content; falls back to the `description` property. |\n| icon | If `hasIcon` is true | Secondary icon (e.g., system/source of alert). |\n\n### Events\n- **ack-click** – Fired when the ACK action button is clicked.\n- **ack-secondary-click** – Fired when the secondary action button is clicked.\n- **item-click** – Fired when the alert menu item is clicked (toggles open/closed).\n\n### Best Practices\n- Only display the ACK action for alerts that require acknowledgment.\n- Use concise titles and descriptions for quick scanning.\n- For grouped alerts, ensure each item has a unique status and icon as appropriate.\n- Avoid overloading with too many icons; use secondary and tertiary icons only when necessary.\n- Follow standard notification design guidelines: keep actionable items prominent, and use color/iconography to indicate severity or status.\n\n**Example:**\n```\n<obc-alert-menu-item\n status=\"unacknowledged\"\n title=\"Engine Temperature High\"\n description=\"Port main engine temperature exceeds normal operating range\"\n time=\"14:30\"\n hasIcon\n>\n <obc-alert-icon slot=\"alert-icon\" type=\"alarm\" active></obc-alert-icon>\n <obi-engine slot=\"icon\"></obi-engine>\n</obc-alert-menu-item>\n```",
59805
60122
  "name": "ObcAlertMenuItem",
59806
60123
  "slots": [
59807
60124
  {
@@ -59843,6 +60160,17 @@
59843
60160
  "attribute": "shelved",
59844
60161
  "reflects": true
59845
60162
  },
60163
+ {
60164
+ "kind": "field",
60165
+ "name": "blocked",
60166
+ "type": {
60167
+ "text": "boolean"
60168
+ },
60169
+ "default": "false",
60170
+ "description": "Indicates that another system has blocked the alert as not relevant here. For menus that list blocked alerts apart; the item itself shows no marker for it yet.",
60171
+ "attribute": "blocked",
60172
+ "reflects": true
60173
+ },
59846
60174
  {
59847
60175
  "kind": "field",
59848
60176
  "name": "title",
@@ -59886,7 +60214,7 @@
59886
60214
  {
59887
60215
  "kind": "field",
59888
60216
  "name": "status",
59889
- "description": "The current status of the alert item. Determines visual style, icon, and action button visibility. Possible values: 'unacknowledged', 'caution', 'acknowledged', 'no-ack-alarm', 'no-ack-warning', 'rectified'. Default is 'unacknowledged'.",
60217
+ "description": "The current status of the alert item. Determines visual style, icon, and action button visibility. Possible values: 'unacknowledged', 'caution', 'acknowledged', 'no-ack-alarm', 'no-ack-warning', 'rectified', 'rectified-unacknowledged'. 'unacknowledged' and 'rectified-unacknowledged' show the ACK action; the other values show a trailing icon instead. Default is 'unacknowledged'.",
59890
60218
  "attribute": "status",
59891
60219
  "reflects": true
59892
60220
  },
@@ -59947,6 +60275,12 @@
59947
60275
  "description": "Appearance of the secondary action: `enabled`, `disabled` or `none`, which hides it.",
59948
60276
  "attribute": "secondaryActionState"
59949
60277
  },
60278
+ {
60279
+ "kind": "field",
60280
+ "name": "canAck",
60281
+ "privacy": "private",
60282
+ "readonly": true
60283
+ },
59950
60284
  {
59951
60285
  "kind": "field",
59952
60286
  "name": "primaryActionLabel",
@@ -60059,6 +60393,15 @@
60059
60393
  "description": "Indicates if the alert is shelved (temporarily deferred). When true, a tertiary icon is shown to represent the shelved state.",
60060
60394
  "fieldName": "shelved"
60061
60395
  },
60396
+ {
60397
+ "name": "blocked",
60398
+ "type": {
60399
+ "text": "boolean"
60400
+ },
60401
+ "default": "false",
60402
+ "description": "Indicates that another system has blocked the alert as not relevant here. For menus that list blocked alerts apart; the item itself shows no marker for it yet.",
60403
+ "fieldName": "blocked"
60404
+ },
60062
60405
  {
60063
60406
  "name": "title",
60064
60407
  "type": {
@@ -60097,7 +60440,7 @@
60097
60440
  },
60098
60441
  {
60099
60442
  "name": "status",
60100
- "description": "The current status of the alert item. Determines visual style, icon, and action button visibility. Possible values: 'unacknowledged', 'caution', 'acknowledged', 'no-ack-alarm', 'no-ack-warning', 'rectified'. Default is 'unacknowledged'.",
60443
+ "description": "The current status of the alert item. Determines visual style, icon, and action button visibility. Possible values: 'unacknowledged', 'caution', 'acknowledged', 'no-ack-alarm', 'no-ack-warning', 'rectified', 'rectified-unacknowledged'. 'unacknowledged' and 'rectified-unacknowledged' show the ACK action; the other values show a trailing icon instead. Default is 'unacknowledged'.",
60101
60444
  "fieldName": "status"
60102
60445
  },
60103
60446
  {
@@ -60185,7 +60528,7 @@
60185
60528
  "declarations": [
60186
60529
  {
60187
60530
  "kind": "class",
60188
- "description": "`<obc-alert-menu>` – A tabbed alert summary panel for displaying, acknowledging, and managing active alerts.\n\nProvides a compact, interactive menu for reviewing current alerts, grouped by status (e.g., unacknowledged, active, shelved). Users can acknowledge visible alerts, silence notifications, or navigate to a full alert list. Designed for quick triage and management of alert items in a sidebar or overlay context.\n\n### Features\n- **Tabbed organization:** Switch between \"Unacked\", \"Active\", and (optionally) \"Shelved\" tabs for focused alert review.\n- **Alert filtering:** Each tab displays only relevant alerts (e.g., \"Unacked\" shows only unacknowledged, non-shelved items).\n- **Bulk actions:** \"ACK visible\" button allows acknowledging all currently visible (filtered) alerts at once.\n- **Silence and navigation:** Dedicated buttons to silence alerts or jump to the full alert list.\n- **Dynamic content:** Supports any number of `<obc-alert-menu-item>` children, with automatic empty-state messaging and icons per tab.\n- **Responsive layout:** Adapts to available space, with scrollable alert lists and sticky action bar.\n- **Customizable:** Optionally show/hide the \"Shelved\" tab via `hasShelved` property; enable/disable bulk ACK via `canAckAll`.\n\n### Usage Guidelines\nUse `<obc-alert-menu>` to provide users with a focused, actionable summary of current alerts, typically in a sidebar, overlay, or dashboard context. Ideal for scenarios where users need to quickly review, acknowledge, or silence multiple alerts without leaving their current workflow. Avoid using for persistent, always-visible alert banners; for that, use a dedicated alert banner or notification system.\n\n- Place one or more `<obc-alert-menu-item>` elements as children to populate the alert list.\n- Use the `hasShelved` property to enable the \"Shelved\" tab if your application supports alert shelving.\n- Use the `canAckAll` property to control whether the \"ACK visible\" button is enabled (e.g., only when there are unacknowledged alerts in view).\n- Listen for custom events (`ack-all-visible-click`, `silence-click`, `go-to-alert-list-click`) to handle user actions.\n\n**TODO(designer):** Confirm if there are recommended maximum numbers of alerts to display, or if there are best practices for when to use the \"Shelved\" tab.\n\n### Slots\n\n| Slot Name | Renders When... | Purpose |\n|----------------------------------|----------------------------------|----------------------------------------------------------------|\n| (default) | Always | Place one or more `<obc-alert-menu-item>` elements as alert rows. |\n| empty-<tab>-title | Selected tab is empty | Custom title for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n| empty-<tab>-description | Selected tab is empty | Custom description for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n| empty-<tab>-icon | Selected tab is empty | Custom icon for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n\n### Properties\n- `hasShelved` (boolean): If true, displays the \"Shelved\" tab and enables shelving support. Default: false.\n- `canAckAll` (boolean): If true, enables the \"ACK visible\" button for bulk acknowledgment. Default: false.\n- `showSilenceButton` (boolean): If true, shows the \"Silence\" button. Default: true.\n- `showAlertListButton` (boolean): If true, shows the \"Alerts\" navigation button. Default: true.\n\n### Events\n- **ack-all-visible-click** – Fired when the \"ACK visible\" button is clicked. The event detail includes the list of visible alert elements and the current tab name.\n- **silence-click** – Fired when the \"Silence\" button is clicked.\n- **go-to-alert-list-click** – Fired when the \"Alerts\" navigation button is clicked.\n\n### Best Practices and Constraints\n- Only enable \"ACK visible\" when there are actionable, unacknowledged alerts in the current view.\n- Use the \"Shelved\" tab only if your application supports shelving alerts; otherwise, omit it for simplicity.\n- For accessibility, keep all alert items and action buttons keyboard navigable.\n- Do not use this component for persistent, always-on-screen alerts; use banners or dialogs for critical, persistent notifications.\n\n### Example\n```\n<obc-alert-menu hasShelved canAckAll>\n <obc-alert-menu-item active hasTime>\n <obi-placeholder slot=\"alert-icon\"></obi-placeholder>\n <span slot=\"title\">Engine Overheat</span>\n <span slot=\"description\">Main engine temperature exceeds threshold</span>\n <span slot=\"time\">09:12:34</span>\n </obc-alert-menu-item>\n <!-- More alert items... -->\n</obc-alert-menu>\n```",
60531
+ "description": "`<obc-alert-menu>` – A tabbed alert summary panel for displaying, acknowledging, and managing active alerts.\n\nProvides a compact, interactive menu for reviewing current alerts, grouped by status (e.g., unacknowledged, active, shelved). Users can acknowledge visible alerts, silence notifications, or navigate to a full alert list. Designed for quick triage and management of alert items in a sidebar or overlay context.\n\n### Features\n- **Tabbed organization:** Switch between \"Unacked\", \"Active\", and (optionally) \"Shelved\" tabs for focused alert review.\n- **Alert filtering:** Each tab displays only relevant alerts: \"Unacked\" shows the non-shelved items still waiting for acknowledgment (`unacknowledged` or `rectified-unacknowledged`), \"Active\" every non-shelved item except the `rectified-unacknowledged` ones. A subclass changes the tabs and the list through the `tabs` and `renderList` hooks.\n- **Bulk actions:** \"ACK visible\" button allows acknowledging all currently visible (filtered) alerts at once.\n- **Silence and navigation:** Dedicated buttons to silence alerts or jump to the full alert list.\n- **Dynamic content:** Supports any number of `<obc-alert-menu-item>` children, with automatic empty-state messaging and icons per tab.\n- **Responsive layout:** Adapts to available space, with scrollable alert lists and sticky action bar.\n- **Customizable:** Optionally show/hide the \"Shelved\" tab via `hasShelved` property; enable/disable bulk ACK via `canAckAll`.\n\n### Usage Guidelines\nUse `<obc-alert-menu>` to provide users with a focused, actionable summary of current alerts, typically in a sidebar, overlay, or dashboard context. Ideal for scenarios where users need to quickly review, acknowledge, or silence multiple alerts without leaving their current workflow. Avoid using for persistent, always-visible alert banners; for that, use a dedicated alert banner or notification system.\n\n- Place one or more `<obc-alert-menu-item>` elements as children to populate the alert list.\n- Use the `hasShelved` property to enable the \"Shelved\" tab if your application supports alert shelving.\n- Use the `canAckAll` property to control whether the \"ACK visible\" button is enabled (e.g., only when there are unacknowledged alerts in view).\n- Listen for custom events (`ack-all-visible-click`, `silence-click`, `go-to-alert-list-click`) to handle user actions.\n\n**TODO(designer):** Confirm if there are recommended maximum numbers of alerts to display, or if there are best practices for when to use the \"Shelved\" tab.\n\n### Slots\n\n| Slot Name | Renders When... | Purpose |\n|----------------------------------|----------------------------------|----------------------------------------------------------------|\n| (default) | Always | Place one or more `<obc-alert-menu-item>` elements as alert rows. |\n| empty-<tab>-title | Selected tab is empty | Custom title for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n| empty-<tab>-description | Selected tab is empty | Custom description for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n| empty-<tab>-icon | Selected tab is empty | Custom icon for the empty state (`<tab>` is one of `unacked`, `all`, `shelved`). |\n\n### Properties\n- `hasShelved` (boolean): If true, displays the \"Shelved\" tab and enables shelving support. Default: false.\n- `canAckAll` (boolean): If true, enables the \"ACK visible\" button for bulk acknowledgment. Default: false.\n- `showSilenceButton` (boolean): If true, shows the \"Silence\" button. Default: true.\n- `showAlertListButton` (boolean): If true, shows the \"Alerts\" navigation button. Default: true.\n\n### Events\n- **ack-all-visible-click** – Fired when the \"ACK visible\" button is clicked. The event detail includes the list of visible alert elements and the current tab name.\n- **silence-click** – Fired when the \"Silence\" button is clicked.\n- **go-to-alert-list-click** – Fired when the \"Alerts\" navigation button is clicked.\n\n### Best Practices and Constraints\n- Only enable \"ACK visible\" when there are actionable, unacknowledged alerts in the current view.\n- Use the \"Shelved\" tab only if your application supports shelving alerts; otherwise, omit it for simplicity.\n- For accessibility, keep all alert items and action buttons keyboard navigable.\n- Do not use this component for persistent, always-on-screen alerts; use banners or dialogs for critical, persistent notifications.\n\n### Example\n```\n<obc-alert-menu hasShelved canAckAll>\n <obc-alert-menu-item active hasTime>\n <obi-placeholder slot=\"alert-icon\"></obi-placeholder>\n <span slot=\"title\">Engine Overheat</span>\n <span slot=\"description\">Main engine temperature exceeds threshold</span>\n <span slot=\"time\">09:12:34</span>\n </obc-alert-menu-item>\n <!-- More alert items... -->\n</obc-alert-menu>\n```",
60189
60532
  "name": "ObcAlertMenu",
60190
60533
  "slots": [
60191
60534
  {
@@ -60278,18 +60621,18 @@
60278
60621
  },
60279
60622
  {
60280
60623
  "kind": "field",
60281
- "name": "_selectedTabIndex",
60624
+ "name": "_selectedTabName",
60282
60625
  "type": {
60283
- "text": "number"
60626
+ "text": "string | undefined"
60284
60627
  },
60285
60628
  "privacy": "private",
60286
- "default": "1"
60629
+ "description": "The `name` of the tab the user picked; the second tab shows until then."
60287
60630
  },
60288
60631
  {
60289
60632
  "kind": "field",
60290
60633
  "name": "alertList",
60291
60634
  "type": {
60292
- "text": "ObcAlertList"
60635
+ "text": "ObcAlertListBase"
60293
60636
  },
60294
60637
  "privacy": "private"
60295
60638
  },
@@ -60311,10 +60654,102 @@
60311
60654
  }
60312
60655
  ]
60313
60656
  },
60657
+ {
60658
+ "kind": "field",
60659
+ "name": "offersAckAll",
60660
+ "type": {
60661
+ "text": "boolean"
60662
+ },
60663
+ "privacy": "protected",
60664
+ "description": "Whether the menu offers \"ACK visible\" at all; `canAckAll` enables it.",
60665
+ "readonly": true
60666
+ },
60667
+ {
60668
+ "kind": "field",
60669
+ "name": "tabs",
60670
+ "type": {
60671
+ "text": "AlertMenuTab[]"
60672
+ },
60673
+ "privacy": "protected",
60674
+ "description": "The tabs in display order; the menu opens on the second one.",
60675
+ "readonly": true
60676
+ },
60314
60677
  {
60315
60678
  "kind": "method",
60316
- "name": "getSelectedTab",
60317
- "privacy": "private"
60679
+ "name": "selectedTabIndex",
60680
+ "privacy": "private",
60681
+ "return": {
60682
+ "type": {
60683
+ "text": "number"
60684
+ }
60685
+ },
60686
+ "parameters": [
60687
+ {
60688
+ "name": "tabs",
60689
+ "type": {
60690
+ "text": "AlertMenuTab[]"
60691
+ }
60692
+ }
60693
+ ],
60694
+ "description": "Where the selected tab sits in `tabs`: the one the user picked, else the second."
60695
+ },
60696
+ {
60697
+ "kind": "field",
60698
+ "name": "selectedTab",
60699
+ "type": {
60700
+ "text": "AlertMenuTab"
60701
+ },
60702
+ "privacy": "private",
60703
+ "readonly": true
60704
+ },
60705
+ {
60706
+ "kind": "method",
60707
+ "name": "renderList",
60708
+ "privacy": "protected",
60709
+ "return": {
60710
+ "type": {
60711
+ "text": "TemplateResult"
60712
+ }
60713
+ },
60714
+ "parameters": [
60715
+ {
60716
+ "name": "tab",
60717
+ "type": {
60718
+ "text": "AlertMenuTab"
60719
+ }
60720
+ },
60721
+ {
60722
+ "name": "content",
60723
+ "type": {
60724
+ "text": "TemplateResult"
60725
+ }
60726
+ }
60727
+ ],
60728
+ "description": "The list that shows the selected tab's items. The CSS hides the items the\ntab leaves out; the filter tells the list which ones those are."
60729
+ },
60730
+ {
60731
+ "kind": "method",
60732
+ "name": "tabFilter",
60733
+ "privacy": "private",
60734
+ "return": {
60735
+ "type": {
60736
+ "text": "boolean"
60737
+ }
60738
+ },
60739
+ "parameters": [
60740
+ {
60741
+ "name": "name",
60742
+ "type": {
60743
+ "text": "string"
60744
+ }
60745
+ },
60746
+ {
60747
+ "name": "item",
60748
+ "type": {
60749
+ "text": "HTMLElement"
60750
+ }
60751
+ }
60752
+ ]
60318
60753
  }
60319
60754
  ],
60320
60755
  "events": [
@@ -74348,6 +74783,15 @@
74348
74783
  "privacy": "private",
74349
74784
  "default": "NaN"
74350
74785
  },
74786
+ {
74787
+ "kind": "field",
74788
+ "name": "focusFromValueClick",
74789
+ "type": {
74790
+ "text": "boolean"
74791
+ },
74792
+ "privacy": "private",
74793
+ "default": "false"
74794
+ },
74351
74795
  {
74352
74796
  "kind": "field",
74353
74797
  "name": "inputElement",
@@ -74441,6 +74885,17 @@
74441
74885
  "name": "onFocus",
74442
74886
  "privacy": "private"
74443
74887
  },
74888
+ {
74889
+ "kind": "method",
74890
+ "name": "ungroupKeepingSelection",
74891
+ "privacy": "private",
74892
+ "description": "Ungroups a value the user clicked into, once the browser has placed the\ncaret, and moves the caret with its digits. Ungrouping before that shifts\nthe text under the pointer and the caret lands beside the clicked digit."
74893
+ },
74894
+ {
74895
+ "kind": "method",
74896
+ "name": "ungroupDisplay",
74897
+ "privacy": "private"
74898
+ },
74444
74899
  {
74445
74900
  "kind": "method",
74446
74901
  "name": "onBlur",
@@ -74480,19 +74935,6 @@
74480
74935
  }
74481
74936
  }
74482
74937
  },
74483
- {
74484
- "kind": "method",
74485
- "name": "updateCenterAlignedInputWidth",
74486
- "privacy": "private",
74487
- "parameters": [
74488
- {
74489
- "name": "value",
74490
- "type": {
74491
- "text": "string"
74492
- }
74493
- }
74494
- ]
74495
- },
74496
74938
  {
74497
74939
  "kind": "field",
74498
74940
  "name": "isEmpty",
@@ -74537,7 +74979,8 @@
74537
74979
  "text": "PointerEvent"
74538
74980
  }
74539
74981
  }
74540
- ]
74982
+ ],
74983
+ "description": "Keeps focus where it is while the chrome around the value is clicked.\nThe wrapper is a `<label>`, so the click itself focuses the input; without\nthis the pointerdown would blur it first and commit an unfinished edit.\nA click on the value itself is the browser's; it is only noted, so the\nfocus it causes ungroups the value without moving the caret."
74541
74984
  }
74542
74985
  ],
74543
74986
  "events": [
@@ -86440,7 +86883,7 @@
86440
86883
  "declarations": [
86441
86884
  {
86442
86885
  "kind": "class",
86443
- "description": "`<obc-textbox>` – A text container that renders inline text at a\nprecise, cap-height-trimmed size with configurable alignment and reservable\nwidth.\n\nUse it to present short, read-only strings – such as values, labels, or\nunits – where vertical metrics must line up exactly across rows and the\nhorizontal footprint should stay stable while the text changes (for example\na numeric value that updates frequently). Synonyms: text container, value\nbox, label box.\n\n## Features / Variants\n- **Size:** `xs`, `s`, `m` (default), `l`, `xl` – each maps to a fixed box\n height (16 / 20 / 24 / 32 / 40 px) with 4px padding above and below, giving\n cap heights of 8 / 12 / 16 / 24 / 32 px so text aligns to a predictable\n grid.\n- **Font weight:** `regular` (default), `semibold`, `bold`.\n- **Tabular numbers:** `tabularNums` (default off) renders digits as\n fixed-width, lining numerals (`tabular-nums lining-nums` + the `ss04`/`tnum`/\n `lnum` features) so numeric values stay column-aligned and stable in width\n as they update – use it for readouts and other live numeric displays.\n- **Alignment:** `left`, `center`, `right` (default) – positions the text\n within the box's width when the box is wider than the content.\n- **Reserved width:** content placed in the `length` slot reserves a minimum\n width invisibly, so the box does not resize as the visible text changes.\n The box always shows all content – it never crops.\n\n## Usage Guidelines\n- Pass the longest expected string to the `length` slot (e.g. `\"888.8\"` or\n `\"Wind speed\"`) so the box reserves space and does not jump in width as the\n visible value updates.\n- This is a display primitive for static text – use an input component for\n editable values.\n\n## Slots\n| Slot | Renders when… | Purpose |\n|-----------|--------------------|------------------------------------------------------|\n| (default) | Always | The visible text content. |\n| `length` | Always (invisible) | Reserves a minimum width based on its content width. |",
86886
+ "description": "`<obc-textbox>` – A text container that renders inline text at a\nprecise, cap-height-trimmed size with configurable alignment and reservable\nwidth.\n\nUse it to present short, read-only strings – such as values, labels, or\nunits – where vertical metrics must line up exactly across rows and the\nhorizontal footprint should stay stable while the text changes (for example\na numeric value that updates frequently). Synonyms: text container, value\nbox, label box.\n\n## Features / Variants\n- **Size:** `xs`, `s`, `m` (default), `l`, `xl` – each maps to a fixed box\n height (16 / 20 / 24 / 32 / 40 px) with 4px padding above and below, giving\n cap heights of 8 / 12 / 16 / 24 / 32 px so text aligns to a predictable\n grid.\n- **Font weight:** `regular` (default), `semibold`, `bold`.\n- **Tabular numbers:** `tabularNums` (default off) renders digits as\n fixed-width, lining numerals (`tabular-nums lining-nums` + the `ss04`/`tnum`/\n `lnum` features) so numeric values stay column-aligned and stable in width\n as they update – use it for readouts and other live numeric displays.\n- **Alignment:** `left`, `center`, `right` (default) – positions the text\n within the box's width when the box is wider than the content.\n- **Reserved width:** content placed in the `length` slot reserves a minimum\n width invisibly, so the box does not resize as the visible text changes.\n The box always shows all content – it never crops.\n- **Cap-to-baseline frame:** the box spans the cap top to the baseline plus\n the padding; descenders and diacritics paint past its edges, so an\n ancestor that clips must leave room for them.\n\n## Usage Guidelines\n- Pass the longest expected string to the `length` slot (e.g. `\"888.8\"` or\n `\"Wind speed\"`) so the box reserves space and does not jump in width as the\n visible value updates.\n- This is a display primitive for static text – use an input component for\n editable values.\n\n## Slots\n| Slot | Renders when… | Purpose |\n|-----------|--------------------|------------------------------------------------------|\n| (default) | Always | The visible text content. |\n| `length` | Always (invisible) | Reserves a minimum width based on its content width. |",
86444
86887
  "name": "ObcTextbox",
86445
86888
  "slots": [
86446
86889
  {
@@ -126889,12 +127332,12 @@
126889
127332
  },
126890
127333
  {
126891
127334
  "kind": "javascript-module",
126892
- "path": "src/pages/alert-list-page-small/alert-list-page-small.ts",
127335
+ "path": "src/pages/alert-list-page-small/alert-list-page-small-base.ts",
126893
127336
  "declarations": [
126894
127337
  {
126895
127338
  "kind": "class",
126896
- "description": "",
126897
- "name": "ObcAlertListPageSmall",
127339
+ "description": "`ObcAlertListPageSmallBase` – Compact alert list page: a list of alerts over a\nbar with a mode dropdown, a silence button and \"ACK visible\".\n\nNot registered as an element: the subclasses supply the list and the\nmodes. `obc-alert-list-page-small` renders `obc-alert-list-details`.\n\n### Features\n- **Modes:** the dropdown offers `modes` and shows `mode`; picking one calls\n `selectMode()`.\n- **ACK visible:** enabled while `canAckAll` holds; a click reports the\n alerts `visibleAlerts()` returns, and the mode, in `ack-all-visible-click`.\n- **Silence:** the icon button fires `silence-click`.\n\nThe base holds no alerts: each page declares `alerts` in the alert type it\nlists.",
127340
+ "name": "ObcAlertListPageSmallBase",
126898
127341
  "members": [
126899
127342
  {
126900
127343
  "kind": "field",
@@ -126903,40 +127346,241 @@
126903
127346
  "text": "boolean"
126904
127347
  },
126905
127348
  "default": "false",
127349
+ "description": "Whether the dropdown offers the shelved alerts.",
126906
127350
  "attribute": "hasShelved"
126907
127351
  },
126908
127352
  {
126909
127353
  "kind": "field",
126910
- "name": "selectedMode",
127354
+ "name": "showTime",
126911
127355
  "type": {
126912
- "text": "AlertListMode"
127356
+ "text": "boolean"
126913
127357
  },
126914
- "attribute": "selectedMode"
127358
+ "default": "false",
127359
+ "description": "Whether the list shows when each alert was raised.",
127360
+ "attribute": "showTime"
126915
127361
  },
126916
127362
  {
126917
127363
  "kind": "field",
126918
- "name": "alerts",
127364
+ "name": "timeFormatter",
126919
127365
  "type": {
126920
- "text": "Alert[]"
127366
+ "text": "(time: Date) => string"
126921
127367
  },
126922
- "default": "[]",
126923
- "attribute": "alerts"
127368
+ "description": "Formats the time the list shows.\n\nAvailable when `showTime==true`.",
127369
+ "availableWhen": "showTime==true",
127370
+ "availableWhenIf": {
127371
+ "arg": "showTime",
127372
+ "truthy": true
127373
+ }
127374
+ },
127375
+ {
127376
+ "kind": "field",
127377
+ "name": "modes",
127378
+ "type": {
127379
+ "text": "AlertListPageMode[]"
127380
+ },
127381
+ "privacy": "protected",
127382
+ "description": "The dropdown's options, in order.",
127383
+ "readonly": true
127384
+ },
127385
+ {
127386
+ "kind": "field",
127387
+ "name": "mode",
127388
+ "type": {
127389
+ "text": "string"
127390
+ },
127391
+ "privacy": "protected",
127392
+ "description": "The mode the list filters by and the dropdown shows.",
127393
+ "readonly": true
127394
+ },
127395
+ {
127396
+ "kind": "method",
127397
+ "name": "selectMode",
127398
+ "privacy": "protected",
127399
+ "parameters": [
127400
+ {
127401
+ "name": "_mode",
127402
+ "type": {
127403
+ "text": "string"
127404
+ }
127405
+ }
127406
+ ]
127407
+ },
127408
+ {
127409
+ "kind": "field",
127410
+ "name": "canAckAll",
127411
+ "type": {
127412
+ "text": "boolean"
127413
+ },
127414
+ "privacy": "protected",
127415
+ "description": "Whether an alert the list shows in `mode` can still be acknowledged.",
127416
+ "readonly": true
126924
127417
  },
126925
127418
  {
126926
127419
  "kind": "field",
127420
+ "name": "offersAckAll",
127421
+ "type": {
127422
+ "text": "boolean"
127423
+ },
127424
+ "privacy": "protected",
127425
+ "description": "Whether the page offers \"ACK visible\" at all; `canAckAll` enables it.",
127426
+ "readonly": true
127427
+ },
127428
+ {
127429
+ "kind": "method",
127430
+ "name": "visibleAlerts",
127431
+ "privacy": "protected",
127432
+ "return": {
127433
+ "type": {
127434
+ "text": "unknown[]"
127435
+ }
127436
+ },
127437
+ "description": "The alerts in view, which \"ACK visible\" reports."
127438
+ },
127439
+ {
127440
+ "kind": "method",
127441
+ "name": "renderList",
127442
+ "privacy": "protected",
127443
+ "return": {
127444
+ "type": {
127445
+ "text": "TemplateResult | typeof nothing"
127446
+ }
127447
+ }
127448
+ },
127449
+ {
127450
+ "kind": "method",
127451
+ "name": "dispatchAckClick",
127452
+ "privacy": "protected",
127453
+ "parameters": [
127454
+ {
127455
+ "name": "alert",
127456
+ "type": {
127457
+ "text": "unknown"
127458
+ }
127459
+ }
127460
+ ]
127461
+ },
127462
+ {
127463
+ "kind": "method",
127464
+ "name": "dispatchRowClick",
127465
+ "privacy": "protected",
127466
+ "parameters": [
127467
+ {
127468
+ "name": "alert",
127469
+ "type": {
127470
+ "text": "unknown"
127471
+ }
127472
+ }
127473
+ ]
127474
+ },
127475
+ {
127476
+ "kind": "method",
127477
+ "name": "handleAckAllVisibleClick",
127478
+ "privacy": "private"
127479
+ },
127480
+ {
127481
+ "kind": "method",
127482
+ "name": "onModeSelect",
127483
+ "privacy": "private",
127484
+ "parameters": [
127485
+ {
127486
+ "name": "e",
127487
+ "type": {
127488
+ "text": "ObcDropdownButtonChangeEvent"
127489
+ }
127490
+ }
127491
+ ]
127492
+ }
127493
+ ],
127494
+ "events": [
127495
+ {
127496
+ "name": "ack-click",
127497
+ "type": {
127498
+ "text": "CustomEvent"
127499
+ }
127500
+ },
127501
+ {
127502
+ "name": "row-click",
127503
+ "type": {
127504
+ "text": "CustomEvent"
127505
+ }
127506
+ },
127507
+ {
127508
+ "name": "ack-all-visible-click",
127509
+ "type": {
127510
+ "text": "CustomEvent"
127511
+ }
127512
+ },
127513
+ {
127514
+ "name": "silence-click",
127515
+ "type": {
127516
+ "text": "CustomEvent"
127517
+ }
127518
+ }
127519
+ ],
127520
+ "attributes": [
127521
+ {
127522
+ "name": "hasShelved",
127523
+ "type": {
127524
+ "text": "boolean"
127525
+ },
127526
+ "default": "false",
127527
+ "description": "Whether the dropdown offers the shelved alerts.",
127528
+ "fieldName": "hasShelved"
127529
+ },
127530
+ {
126927
127531
  "name": "showTime",
126928
127532
  "type": {
126929
127533
  "text": "boolean"
126930
127534
  },
126931
127535
  "default": "false",
126932
- "attribute": "showTime"
127536
+ "description": "Whether the list shows when each alert was raised.",
127537
+ "fieldName": "showTime"
127538
+ }
127539
+ ],
127540
+ "superclass": {
127541
+ "name": "LitElement",
127542
+ "package": "lit"
127543
+ },
127544
+ "customElement": true
127545
+ }
127546
+ ],
127547
+ "exports": [
127548
+ {
127549
+ "kind": "js",
127550
+ "name": "ObcAlertListPageSmallBase",
127551
+ "declaration": {
127552
+ "name": "ObcAlertListPageSmallBase",
127553
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127554
+ }
127555
+ }
127556
+ ]
127557
+ },
127558
+ {
127559
+ "kind": "javascript-module",
127560
+ "path": "src/pages/alert-list-page-small/alert-list-page-small.ts",
127561
+ "declarations": [
127562
+ {
127563
+ "kind": "class",
127564
+ "description": "",
127565
+ "name": "ObcAlertListPageSmall",
127566
+ "members": [
127567
+ {
127568
+ "kind": "field",
127569
+ "name": "alerts",
127570
+ "type": {
127571
+ "text": "Alert[]"
127572
+ },
127573
+ "default": "[]",
127574
+ "description": "Alerts to list.",
127575
+ "attribute": "alerts"
126933
127576
  },
126934
127577
  {
126935
127578
  "kind": "field",
126936
- "name": "timeFormatter",
127579
+ "name": "selectedMode",
126937
127580
  "type": {
126938
- "text": "(time: Date) => string"
126939
- }
127581
+ "text": "AlertListMode"
127582
+ },
127583
+ "attribute": "selectedMode"
126940
127584
  },
126941
127585
  {
126942
127586
  "kind": "field",
@@ -126955,28 +127599,78 @@
126955
127599
  "privacy": "private"
126956
127600
  },
126957
127601
  {
126958
- "kind": "method",
126959
- "name": "handleAckAllVisibleClick",
126960
- "privacy": "private"
127602
+ "kind": "field",
127603
+ "name": "modes",
127604
+ "type": {
127605
+ "text": "AlertListPageMode[]"
127606
+ },
127607
+ "privacy": "protected",
127608
+ "description": "The dropdown's options, in order.",
127609
+ "readonly": true,
127610
+ "inheritedFrom": {
127611
+ "name": "ObcAlertListPageSmallBase",
127612
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127613
+ }
127614
+ },
127615
+ {
127616
+ "kind": "field",
127617
+ "name": "mode",
127618
+ "type": {
127619
+ "text": "string"
127620
+ },
127621
+ "privacy": "protected",
127622
+ "description": "The mode the list filters by and the dropdown shows.",
127623
+ "readonly": true,
127624
+ "inheritedFrom": {
127625
+ "name": "ObcAlertListPageSmallBase",
127626
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127627
+ }
126961
127628
  },
126962
127629
  {
126963
127630
  "kind": "method",
126964
- "name": "onModeSelect",
126965
- "privacy": "private",
127631
+ "name": "selectMode",
127632
+ "privacy": "protected",
126966
127633
  "parameters": [
126967
127634
  {
126968
- "name": "e",
127635
+ "name": "mode",
126969
127636
  "type": {
126970
- "text": "ObcDropdownButtonChangeEvent"
127637
+ "text": "string"
126971
127638
  }
126972
127639
  }
126973
- ]
127640
+ ],
127641
+ "inheritedFrom": {
127642
+ "name": "ObcAlertListPageSmallBase",
127643
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127644
+ }
126974
127645
  },
126975
127646
  {
126976
127647
  "kind": "field",
126977
- "name": "metadata",
126978
- "privacy": "private",
126979
- "readonly": true
127648
+ "name": "canAckAll",
127649
+ "type": {
127650
+ "text": "boolean"
127651
+ },
127652
+ "privacy": "protected",
127653
+ "description": "Whether an alert the list shows in `mode` can still be acknowledged.",
127654
+ "readonly": true,
127655
+ "inheritedFrom": {
127656
+ "name": "ObcAlertListPageSmallBase",
127657
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127658
+ }
127659
+ },
127660
+ {
127661
+ "kind": "method",
127662
+ "name": "visibleAlerts",
127663
+ "privacy": "protected",
127664
+ "return": {
127665
+ "type": {
127666
+ "text": "Alert[]"
127667
+ }
127668
+ },
127669
+ "description": "The alerts in view, which \"ACK visible\" reports.",
127670
+ "inheritedFrom": {
127671
+ "name": "ObcAlertListPageSmallBase",
127672
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127673
+ }
126980
127674
  },
126981
127675
  {
126982
127676
  "kind": "method",
@@ -127003,46 +127697,196 @@
127003
127697
  }
127004
127698
  }
127005
127699
  ]
127006
- }
127007
- ],
127008
- "events": [
127700
+ },
127009
127701
  {
127010
- "name": "silence-click",
127702
+ "kind": "method",
127703
+ "name": "renderList",
127704
+ "privacy": "protected",
127705
+ "return": {
127706
+ "type": {
127707
+ "text": "TemplateResult | typeof nothing"
127708
+ }
127709
+ },
127710
+ "inheritedFrom": {
127711
+ "name": "ObcAlertListPageSmallBase",
127712
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127713
+ }
127714
+ },
127715
+ {
127716
+ "kind": "field",
127717
+ "name": "hasShelved",
127011
127718
  "type": {
127012
- "text": "CustomEvent<void>"
127719
+ "text": "boolean"
127720
+ },
127721
+ "default": "false",
127722
+ "description": "Whether the dropdown offers the shelved alerts.",
127723
+ "attribute": "hasShelved",
127724
+ "inheritedFrom": {
127725
+ "name": "ObcAlertListPageSmallBase",
127726
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127727
+ }
127728
+ },
127729
+ {
127730
+ "kind": "field",
127731
+ "name": "showTime",
127732
+ "type": {
127733
+ "text": "boolean"
127734
+ },
127735
+ "default": "false",
127736
+ "description": "Whether the list shows when each alert was raised.",
127737
+ "attribute": "showTime",
127738
+ "inheritedFrom": {
127739
+ "name": "ObcAlertListPageSmallBase",
127740
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127741
+ }
127742
+ },
127743
+ {
127744
+ "kind": "field",
127745
+ "name": "timeFormatter",
127746
+ "type": {
127747
+ "text": "(time: Date) => string"
127748
+ },
127749
+ "description": "Formats the time the list shows.\n\nAvailable when `showTime==true`.",
127750
+ "availableWhen": "showTime==true",
127751
+ "availableWhenIf": {
127752
+ "arg": "showTime",
127753
+ "truthy": true
127754
+ },
127755
+ "inheritedFrom": {
127756
+ "name": "ObcAlertListPageSmallBase",
127757
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127758
+ }
127759
+ },
127760
+ {
127761
+ "kind": "field",
127762
+ "name": "offersAckAll",
127763
+ "type": {
127764
+ "text": "boolean"
127013
127765
  },
127014
- "description": "Fired when the user clicks the \"Silence\" button."
127766
+ "privacy": "protected",
127767
+ "description": "Whether the page offers \"ACK visible\" at all; `canAckAll` enables it.",
127768
+ "readonly": true,
127769
+ "inheritedFrom": {
127770
+ "name": "ObcAlertListPageSmallBase",
127771
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127772
+ }
127773
+ },
127774
+ {
127775
+ "kind": "method",
127776
+ "name": "dispatchAckClick",
127777
+ "privacy": "protected",
127778
+ "parameters": [
127779
+ {
127780
+ "name": "alert",
127781
+ "type": {
127782
+ "text": "unknown"
127783
+ }
127784
+ }
127785
+ ],
127786
+ "inheritedFrom": {
127787
+ "name": "ObcAlertListPageSmallBase",
127788
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127789
+ }
127790
+ },
127791
+ {
127792
+ "kind": "method",
127793
+ "name": "dispatchRowClick",
127794
+ "privacy": "protected",
127795
+ "parameters": [
127796
+ {
127797
+ "name": "alert",
127798
+ "type": {
127799
+ "text": "unknown"
127800
+ }
127801
+ }
127802
+ ],
127803
+ "inheritedFrom": {
127804
+ "name": "ObcAlertListPageSmallBase",
127805
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127806
+ }
127807
+ },
127808
+ {
127809
+ "kind": "method",
127810
+ "name": "handleAckAllVisibleClick",
127811
+ "privacy": "private",
127812
+ "inheritedFrom": {
127813
+ "name": "ObcAlertListPageSmallBase",
127814
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127815
+ }
127015
127816
  },
127016
127817
  {
127818
+ "kind": "method",
127819
+ "name": "onModeSelect",
127820
+ "privacy": "private",
127821
+ "parameters": [
127822
+ {
127823
+ "name": "e",
127824
+ "type": {
127825
+ "text": "ObcDropdownButtonChangeEvent"
127826
+ }
127827
+ }
127828
+ ],
127829
+ "inheritedFrom": {
127830
+ "name": "ObcAlertListPageSmallBase",
127831
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127832
+ }
127833
+ }
127834
+ ],
127835
+ "events": [
127836
+ {
127837
+ "name": "ack-all-visible-click",
127017
127838
  "type": {
127018
- "text": "ObcAlertListPageAckAllClickEvent"
127839
+ "text": "CustomEvent"
127019
127840
  },
127020
127841
  "description": "Fired when the user clicks the \"ACK visible\" button.",
127021
- "name": "ack-all-visible-click"
127842
+ "inheritedFrom": {
127843
+ "name": "ObcAlertListPageSmallBase",
127844
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127845
+ }
127022
127846
  },
127023
127847
  {
127848
+ "name": "ack-click",
127024
127849
  "type": {
127025
- "text": "ObcAckClickEvent"
127850
+ "text": "CustomEvent"
127026
127851
  },
127027
127852
  "description": "Fired when the user clicks the \"ACK\" button.",
127028
- "name": "ack-click"
127853
+ "inheritedFrom": {
127854
+ "name": "ObcAlertListPageSmallBase",
127855
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127856
+ }
127029
127857
  },
127030
127858
  {
127859
+ "name": "row-click",
127031
127860
  "type": {
127032
- "text": "ObcRowClickEvent"
127861
+ "text": "CustomEvent"
127033
127862
  },
127034
127863
  "description": "Fired when the user clicks a row.",
127035
- "name": "row-click"
127864
+ "inheritedFrom": {
127865
+ "name": "ObcAlertListPageSmallBase",
127866
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127867
+ }
127868
+ },
127869
+ {
127870
+ "name": "silence-click",
127871
+ "type": {
127872
+ "text": "CustomEvent"
127873
+ },
127874
+ "description": "Fired when the user clicks the \"Silence\" button.",
127875
+ "inheritedFrom": {
127876
+ "name": "ObcAlertListPageSmallBase",
127877
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127878
+ }
127036
127879
  }
127037
127880
  ],
127038
127881
  "attributes": [
127039
127882
  {
127040
- "name": "hasShelved",
127883
+ "name": "alerts",
127041
127884
  "type": {
127042
- "text": "boolean"
127885
+ "text": "Alert[]"
127043
127886
  },
127044
- "default": "false",
127045
- "fieldName": "hasShelved"
127887
+ "default": "[]",
127888
+ "description": "Alerts to list.",
127889
+ "fieldName": "alerts"
127046
127890
  },
127047
127891
  {
127048
127892
  "name": "selectedMode",
@@ -127052,12 +127896,17 @@
127052
127896
  "fieldName": "selectedMode"
127053
127897
  },
127054
127898
  {
127055
- "name": "alerts",
127899
+ "name": "hasShelved",
127056
127900
  "type": {
127057
- "text": "Alert[]"
127901
+ "text": "boolean"
127058
127902
  },
127059
- "default": "[]",
127060
- "fieldName": "alerts"
127903
+ "default": "false",
127904
+ "description": "Whether the dropdown offers the shelved alerts.",
127905
+ "fieldName": "hasShelved",
127906
+ "inheritedFrom": {
127907
+ "name": "ObcAlertListPageSmallBase",
127908
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127909
+ }
127061
127910
  },
127062
127911
  {
127063
127912
  "name": "showTime",
@@ -127065,12 +127914,17 @@
127065
127914
  "text": "boolean"
127066
127915
  },
127067
127916
  "default": "false",
127068
- "fieldName": "showTime"
127917
+ "description": "Whether the list shows when each alert was raised.",
127918
+ "fieldName": "showTime",
127919
+ "inheritedFrom": {
127920
+ "name": "ObcAlertListPageSmallBase",
127921
+ "module": "src/pages/alert-list-page-small/alert-list-page-small-base.ts"
127922
+ }
127069
127923
  }
127070
127924
  ],
127071
127925
  "superclass": {
127072
- "name": "LitElement",
127073
- "package": "lit"
127926
+ "name": "ObcAlertListPageSmallBase",
127927
+ "module": "/src/pages/alert-list-page-small/alert-list-page-small-base.js"
127074
127928
  },
127075
127929
  "tagName": "obc-alert-list-page-small",
127076
127930
  "customElement": true