@sbb-esta/lyne-elements-dev 4.12.0-dev.1777894721 → 4.12.0-dev.1777931567

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 (2) hide show
  1. package/custom-elements.json +1315 -1315
  2. package/package.json +2 -2
@@ -105964,274 +105964,222 @@
105964
105964
  },
105965
105965
  {
105966
105966
  "kind": "javascript-module",
105967
- "path": "menu/common/menu-action-common.js",
105967
+ "path": "menu/menu/menu.component.js",
105968
105968
  "declarations": [
105969
105969
  {
105970
105970
  "kind": "class",
105971
- "description": "",
105972
- "name": "SbbMenuActionCommonElementMixinType",
105973
- "mixins": [
105971
+ "description": "It displays a contextual menu with one or more action element.",
105972
+ "name": "SbbMenuElement",
105973
+ "cssProperties": [
105974
105974
  {
105975
- "name": "SbbIconNameMixin",
105976
- "module": "icon.js"
105977
- },
105975
+ "description": "To specify a custom stack order, the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.",
105976
+ "name": "--sbb-menu-z-index",
105977
+ "default": "var(--sbb-overlay-default-z-index)"
105978
+ }
105979
+ ],
105980
+ "slots": [
105978
105981
  {
105979
- "name": "SbbDisabledMixin",
105980
- "module": "core/mixins.js"
105982
+ "description": "Use the unnamed slot to add `sbb-menu-button`/`sbb-menu-link` or other elements to the menu.",
105983
+ "name": ""
105981
105984
  }
105982
105985
  ],
105983
- "superclass": {
105984
- "name": "SbbActionBaseElement",
105985
- "module": "core/base-elements.js"
105986
- },
105987
- "attributes": [
105986
+ "members": [
105988
105987
  {
105989
- "name": "icon-name",
105988
+ "kind": "field",
105989
+ "name": "elementName",
105990
105990
  "type": {
105991
105991
  "text": "string"
105992
105992
  },
105993
- "default": "''",
105994
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
105995
- "fieldName": "iconName",
105993
+ "privacy": "public",
105994
+ "static": true,
105995
+ "readonly": true,
105996
105996
  "inheritedFrom": {
105997
- "name": "SbbIconNameMixin",
105998
- "module": "icon/icon-name-mixin.js"
105999
- }
105997
+ "name": "SbbElement",
105998
+ "module": "core/base-elements/element.js"
105999
+ },
106000
+ "default": "'sbb-menu'"
106000
106001
  },
106001
106002
  {
106002
- "name": "disabled",
106003
- "description": "Whether the component is disabled.",
106004
- "default": "false",
106003
+ "kind": "field",
106004
+ "name": "role",
106005
106005
  "type": {
106006
- "text": "boolean"
106006
+ "text": "string"
106007
106007
  },
106008
- "fieldName": "disabled",
106009
- "inheritedFrom": {
106010
- "name": "SbbDisabledMixin",
106011
- "module": "core/mixins/disabled-mixin.js"
106012
- }
106013
- }
106014
- ],
106015
- "members": [
106008
+ "privacy": "public",
106009
+ "static": true,
106010
+ "readonly": true,
106011
+ "default": "'menu'"
106012
+ },
106016
106013
  {
106017
106014
  "kind": "field",
106018
- "name": "iconName",
106015
+ "name": "trigger",
106019
106016
  "type": {
106020
- "text": "string"
106017
+ "text": "HTMLElement | null"
106021
106018
  },
106022
106019
  "privacy": "public",
106023
- "default": "''",
106024
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
106025
- "attribute": "icon-name",
106026
- "inheritedFrom": {
106027
- "name": "SbbIconNameMixin",
106028
- "module": "icon/icon-name-mixin.js"
106029
- }
106020
+ "default": "null",
106021
+ "description": "The element that will trigger the menu overlay.\n\nFor attribute usage, provide an id reference.",
106022
+ "attribute": "trigger"
106030
106023
  },
106031
106024
  {
106032
- "kind": "method",
106033
- "name": "renderIconSlot",
106034
- "privacy": "protected",
106035
- "return": {
106036
- "type": {
106037
- "text": "TemplateResult"
106038
- }
106025
+ "kind": "field",
106026
+ "name": "_menu",
106027
+ "type": {
106028
+ "text": "HTMLDivElement"
106039
106029
  },
106040
- "parameters": [
106041
- {
106042
- "name": "classname",
106043
- "optional": true,
106044
- "type": {
106045
- "text": "string"
106046
- }
106047
- }
106048
- ],
106049
- "inheritedFrom": {
106050
- "name": "SbbIconNameMixin",
106051
- "module": "icon/icon-name-mixin.js"
106052
- }
106030
+ "privacy": "private"
106053
106031
  },
106054
106032
  {
106055
- "kind": "method",
106056
- "name": "renderIconName",
106057
- "privacy": "protected",
106058
- "return": {
106059
- "type": {
106060
- "text": "string"
106061
- }
106033
+ "kind": "field",
106034
+ "name": "_triggerElement",
106035
+ "type": {
106036
+ "text": "HTMLElement | null"
106062
106037
  },
106063
- "inheritedFrom": {
106064
- "name": "SbbIconNameMixin",
106065
- "module": "icon/icon-name-mixin.js"
106066
- }
106038
+ "privacy": "private",
106039
+ "default": "null"
106067
106040
  },
106068
106041
  {
106069
- "kind": "method",
106070
- "name": "_renderIconName",
106071
- "privacy": "private",
106072
- "return": {
106073
- "type": {
106074
- "text": "string"
106075
- }
106042
+ "kind": "field",
106043
+ "name": "_triggerAbortController",
106044
+ "type": {
106045
+ "text": "AbortController"
106076
106046
  },
106077
- "inheritedFrom": {
106078
- "name": "SbbIconNameMixin",
106079
- "module": "icon/icon-name-mixin.js"
106080
- }
106047
+ "privacy": "private"
106081
106048
  },
106082
106049
  {
106083
106050
  "kind": "field",
106084
- "name": "disabled",
106085
- "privacy": "public",
106086
- "description": "Whether the component is disabled.",
106087
- "default": "false",
106051
+ "name": "_isPointerDownEventOnMenu",
106088
106052
  "type": {
106089
106053
  "text": "boolean"
106090
106054
  },
106091
- "attribute": "disabled",
106092
- "reflects": true,
106093
- "inheritedFrom": {
106094
- "name": "SbbDisabledMixin",
106095
- "module": "core/mixins/disabled-mixin.js"
106096
- }
106055
+ "privacy": "private",
106056
+ "default": "false"
106097
106057
  },
106098
106058
  {
106099
106059
  "kind": "field",
106100
- "name": "#disabled",
106101
- "privacy": "private",
106060
+ "name": "_windowEventsController",
106102
106061
  "type": {
106103
- "text": "boolean"
106062
+ "text": "AbortController"
106104
106063
  },
106105
- "default": "false",
106106
- "inheritedFrom": {
106107
- "name": "SbbDisabledMixin",
106108
- "module": "core/mixins/disabled-mixin.js"
106109
- }
106064
+ "privacy": "private"
106110
106065
  },
106111
106066
  {
106112
- "kind": "method",
106113
- "name": "isDisabledExternally",
106114
- "privacy": "protected",
106115
- "return": {
106116
- "type": {
106117
- "text": "boolean"
106118
- }
106119
- },
106120
- "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
106121
- "inheritedFrom": {
106122
- "name": "SbbDisabledMixin",
106123
- "module": "core/mixins/disabled-mixin.js"
106124
- }
106067
+ "kind": "field",
106068
+ "name": "_escapableOverlayController",
106069
+ "privacy": "private",
106070
+ "default": "new SbbEscapableOverlayController(this)"
106125
106071
  },
106126
106072
  {
106127
106073
  "kind": "field",
106128
- "name": "maybeDisabled",
106129
- "type": {
106130
- "text": "boolean | undefined"
106131
- },
106132
- "privacy": "protected",
106133
- "readonly": true,
106134
- "inheritedFrom": {
106135
- "name": "SbbActionBaseElement",
106136
- "module": "core/base-elements/action-base-element.js"
106137
- }
106074
+ "name": "_focusTrapController",
106075
+ "privacy": "private",
106076
+ "default": "new SbbFocusTrapController(this)"
106138
106077
  },
106139
106078
  {
106140
106079
  "kind": "field",
106141
- "name": "maybeDisabledInteractive",
106080
+ "name": "_scrollHandler",
106081
+ "privacy": "private",
106082
+ "default": "new SbbScrollHandler()"
106083
+ },
106084
+ {
106085
+ "kind": "field",
106086
+ "name": "_inertController",
106087
+ "privacy": "private",
106088
+ "default": "new SbbInertController(this)"
106089
+ },
106090
+ {
106091
+ "kind": "field",
106092
+ "name": "_mobileBreakpoint",
106093
+ "privacy": "private",
106094
+ "default": "SbbMediaQueryBreakpointSmallAndBelow"
106095
+ },
106096
+ {
106097
+ "kind": "field",
106098
+ "name": "_mediaMatcher",
106099
+ "privacy": "private",
106100
+ "default": "new SbbMediaMatcherController(this, { [this._mobileBreakpoint]: (matches) => { if (matches && (this.state === 'opening' || this.state === 'opened')) { this._scrollHandler.disableScroll(); } else { this._scrollHandler.enableScroll(); } }, })"
106101
+ },
106102
+ {
106103
+ "kind": "field",
106104
+ "name": "_darkModeController",
106105
+ "privacy": "private",
106106
+ "default": "new SbbDarkModeController(this, () => this._syncNegative())"
106107
+ },
106108
+ {
106109
+ "kind": "field",
106110
+ "name": "_language",
106111
+ "privacy": "private",
106112
+ "default": "new SbbLanguageController(this)"
106113
+ },
106114
+ {
106115
+ "kind": "field",
106116
+ "name": "_nestedMenu",
106142
106117
  "type": {
106143
- "text": "boolean | undefined"
106118
+ "text": "SbbMenuElement | null"
106144
106119
  },
106145
- "privacy": "protected",
106146
- "readonly": true,
106147
- "inheritedFrom": {
106148
- "name": "SbbActionBaseElement",
106149
- "module": "core/base-elements/action-base-element.js"
106150
- }
106120
+ "privacy": "private",
106121
+ "default": "null"
106151
106122
  },
106152
106123
  {
106153
106124
  "kind": "method",
106154
- "name": "setupBaseEventHandlers",
106155
- "privacy": "protected",
106125
+ "name": "escapeStrategy",
106126
+ "privacy": "public",
106156
106127
  "return": {
106157
106128
  "type": {
106158
106129
  "text": "void"
106159
106130
  }
106160
106131
  },
106132
+ "description": "The method which is called on escape key press. Defaults to calling close()",
106161
106133
  "inheritedFrom": {
106162
- "name": "SbbActionBaseElement",
106163
- "module": "core/base-elements/action-base-element.js"
106134
+ "name": "SbbOpenCloseBaseElement",
106135
+ "module": "core/base-elements/open-close-base-element.js"
106164
106136
  }
106165
106137
  },
106166
106138
  {
106167
106139
  "kind": "method",
106168
- "name": "renderTemplate",
106169
- "privacy": "protected",
106140
+ "name": "open",
106141
+ "privacy": "public",
106170
106142
  "return": {
106171
106143
  "type": {
106172
- "text": "TemplateResult"
106144
+ "text": "void"
106173
106145
  }
106174
106146
  },
106175
- "description": "Override this method to render the component template.",
106147
+ "description": "Opens the menu on trigger click.",
106176
106148
  "inheritedFrom": {
106177
- "name": "SbbActionBaseElement",
106178
- "module": "core/base-elements/action-base-element.js"
106179
- }
106180
- },
106181
- {
106182
- "kind": "field",
106183
- "name": "_hydrationRequired",
106184
- "type": {
106185
- "text": "boolean"
106186
- },
106187
- "privacy": "private",
106188
- "default": "!!this.shadowRoot",
106189
- "inheritedFrom": {
106190
- "name": "SbbElement",
106191
- "module": "core/base-elements/element.js"
106192
- }
106193
- },
106194
- {
106195
- "kind": "field",
106196
- "name": "_hydrationComplete",
106197
- "privacy": "private",
106198
- "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
106199
- "inheritedFrom": {
106200
- "name": "SbbElement",
106201
- "module": "core/base-elements/element.js"
106149
+ "name": "SbbOpenCloseBaseElement",
106150
+ "module": "core/base-elements/open-close-base-element.js"
106202
106151
  }
106203
106152
  },
106204
106153
  {
106205
- "kind": "field",
106206
- "name": "_resolveHydration",
106207
- "type": {
106208
- "text": "(hydrationRequired: boolean) => void"
106154
+ "kind": "method",
106155
+ "name": "close",
106156
+ "privacy": "public",
106157
+ "return": {
106158
+ "type": {
106159
+ "text": "void"
106160
+ }
106209
106161
  },
106210
- "privacy": "private",
106162
+ "description": "Closes the menu and all its nested menus.",
106211
106163
  "inheritedFrom": {
106212
- "name": "SbbElement",
106213
- "module": "core/base-elements/element.js"
106164
+ "name": "SbbOpenCloseBaseElement",
106165
+ "module": "core/base-elements/open-close-base-element.js"
106214
106166
  }
106215
106167
  },
106216
106168
  {
106217
- "kind": "field",
106218
- "name": "hydrationRequired",
106219
- "type": {
106220
- "text": "boolean"
106221
- },
106222
- "privacy": "protected",
106223
- "description": "Returns whether hydration is required and not completed.",
106224
- "readonly": true,
106225
- "inheritedFrom": {
106226
- "name": "SbbElement",
106227
- "module": "core/base-elements/element.js"
106169
+ "kind": "method",
106170
+ "name": "closeAll",
106171
+ "privacy": "public",
106172
+ "return": {
106173
+ "type": {
106174
+ "text": "void"
106175
+ }
106228
106176
  },
106229
- "default": "!!this.shadowRoot"
106177
+ "description": "Closes the menu and all related menus (nested and parent menus)."
106230
106178
  },
106231
106179
  {
106232
106180
  "kind": "method",
106233
- "name": "toggleState",
106234
- "privacy": "protected",
106181
+ "name": "_close",
106182
+ "privacy": "private",
106235
106183
  "return": {
106236
106184
  "type": {
106237
106185
  "text": "void"
@@ -106239,452 +106187,277 @@
106239
106187
  },
106240
106188
  "parameters": [
106241
106189
  {
106242
- "name": "value",
106243
- "type": {
106244
- "text": "string"
106245
- }
106246
- },
106247
- {
106248
- "name": "force",
106249
- "optional": true,
106250
- "type": {
106251
- "text": "boolean"
106252
- }
106190
+ "name": "closeAll",
106191
+ "default": "false",
106192
+ "description": "If true, it ensures animations are correct by toggling some states when closing all related menus at once.",
106193
+ "optional": true
106253
106194
  }
106254
- ],
106255
- "inheritedFrom": {
106256
- "name": "SbbElement",
106257
- "module": "core/base-elements/element.js"
106258
- }
106259
- },
106260
- {
106261
- "kind": "field",
106262
- "name": "['_$sbbElement$']",
106263
- "type": {
106264
- "text": "boolean"
106265
- },
106266
- "privacy": "public",
106267
- "static": true,
106268
- "default": "true",
106269
- "inheritedFrom": {
106270
- "name": "SbbElement",
106271
- "module": "core/base-elements/element.js"
106272
- }
106273
- },
106274
- {
106275
- "kind": "field",
106276
- "name": "elementName",
106277
- "type": {
106278
- "text": "string"
106279
- },
106280
- "privacy": "public",
106281
- "static": true,
106282
- "readonly": true,
106283
- "inheritedFrom": {
106284
- "name": "SbbElement",
106285
- "module": "core/base-elements/element.js"
106286
- }
106195
+ ]
106287
106196
  },
106288
106197
  {
106289
- "kind": "field",
106290
- "name": "_controllers",
106291
- "type": {
106292
- "text": "Set<SbbReactiveController> | undefined"
106293
- },
106198
+ "kind": "method",
106199
+ "name": "_isZeroAnimationDuration",
106294
106200
  "privacy": "private",
106295
- "inheritedFrom": {
106296
- "name": "SbbElement",
106297
- "module": "core/base-elements/element.js"
106201
+ "return": {
106202
+ "type": {
106203
+ "text": "boolean"
106204
+ }
106298
106205
  }
106299
- }
106300
- ]
106301
- },
106302
- {
106303
- "kind": "mixin",
106304
- "description": "",
106305
- "name": "SbbMenuActionCommonElementMixin",
106306
- "members": [
106307
- {
106308
- "kind": "field",
106309
- "name": "styles",
106310
- "type": {
106311
- "text": "CSSResultGroup"
106312
- },
106313
- "privacy": "public",
106314
- "static": true,
106315
- "default": "[boxSizingStyles, unsafeCSS(style)]"
106316
106206
  },
106317
106207
  {
106318
106208
  "kind": "method",
106319
- "name": "renderTemplate",
106320
- "privacy": "protected",
106209
+ "name": "_handleOpening",
106210
+ "privacy": "private",
106321
106211
  "return": {
106322
106212
  "type": {
106323
- "text": "TemplateResult"
106213
+ "text": "void"
106324
106214
  }
106325
106215
  }
106326
106216
  },
106327
106217
  {
106328
- "kind": "field",
106329
- "name": "iconName",
106330
- "type": {
106331
- "text": "string"
106332
- },
106333
- "privacy": "public",
106334
- "default": "''",
106335
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
106336
- "attribute": "icon-name",
106337
- "inheritedFrom": {
106338
- "name": "SbbIconNameMixin",
106339
- "module": "icon/icon-name-mixin.js"
106218
+ "kind": "method",
106219
+ "name": "_handleClosing",
106220
+ "privacy": "private",
106221
+ "return": {
106222
+ "type": {
106223
+ "text": "void"
106224
+ }
106340
106225
  }
106341
106226
  },
106342
106227
  {
106343
106228
  "kind": "method",
106344
- "name": "renderIconSlot",
106345
- "privacy": "protected",
106229
+ "name": "_handleKeyDown",
106230
+ "privacy": "private",
106346
106231
  "return": {
106347
106232
  "type": {
106348
- "text": "TemplateResult"
106233
+ "text": "void"
106349
106234
  }
106350
106235
  },
106351
106236
  "parameters": [
106352
106237
  {
106353
- "name": "classname",
106354
- "optional": true,
106238
+ "name": "evt",
106355
106239
  "type": {
106356
- "text": "string"
106240
+ "text": "KeyboardEvent"
106357
106241
  }
106358
106242
  }
106359
- ],
106360
- "inheritedFrom": {
106361
- "name": "SbbIconNameMixin",
106362
- "module": "icon/icon-name-mixin.js"
106243
+ ]
106244
+ },
106245
+ {
106246
+ "kind": "method",
106247
+ "name": "_configureTrigger",
106248
+ "privacy": "private",
106249
+ "return": {
106250
+ "type": {
106251
+ "text": "void"
106252
+ }
106363
106253
  }
106364
106254
  },
106365
106255
  {
106366
106256
  "kind": "method",
106367
- "name": "renderIconName",
106368
- "privacy": "protected",
106257
+ "name": "_attachWindowEvents",
106258
+ "privacy": "private",
106369
106259
  "return": {
106370
106260
  "type": {
106371
- "text": "string"
106261
+ "text": "void"
106372
106262
  }
106373
- },
106374
- "inheritedFrom": {
106375
- "name": "SbbIconNameMixin",
106376
- "module": "icon/icon-name-mixin.js"
106377
106263
  }
106378
106264
  },
106379
106265
  {
106380
106266
  "kind": "method",
106381
- "name": "_renderIconName",
106267
+ "name": "_interactiveElementClick",
106382
106268
  "privacy": "private",
106383
106269
  "return": {
106384
106270
  "type": {
106385
- "text": "string"
106271
+ "text": "void"
106386
106272
  }
106387
106273
  },
106388
- "inheritedFrom": {
106389
- "name": "SbbIconNameMixin",
106390
- "module": "icon/icon-name-mixin.js"
106391
- }
106274
+ "parameters": [
106275
+ {
106276
+ "name": "event",
106277
+ "type": {
106278
+ "text": "Event"
106279
+ }
106280
+ }
106281
+ ]
106392
106282
  },
106393
106283
  {
106394
106284
  "kind": "field",
106395
- "name": "disabled",
106396
- "privacy": "public",
106397
- "description": "Whether the component is disabled.",
106398
- "default": "false",
106399
- "type": {
106400
- "text": "boolean"
106401
- },
106402
- "attribute": "disabled",
106403
- "reflects": true,
106404
- "inheritedFrom": {
106405
- "name": "SbbDisabledMixin",
106406
- "module": "core/mixins/disabled-mixin.js"
106407
- }
106285
+ "name": "_pointerDownListener",
106286
+ "privacy": "private"
106408
106287
  },
106409
106288
  {
106410
106289
  "kind": "field",
106411
- "name": "#disabled",
106412
- "privacy": "private",
106413
- "type": {
106414
- "text": "boolean"
106415
- },
106416
- "default": "false",
106417
- "inheritedFrom": {
106418
- "name": "SbbDisabledMixin",
106419
- "module": "core/mixins/disabled-mixin.js"
106420
- }
106290
+ "name": "_closeOnBackdropClick",
106291
+ "privacy": "private"
106421
106292
  },
106422
106293
  {
106423
106294
  "kind": "method",
106424
- "name": "isDisabledExternally",
106425
- "privacy": "protected",
106295
+ "name": "_nestedMenus",
106296
+ "privacy": "private",
106426
106297
  "return": {
106427
106298
  "type": {
106428
- "text": "boolean"
106299
+ "text": "SbbMenuElement[]"
106429
106300
  }
106430
106301
  },
106431
- "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
106432
- "inheritedFrom": {
106433
- "name": "SbbDisabledMixin",
106434
- "module": "core/mixins/disabled-mixin.js"
106435
- }
106436
- }
106437
- ],
106438
- "mixins": [
106439
- {
106440
- "name": "SbbIconNameMixin",
106441
- "module": "icon.js"
106302
+ "description": "Converts the linked list into an array of SbbMenuElement."
106442
106303
  },
106443
106304
  {
106444
- "name": "SbbDisabledMixin",
106445
- "module": "core/mixins.js"
106446
- }
106447
- ],
106448
- "parameters": [
106449
- {
106450
- "name": "superClass",
106451
- "type": {
106452
- "text": "T"
106453
- }
106454
- }
106455
- ],
106456
- "attributes": [
106457
- {
106458
- "name": "icon-name",
106459
- "type": {
106460
- "text": "string"
106461
- },
106462
- "default": "''",
106463
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
106464
- "fieldName": "iconName",
106465
- "inheritedFrom": {
106466
- "name": "SbbIconNameMixin",
106467
- "module": "icon/icon-name-mixin.js"
106305
+ "kind": "method",
106306
+ "name": "_parentMenu",
106307
+ "privacy": "private",
106308
+ "return": {
106309
+ "type": {
106310
+ "text": "SbbMenuElement | null"
106311
+ }
106468
106312
  }
106469
106313
  },
106470
106314
  {
106471
- "name": "disabled",
106472
- "description": "Whether the component is disabled.",
106473
- "default": "false",
106474
- "type": {
106475
- "text": "boolean"
106476
- },
106477
- "fieldName": "disabled",
106478
- "inheritedFrom": {
106479
- "name": "SbbDisabledMixin",
106480
- "module": "core/mixins/disabled-mixin.js"
106481
- }
106482
- }
106483
- ]
106484
- }
106485
- ],
106486
- "exports": [
106487
- {
106488
- "kind": "js",
106489
- "name": "SbbMenuActionCommonElementMixinType",
106490
- "declaration": {
106491
- "name": "SbbMenuActionCommonElementMixinType",
106492
- "module": "menu/common/menu-action-common.js"
106493
- }
106494
- },
106495
- {
106496
- "kind": "js",
106497
- "name": "SbbMenuActionCommonElementMixin",
106498
- "declaration": {
106499
- "name": "SbbMenuActionCommonElementMixin",
106500
- "module": "menu/common/menu-action-common.js"
106501
- }
106502
- }
106503
- ]
106504
- },
106505
- {
106506
- "kind": "javascript-module",
106507
- "path": "menu/menu/menu.component.js",
106508
- "declarations": [
106509
- {
106510
- "kind": "class",
106511
- "description": "It displays a contextual menu with one or more action element.",
106512
- "name": "SbbMenuElement",
106513
- "cssProperties": [
106514
- {
106515
- "description": "To specify a custom stack order, the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.",
106516
- "name": "--sbb-menu-z-index",
106517
- "default": "var(--sbb-overlay-default-z-index)"
106518
- }
106519
- ],
106520
- "slots": [
106521
- {
106522
- "description": "Use the unnamed slot to add `sbb-menu-button`/`sbb-menu-link` or other elements to the menu.",
106523
- "name": ""
106524
- }
106525
- ],
106526
- "members": [
106527
- {
106528
- "kind": "field",
106529
- "name": "elementName",
106530
- "type": {
106531
- "text": "string"
106532
- },
106533
- "privacy": "public",
106534
- "static": true,
106535
- "readonly": true,
106536
- "inheritedFrom": {
106537
- "name": "SbbElement",
106538
- "module": "core/base-elements/element.js"
106539
- },
106540
- "default": "'sbb-menu'"
106541
- },
106542
- {
106543
- "kind": "field",
106544
- "name": "role",
106545
- "type": {
106546
- "text": "string"
106547
- },
106548
- "privacy": "public",
106549
- "static": true,
106550
- "readonly": true,
106551
- "default": "'menu'"
106552
- },
106553
- {
106554
- "kind": "field",
106555
- "name": "trigger",
106556
- "type": {
106557
- "text": "HTMLElement | null"
106558
- },
106559
- "privacy": "public",
106560
- "default": "null",
106561
- "description": "The element that will trigger the menu overlay.\n\nFor attribute usage, provide an id reference.",
106562
- "attribute": "trigger"
106563
- },
106564
- {
106565
- "kind": "field",
106566
- "name": "_menu",
106567
- "type": {
106568
- "text": "HTMLDivElement"
106569
- },
106570
- "privacy": "private"
106571
- },
106572
- {
106573
- "kind": "field",
106574
- "name": "_triggerElement",
106575
- "type": {
106576
- "text": "HTMLElement | null"
106577
- },
106315
+ "kind": "method",
106316
+ "name": "_mainMenu",
106578
106317
  "privacy": "private",
106579
- "default": "null"
106580
- },
106581
- {
106582
- "kind": "field",
106583
- "name": "_triggerAbortController",
106584
- "type": {
106585
- "text": "AbortController"
106318
+ "return": {
106319
+ "type": {
106320
+ "text": "SbbMenuElement"
106321
+ }
106586
106322
  },
106587
- "privacy": "private"
106323
+ "description": "The outermost menu."
106588
106324
  },
106589
106325
  {
106590
- "kind": "field",
106591
- "name": "_isPointerDownEventOnMenu",
106592
- "type": {
106593
- "text": "boolean"
106594
- },
106326
+ "kind": "method",
106327
+ "name": "_isNested",
106595
106328
  "privacy": "private",
106596
- "default": "false"
106597
- },
106598
- {
106599
- "kind": "field",
106600
- "name": "_windowEventsController",
106601
- "type": {
106602
- "text": "AbortController"
106603
- },
106604
- "privacy": "private"
106329
+ "return": {
106330
+ "type": {
106331
+ "text": "boolean"
106332
+ }
106333
+ }
106605
106334
  },
106606
106335
  {
106607
- "kind": "field",
106608
- "name": "_escapableOverlayController",
106336
+ "kind": "method",
106337
+ "name": "_updateNestedInert",
106609
106338
  "privacy": "private",
106610
- "default": "new SbbEscapableOverlayController(this)"
106339
+ "return": {
106340
+ "type": {
106341
+ "text": "void"
106342
+ }
106343
+ }
106611
106344
  },
106612
106345
  {
106613
- "kind": "field",
106614
- "name": "_focusTrapController",
106346
+ "kind": "method",
106347
+ "name": "_handleMouseOver",
106615
106348
  "privacy": "private",
106616
- "default": "new SbbFocusTrapController(this)"
106349
+ "return": {
106350
+ "type": {
106351
+ "text": "void"
106352
+ }
106353
+ },
106354
+ "parameters": [
106355
+ {
106356
+ "name": "event",
106357
+ "type": {
106358
+ "text": "MouseEvent"
106359
+ }
106360
+ }
106361
+ ]
106617
106362
  },
106618
106363
  {
106619
- "kind": "field",
106620
- "name": "_scrollHandler",
106364
+ "kind": "method",
106365
+ "name": "_onMenuAnimationEnd",
106621
106366
  "privacy": "private",
106622
- "default": "new SbbScrollHandler()"
106367
+ "return": {
106368
+ "type": {
106369
+ "text": "void"
106370
+ }
106371
+ },
106372
+ "parameters": [
106373
+ {
106374
+ "name": "event",
106375
+ "type": {
106376
+ "text": "AnimationEvent"
106377
+ }
106378
+ }
106379
+ ]
106623
106380
  },
106624
106381
  {
106625
- "kind": "field",
106626
- "name": "_inertController",
106382
+ "kind": "method",
106383
+ "name": "_setMenuPosition",
106627
106384
  "privacy": "private",
106628
- "default": "new SbbInertController(this)"
106385
+ "return": {
106386
+ "type": {
106387
+ "text": "void"
106388
+ }
106389
+ }
106629
106390
  },
106630
106391
  {
106631
- "kind": "field",
106632
- "name": "_mobileBreakpoint",
106392
+ "kind": "method",
106393
+ "name": "_syncNegative",
106633
106394
  "privacy": "private",
106634
- "default": "SbbMediaQueryBreakpointSmallAndBelow"
106395
+ "return": {
106396
+ "type": {
106397
+ "text": "void"
106398
+ }
106399
+ }
106635
106400
  },
106636
106401
  {
106637
- "kind": "field",
106638
- "name": "_mediaMatcher",
106402
+ "kind": "method",
106403
+ "name": "_isMobile",
106639
106404
  "privacy": "private",
106640
- "default": "new SbbMediaMatcherController(this, { [this._mobileBreakpoint]: (matches) => { if (matches && (this.state === 'opening' || this.state === 'opened')) { this._scrollHandler.disableScroll(); } else { this._scrollHandler.enableScroll(); } }, })"
106405
+ "return": {
106406
+ "type": {
106407
+ "text": "boolean"
106408
+ }
106409
+ }
106641
106410
  },
106642
106411
  {
106643
106412
  "kind": "field",
106644
- "name": "_darkModeController",
106645
- "privacy": "private",
106646
- "default": "new SbbDarkModeController(this, () => this._syncNegative())"
106413
+ "name": "events",
106414
+ "privacy": "public",
106415
+ "static": true,
106416
+ "readonly": true,
106417
+ "default": "{ beforeopen: 'beforeopen', open: 'open', beforeclose: 'beforeclose', close: 'close', }",
106418
+ "type": {
106419
+ "text": "{\n beforeopen: 'beforeopen',\n open: 'open',\n beforeclose: 'beforeclose',\n close: 'close',\n }"
106420
+ },
106421
+ "inheritedFrom": {
106422
+ "name": "SbbOpenCloseBaseElement",
106423
+ "module": "core/base-elements/open-close-base-element.js"
106424
+ }
106647
106425
  },
106648
106426
  {
106649
106427
  "kind": "field",
106650
- "name": "_language",
106651
- "privacy": "private",
106652
- "default": "new SbbLanguageController(this)"
106428
+ "name": "state",
106429
+ "privacy": "protected",
106430
+ "description": "The state of the component.",
106431
+ "type": {
106432
+ "text": "SbbOpenedClosedState"
106433
+ },
106434
+ "default": "'closed'",
106435
+ "inheritedFrom": {
106436
+ "name": "SbbOpenCloseBaseElement",
106437
+ "module": "core/base-elements/open-close-base-element.js"
106438
+ }
106653
106439
  },
106654
106440
  {
106655
106441
  "kind": "field",
106656
- "name": "_nestedMenu",
106442
+ "name": "_state",
106657
106443
  "type": {
106658
- "text": "SbbMenuElement | null"
106444
+ "text": "SbbOpenedClosedState"
106659
106445
  },
106660
106446
  "privacy": "private",
106661
- "default": "null"
106662
- },
106663
- {
106664
- "kind": "method",
106665
- "name": "escapeStrategy",
106666
- "privacy": "public",
106667
- "return": {
106668
- "type": {
106669
- "text": "void"
106670
- }
106671
- },
106672
- "description": "The method which is called on escape key press. Defaults to calling close()",
106673
106447
  "inheritedFrom": {
106674
106448
  "name": "SbbOpenCloseBaseElement",
106675
106449
  "module": "core/base-elements/open-close-base-element.js"
106676
106450
  }
106677
106451
  },
106678
106452
  {
106679
- "kind": "method",
106680
- "name": "open",
106681
- "privacy": "public",
106682
- "return": {
106683
- "type": {
106684
- "text": "void"
106685
- }
106453
+ "kind": "field",
106454
+ "name": "isOpen",
106455
+ "type": {
106456
+ "text": "boolean"
106686
106457
  },
106687
- "description": "Opens the menu on trigger click.",
106458
+ "privacy": "public",
106459
+ "description": "Whether the element is open.",
106460
+ "readonly": true,
106688
106461
  "inheritedFrom": {
106689
106462
  "name": "SbbOpenCloseBaseElement",
106690
106463
  "module": "core/base-elements/open-close-base-element.js"
@@ -106692,14 +106465,13 @@
106692
106465
  },
106693
106466
  {
106694
106467
  "kind": "method",
106695
- "name": "close",
106696
- "privacy": "public",
106468
+ "name": "dispatchBeforeOpenEvent",
106469
+ "privacy": "protected",
106697
106470
  "return": {
106698
106471
  "type": {
106699
- "text": "void"
106472
+ "text": "boolean"
106700
106473
  }
106701
106474
  },
106702
- "description": "Closes the menu and all its nested menus.",
106703
106475
  "inheritedFrom": {
106704
106476
  "name": "SbbOpenCloseBaseElement",
106705
106477
  "module": "core/base-elements/open-close-base-element.js"
@@ -106707,105 +106479,100 @@
106707
106479
  },
106708
106480
  {
106709
106481
  "kind": "method",
106710
- "name": "closeAll",
106711
- "privacy": "public",
106482
+ "name": "dispatchOpenEvent",
106483
+ "privacy": "protected",
106712
106484
  "return": {
106713
106485
  "type": {
106714
- "text": "void"
106486
+ "text": "boolean"
106715
106487
  }
106716
106488
  },
106717
- "description": "Closes the menu and all related menus (nested and parent menus)."
106489
+ "inheritedFrom": {
106490
+ "name": "SbbOpenCloseBaseElement",
106491
+ "module": "core/base-elements/open-close-base-element.js"
106492
+ }
106718
106493
  },
106719
106494
  {
106720
106495
  "kind": "method",
106721
- "name": "_close",
106722
- "privacy": "private",
106496
+ "name": "dispatchBeforeCloseEvent",
106497
+ "privacy": "protected",
106723
106498
  "return": {
106724
106499
  "type": {
106725
- "text": "void"
106500
+ "text": "boolean"
106726
106501
  }
106727
106502
  },
106728
- "parameters": [
106729
- {
106730
- "name": "closeAll",
106731
- "default": "false",
106732
- "description": "If true, it ensures animations are correct by toggling some states when closing all related menus at once.",
106733
- "optional": true
106734
- }
106735
- ]
106503
+ "inheritedFrom": {
106504
+ "name": "SbbOpenCloseBaseElement",
106505
+ "module": "core/base-elements/open-close-base-element.js"
106506
+ }
106736
106507
  },
106737
106508
  {
106738
106509
  "kind": "method",
106739
- "name": "_isZeroAnimationDuration",
106740
- "privacy": "private",
106510
+ "name": "dispatchCloseEvent",
106511
+ "privacy": "protected",
106741
106512
  "return": {
106742
106513
  "type": {
106743
106514
  "text": "boolean"
106744
106515
  }
106516
+ },
106517
+ "inheritedFrom": {
106518
+ "name": "SbbOpenCloseBaseElement",
106519
+ "module": "core/base-elements/open-close-base-element.js"
106745
106520
  }
106746
106521
  },
106747
106522
  {
106748
- "kind": "method",
106749
- "name": "_handleOpening",
106523
+ "kind": "field",
106524
+ "name": "_hydrationRequired",
106525
+ "type": {
106526
+ "text": "boolean"
106527
+ },
106750
106528
  "privacy": "private",
106751
- "return": {
106752
- "type": {
106753
- "text": "void"
106754
- }
106529
+ "default": "!!this.shadowRoot",
106530
+ "inheritedFrom": {
106531
+ "name": "SbbElement",
106532
+ "module": "core/base-elements/element.js"
106755
106533
  }
106756
106534
  },
106757
106535
  {
106758
- "kind": "method",
106759
- "name": "_handleClosing",
106536
+ "kind": "field",
106537
+ "name": "_hydrationComplete",
106760
106538
  "privacy": "private",
106761
- "return": {
106762
- "type": {
106763
- "text": "void"
106764
- }
106539
+ "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
106540
+ "inheritedFrom": {
106541
+ "name": "SbbElement",
106542
+ "module": "core/base-elements/element.js"
106765
106543
  }
106766
106544
  },
106767
106545
  {
106768
- "kind": "method",
106769
- "name": "_handleKeyDown",
106770
- "privacy": "private",
106771
- "return": {
106772
- "type": {
106773
- "text": "void"
106774
- }
106546
+ "kind": "field",
106547
+ "name": "_resolveHydration",
106548
+ "type": {
106549
+ "text": "(hydrationRequired: boolean) => void"
106775
106550
  },
106776
- "parameters": [
106777
- {
106778
- "name": "evt",
106779
- "type": {
106780
- "text": "KeyboardEvent"
106781
- }
106782
- }
106783
- ]
106784
- },
106785
- {
106786
- "kind": "method",
106787
- "name": "_configureTrigger",
106788
106551
  "privacy": "private",
106789
- "return": {
106790
- "type": {
106791
- "text": "void"
106792
- }
106552
+ "inheritedFrom": {
106553
+ "name": "SbbElement",
106554
+ "module": "core/base-elements/element.js"
106793
106555
  }
106794
106556
  },
106795
106557
  {
106796
- "kind": "method",
106797
- "name": "_attachWindowEvents",
106798
- "privacy": "private",
106799
- "return": {
106800
- "type": {
106801
- "text": "void"
106802
- }
106803
- }
106558
+ "kind": "field",
106559
+ "name": "hydrationRequired",
106560
+ "type": {
106561
+ "text": "boolean"
106562
+ },
106563
+ "privacy": "protected",
106564
+ "description": "Returns whether hydration is required and not completed.",
106565
+ "readonly": true,
106566
+ "inheritedFrom": {
106567
+ "name": "SbbElement",
106568
+ "module": "core/base-elements/element.js"
106569
+ },
106570
+ "default": "!!this.shadowRoot"
106804
106571
  },
106805
106572
  {
106806
106573
  "kind": "method",
106807
- "name": "_interactiveElementClick",
106808
- "privacy": "private",
106574
+ "name": "toggleState",
106575
+ "privacy": "protected",
106809
106576
  "return": {
106810
106577
  "type": {
106811
106578
  "text": "void"
@@ -106813,306 +106580,422 @@
106813
106580
  },
106814
106581
  "parameters": [
106815
106582
  {
106816
- "name": "event",
106583
+ "name": "value",
106817
106584
  "type": {
106818
- "text": "Event"
106585
+ "text": "string"
106586
+ }
106587
+ },
106588
+ {
106589
+ "name": "force",
106590
+ "optional": true,
106591
+ "type": {
106592
+ "text": "boolean"
106819
106593
  }
106820
106594
  }
106821
- ]
106595
+ ],
106596
+ "inheritedFrom": {
106597
+ "name": "SbbElement",
106598
+ "module": "core/base-elements/element.js"
106599
+ }
106822
106600
  },
106823
106601
  {
106824
106602
  "kind": "field",
106825
- "name": "_pointerDownListener",
106826
- "privacy": "private"
106603
+ "name": "['_$sbbElement$']",
106604
+ "type": {
106605
+ "text": "boolean"
106606
+ },
106607
+ "privacy": "public",
106608
+ "static": true,
106609
+ "default": "true",
106610
+ "inheritedFrom": {
106611
+ "name": "SbbElement",
106612
+ "module": "core/base-elements/element.js"
106613
+ }
106827
106614
  },
106828
106615
  {
106829
106616
  "kind": "field",
106830
- "name": "_closeOnBackdropClick",
106831
- "privacy": "private"
106617
+ "name": "_controllers",
106618
+ "type": {
106619
+ "text": "Set<SbbReactiveController> | undefined"
106620
+ },
106621
+ "privacy": "private",
106622
+ "inheritedFrom": {
106623
+ "name": "SbbElement",
106624
+ "module": "core/base-elements/element.js"
106625
+ }
106626
+ }
106627
+ ],
106628
+ "attributes": [
106629
+ {
106630
+ "name": "trigger",
106631
+ "type": {
106632
+ "text": "HTMLElement | null"
106633
+ },
106634
+ "default": "null",
106635
+ "description": "The element that will trigger the menu overlay.\n\nFor attribute usage, provide an id reference.",
106636
+ "fieldName": "trigger"
106637
+ }
106638
+ ],
106639
+ "superclass": {
106640
+ "name": "SbbOpenCloseBaseElement",
106641
+ "module": "core/base-elements.js"
106642
+ },
106643
+ "tagName": "sbb-menu",
106644
+ "customElement": true,
106645
+ "events": [
106646
+ {
106647
+ "name": "beforeopen",
106648
+ "type": {
106649
+ "text": "Event"
106650
+ },
106651
+ "description": "Emits whenever the component starts the opening transition. Can be canceled.",
106652
+ "inheritedFrom": {
106653
+ "name": "SbbOpenCloseBaseElement",
106654
+ "module": "core/base-elements/open-close-base-element.js"
106655
+ }
106832
106656
  },
106833
106657
  {
106834
- "kind": "method",
106835
- "name": "_nestedMenus",
106836
- "privacy": "private",
106837
- "return": {
106838
- "type": {
106839
- "text": "SbbMenuElement[]"
106840
- }
106658
+ "name": "open",
106659
+ "type": {
106660
+ "text": "Event"
106841
106661
  },
106842
- "description": "Converts the linked list into an array of SbbMenuElement."
106662
+ "description": "Emits whenever the component is opened.",
106663
+ "inheritedFrom": {
106664
+ "name": "SbbOpenCloseBaseElement",
106665
+ "module": "core/base-elements/open-close-base-element.js"
106666
+ }
106843
106667
  },
106844
106668
  {
106845
- "kind": "method",
106846
- "name": "_parentMenu",
106847
- "privacy": "private",
106848
- "return": {
106849
- "type": {
106850
- "text": "SbbMenuElement | null"
106851
- }
106852
- }
106669
+ "name": "beforeclose",
106670
+ "type": {
106671
+ "text": "Event"
106672
+ },
106673
+ "description": "Emits whenever the component begins the closing transition. Can be canceled.",
106674
+ "inheritedFrom": {
106675
+ "name": "SbbOpenCloseBaseElement",
106676
+ "module": "core/base-elements/open-close-base-element.js"
106677
+ }
106678
+ },
106679
+ {
106680
+ "name": "close",
106681
+ "type": {
106682
+ "text": "Event"
106683
+ },
106684
+ "description": "Emits whenever the component is closed.",
106685
+ "inheritedFrom": {
106686
+ "name": "SbbOpenCloseBaseElement",
106687
+ "module": "core/base-elements/open-close-base-element.js"
106688
+ }
106689
+ }
106690
+ ]
106691
+ }
106692
+ ],
106693
+ "exports": [
106694
+ {
106695
+ "kind": "js",
106696
+ "name": "SbbMenuElement",
106697
+ "declaration": {
106698
+ "name": "SbbMenuElement",
106699
+ "module": "menu/menu/menu.component.js"
106700
+ }
106701
+ }
106702
+ ]
106703
+ },
106704
+ {
106705
+ "kind": "javascript-module",
106706
+ "path": "menu/menu-button/menu-button.component.js",
106707
+ "declarations": [
106708
+ {
106709
+ "kind": "class",
106710
+ "description": "It displays a button element that can be used in the `sbb-menu` component.",
106711
+ "name": "SbbMenuButtonElement",
106712
+ "cssProperties": [
106713
+ {
106714
+ "description": "Can be used to modify horizontal padding.",
106715
+ "name": "--sbb-menu-action-outer-horizontal-padding",
106716
+ "default": "var(--sbb-spacing-fixed-3x)"
106717
+ }
106718
+ ],
106719
+ "slots": [
106720
+ {
106721
+ "description": "Use the unnamed slot to add content to the `sbb-menu-button`.",
106722
+ "name": ""
106853
106723
  },
106854
106724
  {
106855
- "kind": "method",
106856
- "name": "_mainMenu",
106857
- "privacy": "private",
106858
- "return": {
106859
- "type": {
106860
- "text": "SbbMenuElement"
106861
- }
106862
- },
106863
- "description": "The outermost menu."
106864
- },
106725
+ "description": "Use this slot to provide an icon. If `icon-name` is set, a `sbb-icon` will be used.",
106726
+ "name": "icon"
106727
+ }
106728
+ ],
106729
+ "members": [
106865
106730
  {
106866
- "kind": "method",
106867
- "name": "_isNested",
106868
- "privacy": "private",
106869
- "return": {
106870
- "type": {
106871
- "text": "boolean"
106872
- }
106873
- }
106731
+ "kind": "field",
106732
+ "name": "elementName",
106733
+ "type": {
106734
+ "text": "string"
106735
+ },
106736
+ "privacy": "public",
106737
+ "static": true,
106738
+ "readonly": true,
106739
+ "inheritedFrom": {
106740
+ "name": "SbbElement",
106741
+ "module": "core/base-elements/element.js"
106742
+ },
106743
+ "default": "'sbb-menu-button'"
106874
106744
  },
106875
106745
  {
106876
- "kind": "method",
106877
- "name": "_updateNestedInert",
106878
- "privacy": "private",
106879
- "return": {
106880
- "type": {
106881
- "text": "void"
106882
- }
106746
+ "kind": "field",
106747
+ "name": "role",
106748
+ "type": {
106749
+ "text": "ElementInternals['role']"
106750
+ },
106751
+ "privacy": "public",
106752
+ "static": true,
106753
+ "readonly": true,
106754
+ "default": "'menuitem'",
106755
+ "inheritedFrom": {
106756
+ "name": "SbbButtonLikeBaseElement",
106757
+ "module": "core/base-elements/button-base-element.js"
106883
106758
  }
106884
106759
  },
106885
106760
  {
106886
- "kind": "method",
106887
- "name": "_handleMouseOver",
106888
- "privacy": "private",
106889
- "return": {
106890
- "type": {
106891
- "text": "void"
106892
- }
106761
+ "kind": "field",
106762
+ "name": "disabledInteractive",
106763
+ "type": {
106764
+ "text": "boolean"
106893
106765
  },
106894
- "parameters": [
106895
- {
106896
- "name": "event",
106897
- "type": {
106898
- "text": "MouseEvent"
106899
- }
106900
- }
106901
- ]
106766
+ "privacy": "public",
106767
+ "default": "false",
106768
+ "description": "Whether the button should be aria-disabled but stay interactive.",
106769
+ "attribute": "disabled-interactive",
106770
+ "reflects": true,
106771
+ "inheritedFrom": {
106772
+ "name": "SbbDisabledInteractiveMixin",
106773
+ "module": "core/mixins/disabled-mixin.js"
106774
+ }
106902
106775
  },
106903
106776
  {
106904
- "kind": "method",
106905
- "name": "_onMenuAnimationEnd",
106906
- "privacy": "private",
106907
- "return": {
106908
- "type": {
106909
- "text": "void"
106910
- }
106777
+ "kind": "field",
106778
+ "name": "disabled",
106779
+ "privacy": "public",
106780
+ "description": "Whether the component is disabled.",
106781
+ "default": "false",
106782
+ "type": {
106783
+ "text": "boolean"
106911
106784
  },
106912
- "parameters": [
106913
- {
106914
- "name": "event",
106915
- "type": {
106916
- "text": "AnimationEvent"
106917
- }
106918
- }
106919
- ]
106920
- },
106921
- {
106922
- "kind": "method",
106923
- "name": "_setMenuPosition",
106924
- "privacy": "private",
106925
- "return": {
106926
- "type": {
106927
- "text": "void"
106928
- }
106785
+ "attribute": "disabled",
106786
+ "reflects": true,
106787
+ "inheritedFrom": {
106788
+ "name": "SbbDisabledMixin",
106789
+ "module": "core/mixins/disabled-mixin.js"
106929
106790
  }
106930
106791
  },
106931
106792
  {
106932
- "kind": "method",
106933
- "name": "_syncNegative",
106793
+ "kind": "field",
106794
+ "name": "#disabled",
106934
106795
  "privacy": "private",
106935
- "return": {
106936
- "type": {
106937
- "text": "void"
106938
- }
106796
+ "type": {
106797
+ "text": "boolean"
106798
+ },
106799
+ "default": "false",
106800
+ "inheritedFrom": {
106801
+ "name": "SbbDisabledMixin",
106802
+ "module": "core/mixins/disabled-mixin.js"
106939
106803
  }
106940
106804
  },
106941
106805
  {
106942
106806
  "kind": "method",
106943
- "name": "_isMobile",
106944
- "privacy": "private",
106807
+ "name": "isDisabledExternally",
106808
+ "privacy": "protected",
106945
106809
  "return": {
106946
106810
  "type": {
106947
106811
  "text": "boolean"
106948
106812
  }
106949
- }
106950
- },
106951
- {
106952
- "kind": "field",
106953
- "name": "events",
106954
- "privacy": "public",
106955
- "static": true,
106956
- "readonly": true,
106957
- "default": "{ beforeopen: 'beforeopen', open: 'open', beforeclose: 'beforeclose', close: 'close', }",
106958
- "type": {
106959
- "text": "{\n beforeopen: 'beforeopen',\n open: 'open',\n beforeclose: 'beforeclose',\n close: 'close',\n }"
106960
106813
  },
106814
+ "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
106961
106815
  "inheritedFrom": {
106962
- "name": "SbbOpenCloseBaseElement",
106963
- "module": "core/base-elements/open-close-base-element.js"
106816
+ "name": "SbbDisabledMixin",
106817
+ "module": "core/mixins/disabled-mixin.js"
106964
106818
  }
106965
106819
  },
106966
106820
  {
106967
106821
  "kind": "field",
106968
- "name": "state",
106969
- "privacy": "protected",
106970
- "description": "The state of the component.",
106822
+ "name": "styles",
106971
106823
  "type": {
106972
- "text": "SbbOpenedClosedState"
106824
+ "text": "CSSResultGroup"
106973
106825
  },
106974
- "default": "'closed'",
106826
+ "privacy": "public",
106827
+ "static": true,
106828
+ "default": "[boxSizingStyles, unsafeCSS(style)]",
106975
106829
  "inheritedFrom": {
106976
- "name": "SbbOpenCloseBaseElement",
106977
- "module": "core/base-elements/open-close-base-element.js"
106830
+ "name": "SbbMenuActionCommonElementMixin",
106831
+ "module": "menu/common/menu-action-common.js"
106978
106832
  }
106979
106833
  },
106980
106834
  {
106981
- "kind": "field",
106982
- "name": "_state",
106983
- "type": {
106984
- "text": "SbbOpenedClosedState"
106835
+ "kind": "method",
106836
+ "name": "renderTemplate",
106837
+ "privacy": "protected",
106838
+ "return": {
106839
+ "type": {
106840
+ "text": "TemplateResult"
106841
+ }
106985
106842
  },
106986
- "privacy": "private",
106843
+ "description": "Override this method to render the component template.",
106987
106844
  "inheritedFrom": {
106988
- "name": "SbbOpenCloseBaseElement",
106989
- "module": "core/base-elements/open-close-base-element.js"
106845
+ "name": "SbbActionBaseElement",
106846
+ "module": "core/base-elements/action-base-element.js"
106990
106847
  }
106991
106848
  },
106992
106849
  {
106993
106850
  "kind": "field",
106994
- "name": "isOpen",
106851
+ "name": "iconName",
106995
106852
  "type": {
106996
- "text": "boolean"
106853
+ "text": "string"
106997
106854
  },
106998
106855
  "privacy": "public",
106999
- "description": "Whether the element is open.",
107000
- "readonly": true,
106856
+ "default": "''",
106857
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
106858
+ "attribute": "icon-name",
107001
106859
  "inheritedFrom": {
107002
- "name": "SbbOpenCloseBaseElement",
107003
- "module": "core/base-elements/open-close-base-element.js"
106860
+ "name": "SbbIconNameMixin",
106861
+ "module": "icon/icon-name-mixin.js"
107004
106862
  }
107005
106863
  },
107006
106864
  {
107007
106865
  "kind": "method",
107008
- "name": "dispatchBeforeOpenEvent",
106866
+ "name": "renderIconSlot",
107009
106867
  "privacy": "protected",
107010
106868
  "return": {
107011
106869
  "type": {
107012
- "text": "boolean"
106870
+ "text": "TemplateResult"
107013
106871
  }
107014
106872
  },
106873
+ "parameters": [
106874
+ {
106875
+ "name": "classname",
106876
+ "optional": true,
106877
+ "type": {
106878
+ "text": "string"
106879
+ }
106880
+ }
106881
+ ],
107015
106882
  "inheritedFrom": {
107016
- "name": "SbbOpenCloseBaseElement",
107017
- "module": "core/base-elements/open-close-base-element.js"
106883
+ "name": "SbbIconNameMixin",
106884
+ "module": "icon/icon-name-mixin.js"
107018
106885
  }
107019
106886
  },
107020
106887
  {
107021
106888
  "kind": "method",
107022
- "name": "dispatchOpenEvent",
106889
+ "name": "renderIconName",
107023
106890
  "privacy": "protected",
107024
106891
  "return": {
107025
106892
  "type": {
107026
- "text": "boolean"
106893
+ "text": "string"
107027
106894
  }
107028
106895
  },
107029
106896
  "inheritedFrom": {
107030
- "name": "SbbOpenCloseBaseElement",
107031
- "module": "core/base-elements/open-close-base-element.js"
106897
+ "name": "SbbIconNameMixin",
106898
+ "module": "icon/icon-name-mixin.js"
107032
106899
  }
107033
106900
  },
107034
106901
  {
107035
106902
  "kind": "method",
107036
- "name": "dispatchBeforeCloseEvent",
107037
- "privacy": "protected",
106903
+ "name": "_renderIconName",
106904
+ "privacy": "private",
107038
106905
  "return": {
107039
106906
  "type": {
107040
- "text": "boolean"
106907
+ "text": "string"
107041
106908
  }
107042
106909
  },
107043
106910
  "inheritedFrom": {
107044
- "name": "SbbOpenCloseBaseElement",
107045
- "module": "core/base-elements/open-close-base-element.js"
106911
+ "name": "SbbIconNameMixin",
106912
+ "module": "icon/icon-name-mixin.js"
106913
+ }
106914
+ },
106915
+ {
106916
+ "kind": "field",
106917
+ "name": "_elementsOnWhichEnterPressTriggersSubmit",
106918
+ "type": {
106919
+ "text": "array"
106920
+ },
106921
+ "privacy": "private",
106922
+ "readonly": true,
106923
+ "default": "[ 'input', 'sbb-date-input', 'sbb-time-input', ]",
106924
+ "inheritedFrom": {
106925
+ "name": "SbbButtonBaseElement",
106926
+ "module": "core/base-elements/button-base-element.js"
107046
106927
  }
107047
106928
  },
107048
106929
  {
107049
- "kind": "method",
107050
- "name": "dispatchCloseEvent",
107051
- "privacy": "protected",
107052
- "return": {
107053
- "type": {
107054
- "text": "boolean"
107055
- }
106930
+ "kind": "field",
106931
+ "name": "value",
106932
+ "type": {
106933
+ "text": "string"
107056
106934
  },
106935
+ "privacy": "public",
107057
106936
  "inheritedFrom": {
107058
- "name": "SbbOpenCloseBaseElement",
107059
- "module": "core/base-elements/open-close-base-element.js"
107060
- }
106937
+ "name": "SbbButtonBaseElement",
106938
+ "module": "core/base-elements/button-base-element.js"
106939
+ },
106940
+ "default": "''",
106941
+ "description": "Value of the form element.",
106942
+ "attribute": "value"
107061
106943
  },
107062
106944
  {
107063
106945
  "kind": "field",
107064
- "name": "_hydrationRequired",
106946
+ "name": "type",
106947
+ "privacy": "public",
106948
+ "description": "The type attribute to use for the button.",
106949
+ "default": "'button'",
107065
106950
  "type": {
107066
- "text": "boolean"
106951
+ "text": "SbbButtonType"
107067
106952
  },
107068
- "privacy": "private",
107069
- "default": "!!this.shadowRoot",
106953
+ "attribute": "type",
107070
106954
  "inheritedFrom": {
107071
- "name": "SbbElement",
107072
- "module": "core/base-elements/element.js"
106955
+ "name": "SbbButtonBaseElement",
106956
+ "module": "core/base-elements/button-base-element.js"
107073
106957
  }
107074
106958
  },
107075
106959
  {
107076
106960
  "kind": "field",
107077
- "name": "_hydrationComplete",
107078
- "privacy": "private",
107079
- "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
106961
+ "name": "form",
106962
+ "type": {
106963
+ "text": "HTMLFormElement | null"
106964
+ },
106965
+ "privacy": "public",
106966
+ "description": "The `<form>` element to associate the button with.",
107080
106967
  "inheritedFrom": {
107081
- "name": "SbbElement",
107082
- "module": "core/base-elements/element.js"
107083
- }
106968
+ "name": "SbbButtonBaseElement",
106969
+ "module": "core/base-elements/button-base-element.js"
106970
+ },
106971
+ "attribute": "form"
107084
106972
  },
107085
106973
  {
107086
106974
  "kind": "field",
107087
- "name": "_resolveHydration",
106975
+ "name": "_formId",
107088
106976
  "type": {
107089
- "text": "(hydrationRequired: boolean) => void"
106977
+ "text": "string"
107090
106978
  },
107091
106979
  "privacy": "private",
106980
+ "default": "''",
107092
106981
  "inheritedFrom": {
107093
- "name": "SbbElement",
107094
- "module": "core/base-elements/element.js"
106982
+ "name": "SbbButtonBaseElement",
106983
+ "module": "core/base-elements/button-base-element.js"
107095
106984
  }
107096
106985
  },
107097
106986
  {
107098
106987
  "kind": "field",
107099
- "name": "hydrationRequired",
107100
- "type": {
107101
- "text": "boolean"
107102
- },
107103
- "privacy": "protected",
107104
- "description": "Returns whether hydration is required and not completed.",
107105
- "readonly": true,
106988
+ "name": "_handleButtonClick",
106989
+ "privacy": "private",
107106
106990
  "inheritedFrom": {
107107
- "name": "SbbElement",
107108
- "module": "core/base-elements/element.js"
107109
- },
107110
- "default": "!!this.shadowRoot"
106991
+ "name": "SbbButtonBaseElement",
106992
+ "module": "core/base-elements/button-base-element.js"
106993
+ }
107111
106994
  },
107112
106995
  {
107113
106996
  "kind": "method",
107114
- "name": "toggleState",
107115
- "privacy": "protected",
106997
+ "name": "_requestSubmit",
106998
+ "privacy": "private",
107116
106999
  "return": {
107117
107000
  "type": {
107118
107001
  "text": "void"
@@ -107120,798 +107003,802 @@
107120
107003
  },
107121
107004
  "parameters": [
107122
107005
  {
107123
- "name": "value",
107124
- "type": {
107125
- "text": "string"
107126
- }
107127
- },
107128
- {
107129
- "name": "force",
107130
- "optional": true,
107006
+ "name": "form",
107131
107007
  "type": {
107132
- "text": "boolean"
107008
+ "text": "HTMLFormElement"
107133
107009
  }
107134
107010
  }
107135
107011
  ],
107136
107012
  "inheritedFrom": {
107137
- "name": "SbbElement",
107138
- "module": "core/base-elements/element.js"
107139
- }
107140
- },
107141
- {
107142
- "kind": "field",
107143
- "name": "['_$sbbElement$']",
107144
- "type": {
107145
- "text": "boolean"
107146
- },
107147
- "privacy": "public",
107148
- "static": true,
107149
- "default": "true",
107150
- "inheritedFrom": {
107151
- "name": "SbbElement",
107152
- "module": "core/base-elements/element.js"
107013
+ "name": "SbbButtonBaseElement",
107014
+ "module": "core/base-elements/button-base-element.js"
107153
107015
  }
107154
107016
  },
107155
107017
  {
107156
107018
  "kind": "field",
107157
- "name": "_controllers",
107158
- "type": {
107159
- "text": "Set<SbbReactiveController> | undefined"
107160
- },
107019
+ "name": "_formKeyDown",
107161
107020
  "privacy": "private",
107162
107021
  "inheritedFrom": {
107163
- "name": "SbbElement",
107164
- "module": "core/base-elements/element.js"
107165
- }
107166
- }
107167
- ],
107168
- "attributes": [
107169
- {
107170
- "name": "trigger",
107171
- "type": {
107172
- "text": "HTMLElement | null"
107173
- },
107174
- "default": "null",
107175
- "description": "The element that will trigger the menu overlay.\n\nFor attribute usage, provide an id reference.",
107176
- "fieldName": "trigger"
107177
- }
107178
- ],
107179
- "superclass": {
107180
- "name": "SbbOpenCloseBaseElement",
107181
- "module": "core/base-elements.js"
107182
- },
107183
- "tagName": "sbb-menu",
107184
- "customElement": true,
107185
- "events": [
107186
- {
107187
- "name": "beforeopen",
107188
- "type": {
107189
- "text": "Event"
107190
- },
107191
- "description": "Emits whenever the component starts the opening transition. Can be canceled.",
107192
- "inheritedFrom": {
107193
- "name": "SbbOpenCloseBaseElement",
107194
- "module": "core/base-elements/open-close-base-element.js"
107022
+ "name": "SbbButtonBaseElement",
107023
+ "module": "core/base-elements/button-base-element.js"
107195
107024
  }
107196
107025
  },
107197
107026
  {
107198
- "name": "open",
107027
+ "kind": "field",
107028
+ "name": "formAssociated",
107199
107029
  "type": {
107200
- "text": "Event"
107030
+ "text": "boolean"
107201
107031
  },
107202
- "description": "Emits whenever the component is opened.",
107032
+ "privacy": "public",
107033
+ "static": true,
107034
+ "default": "true",
107203
107035
  "inheritedFrom": {
107204
- "name": "SbbOpenCloseBaseElement",
107205
- "module": "core/base-elements/open-close-base-element.js"
107036
+ "name": "SbbFormAssociatedMixin",
107037
+ "module": "core/mixins/form-associated-mixin.js"
107206
107038
  }
107207
107039
  },
107208
107040
  {
107209
- "name": "beforeclose",
107041
+ "kind": "field",
107042
+ "name": "name",
107043
+ "privacy": "public",
107044
+ "description": "Name of the form element. Will be read from name attribute.",
107210
107045
  "type": {
107211
- "text": "Event"
107046
+ "text": "string"
107212
107047
  },
107213
- "description": "Emits whenever the component begins the closing transition. Can be canceled.",
107048
+ "attribute": "name",
107214
107049
  "inheritedFrom": {
107215
- "name": "SbbOpenCloseBaseElement",
107216
- "module": "core/base-elements/open-close-base-element.js"
107050
+ "name": "SbbFormAssociatedMixin",
107051
+ "module": "core/mixins/form-associated-mixin.js"
107217
107052
  }
107218
107053
  },
107219
107054
  {
107220
- "name": "close",
107055
+ "kind": "field",
107056
+ "name": "validity",
107221
107057
  "type": {
107222
- "text": "Event"
107058
+ "text": "ValidityState"
107223
107059
  },
107224
- "description": "Emits whenever the component is closed.",
107060
+ "privacy": "public",
107061
+ "description": "Returns the ValidityState object for this element.",
107062
+ "readonly": true,
107225
107063
  "inheritedFrom": {
107226
- "name": "SbbOpenCloseBaseElement",
107227
- "module": "core/base-elements/open-close-base-element.js"
107064
+ "name": "SbbFormAssociatedMixin",
107065
+ "module": "core/mixins/form-associated-mixin.js"
107228
107066
  }
107229
- }
107230
- ]
107231
- }
107232
- ],
107233
- "exports": [
107234
- {
107235
- "kind": "js",
107236
- "name": "SbbMenuElement",
107237
- "declaration": {
107238
- "name": "SbbMenuElement",
107239
- "module": "menu/menu/menu.component.js"
107240
- }
107241
- }
107242
- ]
107243
- },
107244
- {
107245
- "kind": "javascript-module",
107246
- "path": "menu/menu-button/menu-button.component.js",
107247
- "declarations": [
107248
- {
107249
- "kind": "class",
107250
- "description": "It displays a button element that can be used in the `sbb-menu` component.",
107251
- "name": "SbbMenuButtonElement",
107252
- "cssProperties": [
107253
- {
107254
- "description": "Can be used to modify horizontal padding.",
107255
- "name": "--sbb-menu-action-outer-horizontal-padding",
107256
- "default": "var(--sbb-spacing-fixed-3x)"
107257
- }
107258
- ],
107259
- "slots": [
107260
- {
107261
- "description": "Use the unnamed slot to add content to the `sbb-menu-button`.",
107262
- "name": ""
107263
107067
  },
107264
- {
107265
- "description": "Use this slot to provide an icon. If `icon-name` is set, a `sbb-icon` will be used.",
107266
- "name": "icon"
107267
- }
107268
- ],
107269
- "members": [
107270
107068
  {
107271
107069
  "kind": "field",
107272
- "name": "elementName",
107070
+ "name": "validationMessage",
107273
107071
  "type": {
107274
107072
  "text": "string"
107275
107073
  },
107276
107074
  "privacy": "public",
107277
- "static": true,
107075
+ "description": "Returns the current error message, if available, which corresponds\nto the current validation state.\nPlease note that only one message is returned at a time (e.g. if\nmultiple validity states are invalid, only the chronologically first one\nis returned until it is fixed, at which point the next message might be\nreturned, if it is still applicable). Also, a custom validity message\n(see below) has precedence over native validation messages.",
107278
107076
  "readonly": true,
107279
107077
  "inheritedFrom": {
107280
- "name": "SbbElement",
107281
- "module": "core/base-elements/element.js"
107282
- },
107283
- "default": "'sbb-menu-button'"
107078
+ "name": "SbbFormAssociatedMixin",
107079
+ "module": "core/mixins/form-associated-mixin.js"
107080
+ }
107284
107081
  },
107285
107082
  {
107286
107083
  "kind": "field",
107287
- "name": "role",
107084
+ "name": "willValidate",
107288
107085
  "type": {
107289
- "text": "ElementInternals['role']"
107086
+ "text": "boolean"
107290
107087
  },
107291
107088
  "privacy": "public",
107292
- "static": true,
107089
+ "description": "Returns true if this element will be validated\nwhen the form is submitted; false otherwise.",
107293
107090
  "readonly": true,
107294
- "default": "'menuitem'",
107295
107091
  "inheritedFrom": {
107296
- "name": "SbbButtonLikeBaseElement",
107297
- "module": "core/base-elements/button-base-element.js"
107092
+ "name": "SbbFormAssociatedMixin",
107093
+ "module": "core/mixins/form-associated-mixin.js"
107094
+ }
107095
+ },
107096
+ {
107097
+ "kind": "field",
107098
+ "name": "_validityStates",
107099
+ "privacy": "private",
107100
+ "default": "new Map< keyof ValidityStateFlags, { flagValue: unknown; message: string } >()",
107101
+ "inheritedFrom": {
107102
+ "name": "SbbFormAssociatedMixin",
107103
+ "module": "core/mixins/form-associated-mixin.js"
107298
107104
  }
107299
107105
  },
107300
107106
  {
107301
107107
  "kind": "field",
107302
- "name": "disabledInteractive",
107108
+ "name": "formDisabled",
107303
107109
  "type": {
107304
107110
  "text": "boolean"
107305
107111
  },
107306
- "privacy": "public",
107112
+ "privacy": "protected",
107307
107113
  "default": "false",
107308
- "description": "Whether the button should be aria-disabled but stay interactive.",
107309
- "attribute": "disabled-interactive",
107310
- "reflects": true,
107114
+ "description": "Whenever a surrounding form or fieldset is changing its disabled state.",
107311
107115
  "inheritedFrom": {
107312
- "name": "SbbDisabledInteractiveMixin",
107313
- "module": "core/mixins/disabled-mixin.js"
107116
+ "name": "SbbFormAssociatedMixin",
107117
+ "module": "core/mixins/form-associated-mixin.js"
107314
107118
  }
107315
107119
  },
107316
107120
  {
107317
- "kind": "field",
107318
- "name": "disabled",
107121
+ "kind": "method",
107122
+ "name": "checkValidity",
107319
107123
  "privacy": "public",
107320
- "description": "Whether the component is disabled.",
107321
- "default": "false",
107322
- "type": {
107323
- "text": "boolean"
107124
+ "return": {
107125
+ "type": {
107126
+ "text": "boolean"
107127
+ }
107324
107128
  },
107325
- "attribute": "disabled",
107326
- "reflects": true,
107129
+ "description": "Returns true if this element has no validity problems; false otherwise.\nFires an invalid event at the element in the latter case.",
107327
107130
  "inheritedFrom": {
107328
- "name": "SbbDisabledMixin",
107329
- "module": "core/mixins/disabled-mixin.js"
107131
+ "name": "SbbFormAssociatedMixin",
107132
+ "module": "core/mixins/form-associated-mixin.js"
107330
107133
  }
107331
107134
  },
107332
107135
  {
107333
- "kind": "field",
107334
- "name": "#disabled",
107335
- "privacy": "private",
107336
- "type": {
107337
- "text": "boolean"
107136
+ "kind": "method",
107137
+ "name": "reportValidity",
107138
+ "privacy": "public",
107139
+ "return": {
107140
+ "type": {
107141
+ "text": "boolean"
107142
+ }
107338
107143
  },
107339
- "default": "false",
107144
+ "description": "Returns true if this element has no validity problems; otherwise,\nreturns false, fires an invalid event at the element,\nand (if the event isn't canceled) reports the problem to the user.",
107340
107145
  "inheritedFrom": {
107341
- "name": "SbbDisabledMixin",
107342
- "module": "core/mixins/disabled-mixin.js"
107146
+ "name": "SbbFormAssociatedMixin",
107147
+ "module": "core/mixins/form-associated-mixin.js"
107343
107148
  }
107344
107149
  },
107345
107150
  {
107346
107151
  "kind": "method",
107347
- "name": "isDisabledExternally",
107348
- "privacy": "protected",
107152
+ "name": "setCustomValidity",
107153
+ "privacy": "public",
107349
107154
  "return": {
107350
107155
  "type": {
107351
- "text": "boolean"
107156
+ "text": "void"
107352
107157
  }
107353
107158
  },
107354
- "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
107159
+ "parameters": [
107160
+ {
107161
+ "name": "message",
107162
+ "type": {
107163
+ "text": "string"
107164
+ }
107165
+ }
107166
+ ],
107167
+ "description": "Sets the custom validity message for this element. Use the empty string\nto indicate that the element does not have a custom validity error.",
107355
107168
  "inheritedFrom": {
107356
- "name": "SbbDisabledMixin",
107357
- "module": "core/mixins/disabled-mixin.js"
107169
+ "name": "SbbFormAssociatedMixin",
107170
+ "module": "core/mixins/form-associated-mixin.js"
107358
107171
  }
107359
107172
  },
107360
107173
  {
107361
- "kind": "field",
107362
- "name": "styles",
107363
- "type": {
107364
- "text": "CSSResultGroup"
107174
+ "kind": "method",
107175
+ "name": "_hasDisabledAncestor",
107176
+ "privacy": "private",
107177
+ "return": {
107178
+ "type": {
107179
+ "text": "boolean"
107180
+ }
107365
107181
  },
107366
- "privacy": "public",
107367
- "static": true,
107368
- "default": "[boxSizingStyles, unsafeCSS(style)]",
107369
107182
  "inheritedFrom": {
107370
- "name": "SbbMenuActionCommonElementMixin",
107371
- "module": "menu/common/menu-action-common.js"
107183
+ "name": "SbbFormAssociatedMixin",
107184
+ "module": "core/mixins/form-associated-mixin.js"
107372
107185
  }
107373
107186
  },
107374
107187
  {
107375
107188
  "kind": "method",
107376
- "name": "renderTemplate",
107189
+ "name": "updateFormValue",
107377
107190
  "privacy": "protected",
107378
107191
  "return": {
107379
107192
  "type": {
107380
- "text": "TemplateResult"
107193
+ "text": "void"
107381
107194
  }
107382
107195
  },
107383
- "description": "Override this method to render the component template.",
107196
+ "description": "Should be called when form value is changed.\nAdapts and sets the formValue in the supported format (string | FormData | File | null)\nhttps://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue",
107384
107197
  "inheritedFrom": {
107385
- "name": "SbbActionBaseElement",
107386
- "module": "core/base-elements/action-base-element.js"
107198
+ "name": "SbbFormAssociatedMixin",
107199
+ "module": "core/mixins/form-associated-mixin.js"
107387
107200
  }
107388
107201
  },
107389
107202
  {
107390
- "kind": "field",
107391
- "name": "iconName",
107392
- "type": {
107393
- "text": "string"
107203
+ "kind": "method",
107204
+ "name": "formState",
107205
+ "privacy": "protected",
107206
+ "return": {
107207
+ "type": {
107208
+ "text": "FormRestoreState"
107209
+ }
107394
107210
  },
107395
- "privacy": "public",
107396
- "default": "''",
107397
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
107398
- "attribute": "icon-name",
107399
107211
  "inheritedFrom": {
107400
- "name": "SbbIconNameMixin",
107401
- "module": "icon/icon-name-mixin.js"
107212
+ "name": "SbbFormAssociatedMixin",
107213
+ "module": "core/mixins/form-associated-mixin.js"
107402
107214
  }
107403
107215
  },
107404
107216
  {
107405
107217
  "kind": "method",
107406
- "name": "renderIconSlot",
107218
+ "name": "setValidityFlag",
107407
107219
  "privacy": "protected",
107408
107220
  "return": {
107409
107221
  "type": {
107410
- "text": "TemplateResult"
107222
+ "text": "void"
107411
107223
  }
107412
107224
  },
107413
107225
  "parameters": [
107414
107226
  {
107415
- "name": "classname",
107416
- "optional": true,
107227
+ "name": "flag",
107228
+ "type": {
107229
+ "text": "T"
107230
+ }
107231
+ },
107232
+ {
107233
+ "name": "message",
107417
107234
  "type": {
107418
107235
  "text": "string"
107419
107236
  }
107237
+ },
107238
+ {
107239
+ "name": "flagValue",
107240
+ "optional": true,
107241
+ "type": {
107242
+ "text": "ValidityStateFlags[T]"
107243
+ }
107420
107244
  }
107421
107245
  ],
107246
+ "description": "Marks this element as suffering from the constraint indicated by the\nflag argument and associates the given message to it.\nNote that only one message is displayed at a time and custom messages by\nconsumers are always displayed before internal messages and internal\nmessages are displayed in the order they were added.\nTo set/define custom validity state flags, you need to extend the\nValidityState prototype (and the CustomValidityState interface).",
107422
107247
  "inheritedFrom": {
107423
- "name": "SbbIconNameMixin",
107424
- "module": "icon/icon-name-mixin.js"
107248
+ "name": "SbbFormAssociatedMixin",
107249
+ "module": "core/mixins/form-associated-mixin.js"
107425
107250
  }
107426
107251
  },
107427
107252
  {
107428
107253
  "kind": "method",
107429
- "name": "renderIconName",
107254
+ "name": "removeValidityFlag",
107430
107255
  "privacy": "protected",
107431
107256
  "return": {
107432
107257
  "type": {
107433
- "text": "string"
107258
+ "text": "void"
107434
107259
  }
107435
107260
  },
107261
+ "parameters": [
107262
+ {
107263
+ "name": "flag",
107264
+ "type": {
107265
+ "text": "T"
107266
+ }
107267
+ }
107268
+ ],
107269
+ "description": "Removes the validity state flag entry and updates validity state.",
107436
107270
  "inheritedFrom": {
107437
- "name": "SbbIconNameMixin",
107438
- "module": "icon/icon-name-mixin.js"
107271
+ "name": "SbbFormAssociatedMixin",
107272
+ "module": "core/mixins/form-associated-mixin.js"
107439
107273
  }
107440
107274
  },
107441
107275
  {
107442
107276
  "kind": "method",
107443
- "name": "_renderIconName",
107444
- "privacy": "private",
107277
+ "name": "validate",
107278
+ "privacy": "protected",
107445
107279
  "return": {
107446
107280
  "type": {
107447
- "text": "string"
107281
+ "text": "void"
107448
107282
  }
107449
107283
  },
107284
+ "description": "To be called whenever the current element needs to be validated.",
107450
107285
  "inheritedFrom": {
107451
- "name": "SbbIconNameMixin",
107452
- "module": "icon/icon-name-mixin.js"
107286
+ "name": "SbbFormAssociatedMixin",
107287
+ "module": "core/mixins/form-associated-mixin.js"
107453
107288
  }
107454
107289
  },
107455
107290
  {
107456
- "kind": "field",
107457
- "name": "_elementsOnWhichEnterPressTriggersSubmit",
107458
- "type": {
107459
- "text": "array"
107291
+ "kind": "method",
107292
+ "name": "shouldValidate",
107293
+ "privacy": "protected",
107294
+ "return": {
107295
+ "type": {
107296
+ "text": "boolean"
107297
+ }
107460
107298
  },
107461
- "privacy": "private",
107462
- "readonly": true,
107463
- "default": "[ 'input', 'sbb-date-input', 'sbb-time-input', ]",
107299
+ "parameters": [
107300
+ {
107301
+ "name": "name",
107302
+ "type": {
107303
+ "text": "PropertyKey | undefined"
107304
+ }
107305
+ }
107306
+ ],
107307
+ "description": "Whether validation should be run on a property change with the given name.",
107464
107308
  "inheritedFrom": {
107465
- "name": "SbbButtonBaseElement",
107466
- "module": "core/base-elements/button-base-element.js"
107309
+ "name": "SbbFormAssociatedMixin",
107310
+ "module": "core/mixins/form-associated-mixin.js"
107467
107311
  }
107468
107312
  },
107469
107313
  {
107470
- "kind": "field",
107471
- "name": "value",
107472
- "type": {
107473
- "text": "string"
107474
- },
107475
- "privacy": "public",
107476
- "inheritedFrom": {
107477
- "name": "SbbButtonBaseElement",
107478
- "module": "core/base-elements/button-base-element.js"
107479
- },
107480
- "default": "''",
107481
- "description": "Value of the form element.",
107482
- "attribute": "value"
107483
- },
107484
- {
107485
- "kind": "field",
107486
- "name": "type",
107487
- "privacy": "public",
107488
- "description": "The type attribute to use for the button.",
107489
- "default": "'button'",
107490
- "type": {
107491
- "text": "SbbButtonType"
107314
+ "kind": "method",
107315
+ "name": "_setInternalValidity",
107316
+ "privacy": "private",
107317
+ "return": {
107318
+ "type": {
107319
+ "text": "void"
107320
+ }
107492
107321
  },
107493
- "attribute": "type",
107494
107322
  "inheritedFrom": {
107495
- "name": "SbbButtonBaseElement",
107496
- "module": "core/base-elements/button-base-element.js"
107323
+ "name": "SbbFormAssociatedMixin",
107324
+ "module": "core/mixins/form-associated-mixin.js"
107497
107325
  }
107498
107326
  },
107499
107327
  {
107500
107328
  "kind": "field",
107501
- "name": "form",
107502
- "type": {
107503
- "text": "HTMLFormElement | null"
107504
- },
107505
- "privacy": "public",
107506
- "description": "The `<form>` element to associate the button with.",
107507
- "inheritedFrom": {
107508
- "name": "SbbButtonBaseElement",
107509
- "module": "core/base-elements/button-base-element.js"
107510
- },
107511
- "attribute": "form"
107512
- },
107513
- {
107514
- "kind": "field",
107515
- "name": "_formId",
107516
- "type": {
107517
- "text": "string"
107518
- },
107329
+ "name": "_preventScrollOnSpaceKeydown",
107519
107330
  "privacy": "private",
107520
- "default": "''",
107331
+ "description": "Prevents scrolling from pressing Space, when the event target is an action element.\nAlso sets active state.",
107332
+ "parameters": [
107333
+ {
107334
+ "description": "The origin event.",
107335
+ "name": "event"
107336
+ }
107337
+ ],
107521
107338
  "inheritedFrom": {
107522
- "name": "SbbButtonBaseElement",
107339
+ "name": "SbbButtonLikeBaseElement",
107523
107340
  "module": "core/base-elements/button-base-element.js"
107524
107341
  }
107525
107342
  },
107526
107343
  {
107527
107344
  "kind": "field",
107528
- "name": "_handleButtonClick",
107345
+ "name": "_removeActiveMarker",
107529
107346
  "privacy": "private",
107530
107347
  "inheritedFrom": {
107531
- "name": "SbbButtonBaseElement",
107348
+ "name": "SbbButtonLikeBaseElement",
107532
107349
  "module": "core/base-elements/button-base-element.js"
107533
107350
  }
107534
107351
  },
107535
107352
  {
107536
- "kind": "method",
107537
- "name": "_requestSubmit",
107353
+ "kind": "field",
107354
+ "name": "_dispatchClickEventOnSpaceKeyup",
107538
107355
  "privacy": "private",
107539
- "return": {
107540
- "type": {
107541
- "text": "void"
107542
- }
107543
- },
107356
+ "description": "Dispatches a 'click' PointerEvent if the original keyboard event is a 'Space' press.\nAs verified with the native button, when 'Space' is pressed, a 'click' event is dispatched\nafter the 'keyup' event.",
107544
107357
  "parameters": [
107545
107358
  {
107546
- "name": "form",
107547
- "type": {
107548
- "text": "HTMLFormElement"
107549
- }
107359
+ "description": "The origin event.",
107360
+ "name": "event"
107550
107361
  }
107551
107362
  ],
107552
107363
  "inheritedFrom": {
107553
- "name": "SbbButtonBaseElement",
107364
+ "name": "SbbButtonLikeBaseElement",
107554
107365
  "module": "core/base-elements/button-base-element.js"
107555
107366
  }
107556
107367
  },
107557
107368
  {
107558
107369
  "kind": "field",
107559
- "name": "_formKeyDown",
107370
+ "name": "_dispatchClickEvent",
107560
107371
  "privacy": "private",
107561
107372
  "inheritedFrom": {
107562
- "name": "SbbButtonBaseElement",
107373
+ "name": "SbbButtonLikeBaseElement",
107563
107374
  "module": "core/base-elements/button-base-element.js"
107564
107375
  }
107565
107376
  },
107566
107377
  {
107567
107378
  "kind": "field",
107568
- "name": "formAssociated",
107379
+ "name": "maybeDisabled",
107569
107380
  "type": {
107570
- "text": "boolean"
107381
+ "text": "boolean | undefined"
107571
107382
  },
107572
- "privacy": "public",
107573
- "static": true,
107574
- "default": "true",
107383
+ "privacy": "protected",
107384
+ "readonly": true,
107575
107385
  "inheritedFrom": {
107576
- "name": "SbbFormAssociatedMixin",
107577
- "module": "core/mixins/form-associated-mixin.js"
107386
+ "name": "SbbActionBaseElement",
107387
+ "module": "core/base-elements/action-base-element.js"
107578
107388
  }
107579
107389
  },
107580
107390
  {
107581
107391
  "kind": "field",
107582
- "name": "name",
107583
- "privacy": "public",
107584
- "description": "Name of the form element. Will be read from name attribute.",
107392
+ "name": "maybeDisabledInteractive",
107585
107393
  "type": {
107586
- "text": "string"
107394
+ "text": "boolean | undefined"
107587
107395
  },
107588
- "attribute": "name",
107396
+ "privacy": "protected",
107397
+ "readonly": true,
107589
107398
  "inheritedFrom": {
107590
- "name": "SbbFormAssociatedMixin",
107591
- "module": "core/mixins/form-associated-mixin.js"
107399
+ "name": "SbbActionBaseElement",
107400
+ "module": "core/base-elements/action-base-element.js"
107592
107401
  }
107593
107402
  },
107594
107403
  {
107595
- "kind": "field",
107596
- "name": "validity",
107597
- "type": {
107598
- "text": "ValidityState"
107404
+ "kind": "method",
107405
+ "name": "setupBaseEventHandlers",
107406
+ "privacy": "protected",
107407
+ "return": {
107408
+ "type": {
107409
+ "text": "void"
107410
+ }
107599
107411
  },
107600
- "privacy": "public",
107601
- "description": "Returns the ValidityState object for this element.",
107602
- "readonly": true,
107603
107412
  "inheritedFrom": {
107604
- "name": "SbbFormAssociatedMixin",
107605
- "module": "core/mixins/form-associated-mixin.js"
107413
+ "name": "SbbActionBaseElement",
107414
+ "module": "core/base-elements/action-base-element.js"
107606
107415
  }
107607
107416
  },
107608
107417
  {
107609
107418
  "kind": "field",
107610
- "name": "validationMessage",
107419
+ "name": "_hydrationRequired",
107611
107420
  "type": {
107612
- "text": "string"
107421
+ "text": "boolean"
107613
107422
  },
107614
- "privacy": "public",
107615
- "description": "Returns the current error message, if available, which corresponds\nto the current validation state.\nPlease note that only one message is returned at a time (e.g. if\nmultiple validity states are invalid, only the chronologically first one\nis returned until it is fixed, at which point the next message might be\nreturned, if it is still applicable). Also, a custom validity message\n(see below) has precedence over native validation messages.",
107616
- "readonly": true,
107423
+ "privacy": "private",
107424
+ "default": "!!this.shadowRoot",
107617
107425
  "inheritedFrom": {
107618
- "name": "SbbFormAssociatedMixin",
107619
- "module": "core/mixins/form-associated-mixin.js"
107426
+ "name": "SbbElement",
107427
+ "module": "core/base-elements/element.js"
107620
107428
  }
107621
107429
  },
107622
107430
  {
107623
107431
  "kind": "field",
107624
- "name": "willValidate",
107625
- "type": {
107626
- "text": "boolean"
107627
- },
107628
- "privacy": "public",
107629
- "description": "Returns true if this element will be validated\nwhen the form is submitted; false otherwise.",
107630
- "readonly": true,
107432
+ "name": "_hydrationComplete",
107433
+ "privacy": "private",
107434
+ "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
107631
107435
  "inheritedFrom": {
107632
- "name": "SbbFormAssociatedMixin",
107633
- "module": "core/mixins/form-associated-mixin.js"
107436
+ "name": "SbbElement",
107437
+ "module": "core/base-elements/element.js"
107634
107438
  }
107635
107439
  },
107636
107440
  {
107637
107441
  "kind": "field",
107638
- "name": "_validityStates",
107442
+ "name": "_resolveHydration",
107443
+ "type": {
107444
+ "text": "(hydrationRequired: boolean) => void"
107445
+ },
107639
107446
  "privacy": "private",
107640
- "default": "new Map< keyof ValidityStateFlags, { flagValue: unknown; message: string } >()",
107641
107447
  "inheritedFrom": {
107642
- "name": "SbbFormAssociatedMixin",
107643
- "module": "core/mixins/form-associated-mixin.js"
107448
+ "name": "SbbElement",
107449
+ "module": "core/base-elements/element.js"
107644
107450
  }
107645
107451
  },
107646
107452
  {
107647
107453
  "kind": "field",
107648
- "name": "formDisabled",
107454
+ "name": "hydrationRequired",
107649
107455
  "type": {
107650
107456
  "text": "boolean"
107651
107457
  },
107652
107458
  "privacy": "protected",
107653
- "default": "false",
107654
- "description": "Whenever a surrounding form or fieldset is changing its disabled state.",
107459
+ "description": "Returns whether hydration is required and not completed.",
107460
+ "readonly": true,
107655
107461
  "inheritedFrom": {
107656
- "name": "SbbFormAssociatedMixin",
107657
- "module": "core/mixins/form-associated-mixin.js"
107658
- }
107462
+ "name": "SbbElement",
107463
+ "module": "core/base-elements/element.js"
107464
+ },
107465
+ "default": "!!this.shadowRoot"
107659
107466
  },
107660
107467
  {
107661
107468
  "kind": "method",
107662
- "name": "checkValidity",
107663
- "privacy": "public",
107469
+ "name": "toggleState",
107470
+ "privacy": "protected",
107664
107471
  "return": {
107665
107472
  "type": {
107666
- "text": "boolean"
107473
+ "text": "void"
107667
107474
  }
107668
107475
  },
107669
- "description": "Returns true if this element has no validity problems; false otherwise.\nFires an invalid event at the element in the latter case.",
107476
+ "parameters": [
107477
+ {
107478
+ "name": "value",
107479
+ "type": {
107480
+ "text": "string"
107481
+ }
107482
+ },
107483
+ {
107484
+ "name": "force",
107485
+ "optional": true,
107486
+ "type": {
107487
+ "text": "boolean"
107488
+ }
107489
+ }
107490
+ ],
107670
107491
  "inheritedFrom": {
107671
- "name": "SbbFormAssociatedMixin",
107672
- "module": "core/mixins/form-associated-mixin.js"
107492
+ "name": "SbbElement",
107493
+ "module": "core/base-elements/element.js"
107673
107494
  }
107674
107495
  },
107675
107496
  {
107676
- "kind": "method",
107677
- "name": "reportValidity",
107497
+ "kind": "field",
107498
+ "name": "['_$sbbElement$']",
107499
+ "type": {
107500
+ "text": "boolean"
107501
+ },
107678
107502
  "privacy": "public",
107679
- "return": {
107680
- "type": {
107681
- "text": "boolean"
107682
- }
107503
+ "static": true,
107504
+ "default": "true",
107505
+ "inheritedFrom": {
107506
+ "name": "SbbElement",
107507
+ "module": "core/base-elements/element.js"
107508
+ }
107509
+ },
107510
+ {
107511
+ "kind": "field",
107512
+ "name": "_controllers",
107513
+ "type": {
107514
+ "text": "Set<SbbReactiveController> | undefined"
107683
107515
  },
107684
- "description": "Returns true if this element has no validity problems; otherwise,\nreturns false, fires an invalid event at the element,\nand (if the event isn't canceled) reports the problem to the user.",
107516
+ "privacy": "private",
107685
107517
  "inheritedFrom": {
107686
- "name": "SbbFormAssociatedMixin",
107687
- "module": "core/mixins/form-associated-mixin.js"
107518
+ "name": "SbbElement",
107519
+ "module": "core/base-elements/element.js"
107520
+ }
107521
+ }
107522
+ ],
107523
+ "mixins": [
107524
+ {
107525
+ "name": "SbbDisabledTabIndexActionMixin",
107526
+ "module": "core/mixins.js"
107527
+ },
107528
+ {
107529
+ "name": "SbbMenuActionCommonElementMixin",
107530
+ "module": "menu/common/menu-action-common.js"
107531
+ }
107532
+ ],
107533
+ "superclass": {
107534
+ "name": "SbbButtonBaseElement",
107535
+ "module": "core/base-elements.js"
107536
+ },
107537
+ "tagName": "sbb-menu-button",
107538
+ "customElement": true,
107539
+ "attributes": [
107540
+ {
107541
+ "name": "disabled-interactive",
107542
+ "type": {
107543
+ "text": "boolean"
107544
+ },
107545
+ "default": "false",
107546
+ "description": "Whether the button should be aria-disabled but stay interactive.",
107547
+ "fieldName": "disabledInteractive",
107548
+ "inheritedFrom": {
107549
+ "name": "SbbDisabledInteractiveMixin",
107550
+ "module": "core/mixins/disabled-mixin.js"
107688
107551
  }
107689
107552
  },
107690
107553
  {
107691
- "kind": "method",
107692
- "name": "setCustomValidity",
107693
- "privacy": "public",
107694
- "return": {
107695
- "type": {
107696
- "text": "void"
107697
- }
107554
+ "name": "disabled",
107555
+ "description": "Whether the component is disabled.",
107556
+ "default": "false",
107557
+ "type": {
107558
+ "text": "boolean"
107698
107559
  },
107699
- "parameters": [
107700
- {
107701
- "name": "message",
107702
- "type": {
107703
- "text": "string"
107704
- }
107705
- }
107706
- ],
107707
- "description": "Sets the custom validity message for this element. Use the empty string\nto indicate that the element does not have a custom validity error.",
107560
+ "fieldName": "disabled",
107708
107561
  "inheritedFrom": {
107709
- "name": "SbbFormAssociatedMixin",
107710
- "module": "core/mixins/form-associated-mixin.js"
107562
+ "name": "SbbDisabledMixin",
107563
+ "module": "core/mixins/disabled-mixin.js"
107564
+ }
107565
+ },
107566
+ {
107567
+ "name": "icon-name",
107568
+ "type": {
107569
+ "text": "string"
107570
+ },
107571
+ "default": "''",
107572
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
107573
+ "fieldName": "iconName",
107574
+ "inheritedFrom": {
107575
+ "name": "SbbIconNameMixin",
107576
+ "module": "icon/icon-name-mixin.js"
107711
107577
  }
107712
107578
  },
107713
107579
  {
107714
- "kind": "method",
107715
- "name": "_hasDisabledAncestor",
107716
- "privacy": "private",
107717
- "return": {
107718
- "type": {
107719
- "text": "boolean"
107720
- }
107580
+ "name": "value",
107581
+ "type": {
107582
+ "text": "string"
107721
107583
  },
107584
+ "default": "''",
107585
+ "description": "Value of the form element.",
107586
+ "fieldName": "value",
107722
107587
  "inheritedFrom": {
107723
- "name": "SbbFormAssociatedMixin",
107724
- "module": "core/mixins/form-associated-mixin.js"
107588
+ "name": "SbbButtonBaseElement",
107589
+ "module": "core/base-elements/button-base-element.js"
107725
107590
  }
107726
107591
  },
107727
107592
  {
107728
- "kind": "method",
107729
- "name": "updateFormValue",
107730
- "privacy": "protected",
107731
- "return": {
107732
- "type": {
107733
- "text": "void"
107734
- }
107593
+ "name": "type",
107594
+ "description": "The type attribute to use for the button.",
107595
+ "default": "'button'",
107596
+ "type": {
107597
+ "text": "SbbButtonType"
107735
107598
  },
107736
- "description": "Should be called when form value is changed.\nAdapts and sets the formValue in the supported format (string | FormData | File | null)\nhttps://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue",
107599
+ "fieldName": "type",
107737
107600
  "inheritedFrom": {
107738
- "name": "SbbFormAssociatedMixin",
107739
- "module": "core/mixins/form-associated-mixin.js"
107601
+ "name": "SbbButtonBaseElement",
107602
+ "module": "core/base-elements/button-base-element.js"
107740
107603
  }
107741
107604
  },
107742
107605
  {
107743
- "kind": "method",
107744
- "name": "formState",
107745
- "privacy": "protected",
107746
- "return": {
107747
- "type": {
107748
- "text": "FormRestoreState"
107749
- }
107606
+ "name": "form",
107607
+ "description": "The `<form>` element to associate the button with.",
107608
+ "type": {
107609
+ "text": "HTMLFormElement | null"
107750
107610
  },
107611
+ "fieldName": "form",
107751
107612
  "inheritedFrom": {
107752
- "name": "SbbFormAssociatedMixin",
107753
- "module": "core/mixins/form-associated-mixin.js"
107613
+ "name": "SbbButtonBaseElement",
107614
+ "module": "core/base-elements/button-base-element.js"
107754
107615
  }
107755
107616
  },
107756
107617
  {
107757
- "kind": "method",
107758
- "name": "setValidityFlag",
107759
- "privacy": "protected",
107760
- "return": {
107761
- "type": {
107762
- "text": "void"
107763
- }
107618
+ "name": "name",
107619
+ "description": "Name of the form element. Will be read from name attribute.",
107620
+ "type": {
107621
+ "text": "string"
107764
107622
  },
107765
- "parameters": [
107766
- {
107767
- "name": "flag",
107768
- "type": {
107769
- "text": "T"
107770
- }
107771
- },
107772
- {
107773
- "name": "message",
107774
- "type": {
107775
- "text": "string"
107776
- }
107777
- },
107778
- {
107779
- "name": "flagValue",
107780
- "optional": true,
107781
- "type": {
107782
- "text": "ValidityStateFlags[T]"
107783
- }
107784
- }
107785
- ],
107786
- "description": "Marks this element as suffering from the constraint indicated by the\nflag argument and associates the given message to it.\nNote that only one message is displayed at a time and custom messages by\nconsumers are always displayed before internal messages and internal\nmessages are displayed in the order they were added.\nTo set/define custom validity state flags, you need to extend the\nValidityState prototype (and the CustomValidityState interface).",
107623
+ "fieldName": "name",
107787
107624
  "inheritedFrom": {
107788
107625
  "name": "SbbFormAssociatedMixin",
107789
107626
  "module": "core/mixins/form-associated-mixin.js"
107790
107627
  }
107628
+ }
107629
+ ]
107630
+ }
107631
+ ],
107632
+ "exports": [
107633
+ {
107634
+ "kind": "js",
107635
+ "name": "SbbMenuButtonElement",
107636
+ "declaration": {
107637
+ "name": "SbbMenuButtonElement",
107638
+ "module": "menu/menu-button/menu-button.component.js"
107639
+ }
107640
+ }
107641
+ ]
107642
+ },
107643
+ {
107644
+ "kind": "javascript-module",
107645
+ "path": "menu/common/menu-action-common.js",
107646
+ "declarations": [
107647
+ {
107648
+ "kind": "class",
107649
+ "description": "",
107650
+ "name": "SbbMenuActionCommonElementMixinType",
107651
+ "mixins": [
107652
+ {
107653
+ "name": "SbbIconNameMixin",
107654
+ "module": "icon.js"
107791
107655
  },
107792
107656
  {
107793
- "kind": "method",
107794
- "name": "removeValidityFlag",
107795
- "privacy": "protected",
107796
- "return": {
107797
- "type": {
107798
- "text": "void"
107799
- }
107657
+ "name": "SbbDisabledMixin",
107658
+ "module": "core/mixins.js"
107659
+ }
107660
+ ],
107661
+ "superclass": {
107662
+ "name": "SbbActionBaseElement",
107663
+ "module": "core/base-elements.js"
107664
+ },
107665
+ "attributes": [
107666
+ {
107667
+ "name": "icon-name",
107668
+ "type": {
107669
+ "text": "string"
107800
107670
  },
107801
- "parameters": [
107802
- {
107803
- "name": "flag",
107804
- "type": {
107805
- "text": "T"
107806
- }
107807
- }
107808
- ],
107809
- "description": "Removes the validity state flag entry and updates validity state.",
107671
+ "default": "''",
107672
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
107673
+ "fieldName": "iconName",
107810
107674
  "inheritedFrom": {
107811
- "name": "SbbFormAssociatedMixin",
107812
- "module": "core/mixins/form-associated-mixin.js"
107675
+ "name": "SbbIconNameMixin",
107676
+ "module": "icon/icon-name-mixin.js"
107813
107677
  }
107814
107678
  },
107815
107679
  {
107816
- "kind": "method",
107817
- "name": "validate",
107818
- "privacy": "protected",
107819
- "return": {
107820
- "type": {
107821
- "text": "void"
107822
- }
107680
+ "name": "disabled",
107681
+ "description": "Whether the component is disabled.",
107682
+ "default": "false",
107683
+ "type": {
107684
+ "text": "boolean"
107823
107685
  },
107824
- "description": "To be called whenever the current element needs to be validated.",
107686
+ "fieldName": "disabled",
107825
107687
  "inheritedFrom": {
107826
- "name": "SbbFormAssociatedMixin",
107827
- "module": "core/mixins/form-associated-mixin.js"
107688
+ "name": "SbbDisabledMixin",
107689
+ "module": "core/mixins/disabled-mixin.js"
107690
+ }
107691
+ }
107692
+ ],
107693
+ "members": [
107694
+ {
107695
+ "kind": "field",
107696
+ "name": "iconName",
107697
+ "type": {
107698
+ "text": "string"
107699
+ },
107700
+ "privacy": "public",
107701
+ "default": "''",
107702
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
107703
+ "attribute": "icon-name",
107704
+ "inheritedFrom": {
107705
+ "name": "SbbIconNameMixin",
107706
+ "module": "icon/icon-name-mixin.js"
107828
107707
  }
107829
107708
  },
107830
107709
  {
107831
107710
  "kind": "method",
107832
- "name": "shouldValidate",
107711
+ "name": "renderIconSlot",
107833
107712
  "privacy": "protected",
107834
107713
  "return": {
107835
107714
  "type": {
107836
- "text": "boolean"
107715
+ "text": "TemplateResult"
107837
107716
  }
107838
107717
  },
107839
107718
  "parameters": [
107840
107719
  {
107841
- "name": "name",
107720
+ "name": "classname",
107721
+ "optional": true,
107842
107722
  "type": {
107843
- "text": "PropertyKey | undefined"
107723
+ "text": "string"
107844
107724
  }
107845
107725
  }
107846
107726
  ],
107847
- "description": "Whether validation should be run on a property change with the given name.",
107848
107727
  "inheritedFrom": {
107849
- "name": "SbbFormAssociatedMixin",
107850
- "module": "core/mixins/form-associated-mixin.js"
107728
+ "name": "SbbIconNameMixin",
107729
+ "module": "icon/icon-name-mixin.js"
107851
107730
  }
107852
107731
  },
107853
107732
  {
107854
107733
  "kind": "method",
107855
- "name": "_setInternalValidity",
107856
- "privacy": "private",
107734
+ "name": "renderIconName",
107735
+ "privacy": "protected",
107857
107736
  "return": {
107858
107737
  "type": {
107859
- "text": "void"
107738
+ "text": "string"
107860
107739
  }
107861
107740
  },
107862
107741
  "inheritedFrom": {
107863
- "name": "SbbFormAssociatedMixin",
107864
- "module": "core/mixins/form-associated-mixin.js"
107742
+ "name": "SbbIconNameMixin",
107743
+ "module": "icon/icon-name-mixin.js"
107865
107744
  }
107866
107745
  },
107867
107746
  {
107868
- "kind": "field",
107869
- "name": "_preventScrollOnSpaceKeydown",
107747
+ "kind": "method",
107748
+ "name": "_renderIconName",
107870
107749
  "privacy": "private",
107871
- "description": "Prevents scrolling from pressing Space, when the event target is an action element.\nAlso sets active state.",
107872
- "parameters": [
107873
- {
107874
- "description": "The origin event.",
107875
- "name": "event"
107750
+ "return": {
107751
+ "type": {
107752
+ "text": "string"
107876
107753
  }
107877
- ],
107754
+ },
107878
107755
  "inheritedFrom": {
107879
- "name": "SbbButtonLikeBaseElement",
107880
- "module": "core/base-elements/button-base-element.js"
107756
+ "name": "SbbIconNameMixin",
107757
+ "module": "icon/icon-name-mixin.js"
107881
107758
  }
107882
107759
  },
107883
107760
  {
107884
107761
  "kind": "field",
107885
- "name": "_removeActiveMarker",
107886
- "privacy": "private",
107762
+ "name": "disabled",
107763
+ "privacy": "public",
107764
+ "description": "Whether the component is disabled.",
107765
+ "default": "false",
107766
+ "type": {
107767
+ "text": "boolean"
107768
+ },
107769
+ "attribute": "disabled",
107770
+ "reflects": true,
107887
107771
  "inheritedFrom": {
107888
- "name": "SbbButtonLikeBaseElement",
107889
- "module": "core/base-elements/button-base-element.js"
107772
+ "name": "SbbDisabledMixin",
107773
+ "module": "core/mixins/disabled-mixin.js"
107890
107774
  }
107891
107775
  },
107892
107776
  {
107893
107777
  "kind": "field",
107894
- "name": "_dispatchClickEventOnSpaceKeyup",
107778
+ "name": "#disabled",
107895
107779
  "privacy": "private",
107896
- "description": "Dispatches a 'click' PointerEvent if the original keyboard event is a 'Space' press.\nAs verified with the native button, when 'Space' is pressed, a 'click' event is dispatched\nafter the 'keyup' event.",
107897
- "parameters": [
107898
- {
107899
- "description": "The origin event.",
107900
- "name": "event"
107901
- }
107902
- ],
107780
+ "type": {
107781
+ "text": "boolean"
107782
+ },
107783
+ "default": "false",
107903
107784
  "inheritedFrom": {
107904
- "name": "SbbButtonLikeBaseElement",
107905
- "module": "core/base-elements/button-base-element.js"
107785
+ "name": "SbbDisabledMixin",
107786
+ "module": "core/mixins/disabled-mixin.js"
107906
107787
  }
107907
107788
  },
107908
107789
  {
107909
- "kind": "field",
107910
- "name": "_dispatchClickEvent",
107911
- "privacy": "private",
107790
+ "kind": "method",
107791
+ "name": "isDisabledExternally",
107792
+ "privacy": "protected",
107793
+ "return": {
107794
+ "type": {
107795
+ "text": "boolean"
107796
+ }
107797
+ },
107798
+ "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
107912
107799
  "inheritedFrom": {
107913
- "name": "SbbButtonLikeBaseElement",
107914
- "module": "core/base-elements/button-base-element.js"
107800
+ "name": "SbbDisabledMixin",
107801
+ "module": "core/mixins/disabled-mixin.js"
107915
107802
  }
107916
107803
  },
107917
107804
  {
@@ -107954,6 +107841,21 @@
107954
107841
  "module": "core/base-elements/action-base-element.js"
107955
107842
  }
107956
107843
  },
107844
+ {
107845
+ "kind": "method",
107846
+ "name": "renderTemplate",
107847
+ "privacy": "protected",
107848
+ "return": {
107849
+ "type": {
107850
+ "text": "TemplateResult"
107851
+ }
107852
+ },
107853
+ "description": "Override this method to render the component template.",
107854
+ "inheritedFrom": {
107855
+ "name": "SbbActionBaseElement",
107856
+ "module": "core/base-elements/action-base-element.js"
107857
+ }
107858
+ },
107957
107859
  {
107958
107860
  "kind": "field",
107959
107861
  "name": "_hydrationRequired",
@@ -108047,6 +107949,20 @@
108047
107949
  "module": "core/base-elements/element.js"
108048
107950
  }
108049
107951
  },
107952
+ {
107953
+ "kind": "field",
107954
+ "name": "elementName",
107955
+ "type": {
107956
+ "text": "string"
107957
+ },
107958
+ "privacy": "public",
107959
+ "static": true,
107960
+ "readonly": true,
107961
+ "inheritedFrom": {
107962
+ "name": "SbbElement",
107963
+ "module": "core/base-elements/element.js"
107964
+ }
107965
+ },
108050
107966
  {
108051
107967
  "kind": "field",
108052
107968
  "name": "_controllers",
@@ -108059,111 +107975,187 @@
108059
107975
  "module": "core/base-elements/element.js"
108060
107976
  }
108061
107977
  }
108062
- ],
108063
- "mixins": [
107978
+ ]
107979
+ },
107980
+ {
107981
+ "kind": "mixin",
107982
+ "description": "",
107983
+ "name": "SbbMenuActionCommonElementMixin",
107984
+ "members": [
108064
107985
  {
108065
- "name": "SbbDisabledTabIndexActionMixin",
108066
- "module": "core/mixins.js"
107986
+ "kind": "field",
107987
+ "name": "styles",
107988
+ "type": {
107989
+ "text": "CSSResultGroup"
107990
+ },
107991
+ "privacy": "public",
107992
+ "static": true,
107993
+ "default": "[boxSizingStyles, unsafeCSS(style)]"
108067
107994
  },
108068
107995
  {
108069
- "name": "SbbMenuActionCommonElementMixin",
108070
- "module": "menu/common/menu-action-common.js"
108071
- }
108072
- ],
108073
- "superclass": {
108074
- "name": "SbbButtonBaseElement",
108075
- "module": "core/base-elements.js"
108076
- },
108077
- "tagName": "sbb-menu-button",
108078
- "customElement": true,
108079
- "attributes": [
107996
+ "kind": "method",
107997
+ "name": "renderTemplate",
107998
+ "privacy": "protected",
107999
+ "return": {
108000
+ "type": {
108001
+ "text": "TemplateResult"
108002
+ }
108003
+ }
108004
+ },
108080
108005
  {
108081
- "name": "disabled-interactive",
108006
+ "kind": "field",
108007
+ "name": "iconName",
108082
108008
  "type": {
108083
- "text": "boolean"
108009
+ "text": "string"
108084
108010
  },
108085
- "default": "false",
108086
- "description": "Whether the button should be aria-disabled but stay interactive.",
108087
- "fieldName": "disabledInteractive",
108011
+ "privacy": "public",
108012
+ "default": "''",
108013
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
108014
+ "attribute": "icon-name",
108088
108015
  "inheritedFrom": {
108089
- "name": "SbbDisabledInteractiveMixin",
108090
- "module": "core/mixins/disabled-mixin.js"
108016
+ "name": "SbbIconNameMixin",
108017
+ "module": "icon/icon-name-mixin.js"
108018
+ }
108019
+ },
108020
+ {
108021
+ "kind": "method",
108022
+ "name": "renderIconSlot",
108023
+ "privacy": "protected",
108024
+ "return": {
108025
+ "type": {
108026
+ "text": "TemplateResult"
108027
+ }
108028
+ },
108029
+ "parameters": [
108030
+ {
108031
+ "name": "classname",
108032
+ "optional": true,
108033
+ "type": {
108034
+ "text": "string"
108035
+ }
108036
+ }
108037
+ ],
108038
+ "inheritedFrom": {
108039
+ "name": "SbbIconNameMixin",
108040
+ "module": "icon/icon-name-mixin.js"
108041
+ }
108042
+ },
108043
+ {
108044
+ "kind": "method",
108045
+ "name": "renderIconName",
108046
+ "privacy": "protected",
108047
+ "return": {
108048
+ "type": {
108049
+ "text": "string"
108050
+ }
108051
+ },
108052
+ "inheritedFrom": {
108053
+ "name": "SbbIconNameMixin",
108054
+ "module": "icon/icon-name-mixin.js"
108055
+ }
108056
+ },
108057
+ {
108058
+ "kind": "method",
108059
+ "name": "_renderIconName",
108060
+ "privacy": "private",
108061
+ "return": {
108062
+ "type": {
108063
+ "text": "string"
108064
+ }
108065
+ },
108066
+ "inheritedFrom": {
108067
+ "name": "SbbIconNameMixin",
108068
+ "module": "icon/icon-name-mixin.js"
108091
108069
  }
108092
108070
  },
108093
108071
  {
108072
+ "kind": "field",
108094
108073
  "name": "disabled",
108074
+ "privacy": "public",
108095
108075
  "description": "Whether the component is disabled.",
108096
108076
  "default": "false",
108097
108077
  "type": {
108098
108078
  "text": "boolean"
108099
108079
  },
108100
- "fieldName": "disabled",
108080
+ "attribute": "disabled",
108081
+ "reflects": true,
108101
108082
  "inheritedFrom": {
108102
108083
  "name": "SbbDisabledMixin",
108103
108084
  "module": "core/mixins/disabled-mixin.js"
108104
108085
  }
108105
108086
  },
108106
108087
  {
108107
- "name": "icon-name",
108088
+ "kind": "field",
108089
+ "name": "#disabled",
108090
+ "privacy": "private",
108108
108091
  "type": {
108109
- "text": "string"
108092
+ "text": "boolean"
108110
108093
  },
108111
- "default": "''",
108112
- "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
108113
- "fieldName": "iconName",
108094
+ "default": "false",
108114
108095
  "inheritedFrom": {
108115
- "name": "SbbIconNameMixin",
108116
- "module": "icon/icon-name-mixin.js"
108096
+ "name": "SbbDisabledMixin",
108097
+ "module": "core/mixins/disabled-mixin.js"
108117
108098
  }
108118
108099
  },
108119
108100
  {
108120
- "name": "value",
108121
- "type": {
108122
- "text": "string"
108101
+ "kind": "method",
108102
+ "name": "isDisabledExternally",
108103
+ "privacy": "protected",
108104
+ "return": {
108105
+ "type": {
108106
+ "text": "boolean"
108107
+ }
108123
108108
  },
108124
- "default": "''",
108125
- "description": "Value of the form element.",
108126
- "fieldName": "value",
108109
+ "description": "Will be used as 'or' check to the current disabled state.\nCan e.g. be used to read disabled state of a group.",
108127
108110
  "inheritedFrom": {
108128
- "name": "SbbButtonBaseElement",
108129
- "module": "core/base-elements/button-base-element.js"
108111
+ "name": "SbbDisabledMixin",
108112
+ "module": "core/mixins/disabled-mixin.js"
108130
108113
  }
108114
+ }
108115
+ ],
108116
+ "mixins": [
108117
+ {
108118
+ "name": "SbbIconNameMixin",
108119
+ "module": "icon.js"
108131
108120
  },
108132
108121
  {
108133
- "name": "type",
108134
- "description": "The type attribute to use for the button.",
108135
- "default": "'button'",
108122
+ "name": "SbbDisabledMixin",
108123
+ "module": "core/mixins.js"
108124
+ }
108125
+ ],
108126
+ "parameters": [
108127
+ {
108128
+ "name": "superClass",
108136
108129
  "type": {
108137
- "text": "SbbButtonType"
108138
- },
108139
- "fieldName": "type",
108140
- "inheritedFrom": {
108141
- "name": "SbbButtonBaseElement",
108142
- "module": "core/base-elements/button-base-element.js"
108130
+ "text": "T"
108143
108131
  }
108144
- },
108132
+ }
108133
+ ],
108134
+ "attributes": [
108145
108135
  {
108146
- "name": "form",
108147
- "description": "The `<form>` element to associate the button with.",
108136
+ "name": "icon-name",
108148
108137
  "type": {
108149
- "text": "HTMLFormElement | null"
108138
+ "text": "string"
108150
108139
  },
108151
- "fieldName": "form",
108140
+ "default": "''",
108141
+ "description": "The icon name we want to use, choose from the small icon variants\nfrom the ui-icons category from here\nhttps://icons.app.sbb.ch.",
108142
+ "fieldName": "iconName",
108152
108143
  "inheritedFrom": {
108153
- "name": "SbbButtonBaseElement",
108154
- "module": "core/base-elements/button-base-element.js"
108144
+ "name": "SbbIconNameMixin",
108145
+ "module": "icon/icon-name-mixin.js"
108155
108146
  }
108156
108147
  },
108157
108148
  {
108158
- "name": "name",
108159
- "description": "Name of the form element. Will be read from name attribute.",
108149
+ "name": "disabled",
108150
+ "description": "Whether the component is disabled.",
108151
+ "default": "false",
108160
108152
  "type": {
108161
- "text": "string"
108153
+ "text": "boolean"
108162
108154
  },
108163
- "fieldName": "name",
108155
+ "fieldName": "disabled",
108164
108156
  "inheritedFrom": {
108165
- "name": "SbbFormAssociatedMixin",
108166
- "module": "core/mixins/form-associated-mixin.js"
108157
+ "name": "SbbDisabledMixin",
108158
+ "module": "core/mixins/disabled-mixin.js"
108167
108159
  }
108168
108160
  }
108169
108161
  ]
@@ -108172,10 +108164,18 @@
108172
108164
  "exports": [
108173
108165
  {
108174
108166
  "kind": "js",
108175
- "name": "SbbMenuButtonElement",
108167
+ "name": "SbbMenuActionCommonElementMixinType",
108176
108168
  "declaration": {
108177
- "name": "SbbMenuButtonElement",
108178
- "module": "menu/menu-button/menu-button.component.js"
108169
+ "name": "SbbMenuActionCommonElementMixinType",
108170
+ "module": "menu/common/menu-action-common.js"
108171
+ }
108172
+ },
108173
+ {
108174
+ "kind": "js",
108175
+ "name": "SbbMenuActionCommonElementMixin",
108176
+ "declaration": {
108177
+ "name": "SbbMenuActionCommonElementMixin",
108178
+ "module": "menu/common/menu-action-common.js"
108179
108179
  }
108180
108180
  }
108181
108181
  ]