@vaadin/tabs 24.4.0-dev.b3e1d14600 → 24.5.0-alpha1

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 (36) hide show
  1. package/README.md +0 -1
  2. package/package.json +10 -8
  3. package/src/vaadin-lit-tab.d.ts +6 -0
  4. package/src/vaadin-lit-tab.js +57 -0
  5. package/src/vaadin-lit-tabs.d.ts +6 -0
  6. package/src/vaadin-lit-tabs.js +54 -0
  7. package/src/vaadin-tab-mixin.d.ts +1 -1
  8. package/src/vaadin-tab-mixin.js +1 -1
  9. package/src/vaadin-tab-styles.d.ts +1 -1
  10. package/src/vaadin-tab-styles.js +1 -1
  11. package/src/vaadin-tab.d.ts +1 -1
  12. package/src/vaadin-tab.js +1 -1
  13. package/src/vaadin-tabs-mixin.d.ts +1 -1
  14. package/src/vaadin-tabs-mixin.js +3 -1
  15. package/src/vaadin-tabs-styles.d.ts +1 -1
  16. package/src/vaadin-tabs-styles.js +1 -1
  17. package/src/vaadin-tabs.d.ts +1 -1
  18. package/src/vaadin-tabs.js +1 -1
  19. package/theme/lumo/vaadin-lit-tab.d.ts +2 -0
  20. package/theme/lumo/vaadin-lit-tab.js +2 -0
  21. package/theme/lumo/vaadin-lit-tabs.d.ts +3 -0
  22. package/theme/lumo/vaadin-lit-tabs.js +3 -0
  23. package/theme/lumo/vaadin-tab-styles.d.ts +4 -0
  24. package/theme/lumo/vaadin-tab.d.ts +2 -0
  25. package/theme/lumo/vaadin-tabs-styles.d.ts +6 -0
  26. package/theme/lumo/vaadin-tabs.d.ts +3 -0
  27. package/theme/material/vaadin-lit-tab.d.ts +2 -0
  28. package/theme/material/vaadin-lit-tab.js +2 -0
  29. package/theme/material/vaadin-lit-tabs.d.ts +3 -0
  30. package/theme/material/vaadin-lit-tabs.js +3 -0
  31. package/theme/material/vaadin-tab-styles.d.ts +2 -0
  32. package/theme/material/vaadin-tab.d.ts +2 -0
  33. package/theme/material/vaadin-tabs-styles.d.ts +2 -0
  34. package/theme/material/vaadin-tabs.d.ts +3 -0
  35. package/web-types.json +176 -0
  36. package/web-types.lit.json +90 -0
package/README.md CHANGED
@@ -5,7 +5,6 @@ A web component for organizing and grouping content into sections.
5
5
  [Documentation + Live Demo ↗](https://vaadin.com/docs/latest/components/tabs)
6
6
 
7
7
  [![npm version](https://badgen.net/npm/v/@vaadin/tabs)](https://www.npmjs.com/package/@vaadin/tabs)
8
- [![Discord](https://img.shields.io/discord/732335336448852018?label=discord)](https://discord.gg/PHmkCKC)
9
8
 
10
9
  ```html
11
10
  <vaadin-tabs selected="3">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/tabs",
3
- "version": "24.4.0-dev.b3e1d14600",
3
+ "version": "24.5.0-alpha1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -24,6 +24,8 @@
24
24
  "theme",
25
25
  "vaadin-*.d.ts",
26
26
  "vaadin-*.js",
27
+ "!vaadin-lit-*.d.ts",
28
+ "!vaadin-lit-*.js",
27
29
  "web-types.json",
28
30
  "web-types.lit.json"
29
31
  ],
@@ -37,12 +39,12 @@
37
39
  "dependencies": {
38
40
  "@open-wc/dedupe-mixin": "^1.3.0",
39
41
  "@polymer/polymer": "^3.0.0",
40
- "@vaadin/a11y-base": "24.4.0-dev.b3e1d14600",
41
- "@vaadin/component-base": "24.4.0-dev.b3e1d14600",
42
- "@vaadin/item": "24.4.0-dev.b3e1d14600",
43
- "@vaadin/vaadin-lumo-styles": "24.4.0-dev.b3e1d14600",
44
- "@vaadin/vaadin-material-styles": "24.4.0-dev.b3e1d14600",
45
- "@vaadin/vaadin-themable-mixin": "24.4.0-dev.b3e1d14600",
42
+ "@vaadin/a11y-base": "24.5.0-alpha1",
43
+ "@vaadin/component-base": "24.5.0-alpha1",
44
+ "@vaadin/item": "24.5.0-alpha1",
45
+ "@vaadin/vaadin-lumo-styles": "24.5.0-alpha1",
46
+ "@vaadin/vaadin-material-styles": "24.5.0-alpha1",
47
+ "@vaadin/vaadin-themable-mixin": "24.5.0-alpha1",
46
48
  "lit": "^3.0.0"
47
49
  },
48
50
  "devDependencies": {
@@ -54,5 +56,5 @@
54
56
  "web-types.json",
55
57
  "web-types.lit.json"
56
58
  ],
57
- "gitHead": "502d4f5b03f770a83d270d98078cde230254dd0e"
59
+ "gitHead": "57806caac5468532a3b4e3dbdda730cd0fca193a"
58
60
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ export * from './vaadin-tab.js';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { html, LitElement } from 'lit';
7
+ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
+ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
9
+ import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
+ import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';
11
+ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
+ import { TabMixin } from './vaadin-tab-mixin.js';
13
+ import { tabStyles } from './vaadin-tab-styles.js';
14
+
15
+ /**
16
+ * LitElement based version of `<vaadin-tab>` web component.
17
+ *
18
+ * ## Disclaimer
19
+ *
20
+ * This component is an experiment and not yet a part of Vaadin platform.
21
+ * There is no ETA regarding specific Vaadin version where it'll land.
22
+ * Feel free to try this code in your apps as per Apache 2.0 license.
23
+ *
24
+ * @extends HTMLElement
25
+ * @mixes ElementMixin
26
+ * @mixes TabMixin
27
+ * @mixes ThemableMixin
28
+ */
29
+ class Tab extends TabMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement)))) {
30
+ static get is() {
31
+ return 'vaadin-tab';
32
+ }
33
+
34
+ static get styles() {
35
+ return [tabStyles];
36
+ }
37
+
38
+ /** @protected */
39
+ render() {
40
+ return html`
41
+ <slot></slot>
42
+ <slot name="tooltip"></slot>
43
+ `;
44
+ }
45
+
46
+ /** @protected */
47
+ ready() {
48
+ super.ready();
49
+
50
+ this._tooltipController = new TooltipController(this);
51
+ this.addController(this._tooltipController);
52
+ }
53
+ }
54
+
55
+ defineCustomElement(Tab);
56
+
57
+ export { Tab };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ export * from './vaadin-tabs.js';
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import './vaadin-lit-tab.js';
7
+ import { html, LitElement } from 'lit';
8
+ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
9
+ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
10
+ import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
11
+ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
+ import { TabsMixin } from './vaadin-tabs-mixin.js';
13
+ import { tabsStyles } from './vaadin-tabs-styles.js';
14
+
15
+ /**
16
+ * LitElement based version of `<vaadin-tabs>` web component.
17
+ *
18
+ * ## Disclaimer
19
+ *
20
+ * This component is an experiment and not yet a part of Vaadin platform.
21
+ * There is no ETA regarding specific Vaadin version where it'll land.
22
+ * Feel free to try this code in your apps as per Apache 2.0 license.
23
+ *
24
+ * @extends HTMLElement
25
+ * @mixes ElementMixin
26
+ * @mixes TabsMixin
27
+ * @mixes ThemableMixin
28
+ */
29
+ class Tabs extends TabsMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
30
+ static get is() {
31
+ return 'vaadin-tabs';
32
+ }
33
+
34
+ static get styles() {
35
+ return [tabsStyles];
36
+ }
37
+
38
+ /** @protected */
39
+ render() {
40
+ return html`
41
+ <div @click="${this._scrollBack}" part="back-button" aria-hidden="true"></div>
42
+
43
+ <div id="scroll" part="tabs">
44
+ <slot></slot>
45
+ </div>
46
+
47
+ <div @click="${this._scrollForward}" part="forward-button" aria-hidden="true"></div>
48
+ `;
49
+ }
50
+ }
51
+
52
+ defineCustomElement(Tabs);
53
+
54
+ export { Tabs };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { Constructor } from '@open-wc/dedupe-mixin';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { ItemMixin } from '@vaadin/item/src/vaadin-item-mixin.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { CSSResult } from 'lit';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { css } from 'lit';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';
package/src/vaadin-tab.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { Constructor } from '@open-wc/dedupe-mixin';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { afterNextRender } from '@polymer/polymer/lib/utils/render-status.js';
@@ -24,6 +24,8 @@ export const TabsMixin = (superClass) =>
24
24
  orientation: {
25
25
  value: 'horizontal',
26
26
  type: String,
27
+ reflectToAttribute: true,
28
+ sync: true,
27
29
  },
28
30
 
29
31
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { CSSResult } from 'lit';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { css } from 'lit';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2017 - 2023 Vaadin Ltd.
3
+ * Copyright (c) 2017 - 2024 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import './vaadin-tab.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-lit-tab.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-lit-tab.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-lit-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-lit-tabs.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-lit-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-lit-tabs.js';
@@ -0,0 +1,4 @@
1
+ import '@vaadin/vaadin-lumo-styles/color.js';
2
+ import '@vaadin/vaadin-lumo-styles/sizing.js';
3
+ import '@vaadin/vaadin-lumo-styles/style.js';
4
+ import '@vaadin/vaadin-lumo-styles/typography.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-tab.js';
@@ -0,0 +1,6 @@
1
+ import '@vaadin/vaadin-lumo-styles/font-icons.js';
2
+ import '@vaadin/vaadin-lumo-styles/color.js';
3
+ import '@vaadin/vaadin-lumo-styles/sizing.js';
4
+ import '@vaadin/vaadin-lumo-styles/spacing.js';
5
+ import '@vaadin/vaadin-lumo-styles/style.js';
6
+ import '@vaadin/vaadin-lumo-styles/typography.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-tabs.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-lit-tab.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-lit-tab.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-lit-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-lit-tabs.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-lit-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-lit-tabs.js';
@@ -0,0 +1,2 @@
1
+ import '@vaadin/vaadin-material-styles/color.js';
2
+ import '@vaadin/vaadin-material-styles/typography.js';
@@ -0,0 +1,2 @@
1
+ import './vaadin-tab-styles.js';
2
+ import '../../src/vaadin-tab.js';
@@ -0,0 +1,2 @@
1
+ import '@vaadin/vaadin-material-styles/font-icons.js';
2
+ import '@vaadin/vaadin-material-styles/color.js';
@@ -0,0 +1,3 @@
1
+ import './vaadin-tab.js';
2
+ import './vaadin-tabs-styles.js';
3
+ import '../../src/vaadin-tabs.js';
package/web-types.json ADDED
@@ -0,0 +1,176 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/web-types",
3
+ "name": "@vaadin/tabs",
4
+ "version": "24.5.0-alpha1",
5
+ "description-markup": "markdown",
6
+ "contributions": {
7
+ "html": {
8
+ "elements": [
9
+ {
10
+ "name": "vaadin-tab",
11
+ "description": "`<vaadin-tab>` is a Web Component providing an accessible and customizable tab.\n\n```\n <vaadin-tab>\n Tab 1\n </vaadin-tab>\n```\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-----------|-------------|------------\n`disabled` | Set to a disabled tab | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`selected` | Set when the tab is selected | :host\n`active` | Set when mousedown or enter/spacebar pressed | :host\n`orientation` | Set to `horizontal` or `vertical` depending on the direction of items | :host\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
12
+ "attributes": [
13
+ {
14
+ "name": "disabled",
15
+ "description": "If true, the user cannot interact with this element.",
16
+ "value": {
17
+ "type": [
18
+ "boolean",
19
+ "null",
20
+ "undefined"
21
+ ]
22
+ }
23
+ },
24
+ {
25
+ "name": "selected",
26
+ "description": "If true, the item is in selected state.",
27
+ "value": {
28
+ "type": [
29
+ "boolean"
30
+ ]
31
+ }
32
+ },
33
+ {
34
+ "name": "theme",
35
+ "description": "The theme variants to apply to the component.",
36
+ "value": {
37
+ "type": [
38
+ "string",
39
+ "null",
40
+ "undefined"
41
+ ]
42
+ }
43
+ }
44
+ ],
45
+ "js": {
46
+ "properties": [
47
+ {
48
+ "name": "disabled",
49
+ "description": "If true, the user cannot interact with this element.",
50
+ "value": {
51
+ "type": [
52
+ "boolean",
53
+ "null",
54
+ "undefined"
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "name": "value",
60
+ "description": "",
61
+ "value": {
62
+ "type": [
63
+ "string"
64
+ ]
65
+ }
66
+ },
67
+ {
68
+ "name": "selected",
69
+ "description": "If true, the item is in selected state.",
70
+ "value": {
71
+ "type": [
72
+ "boolean"
73
+ ]
74
+ }
75
+ }
76
+ ],
77
+ "events": []
78
+ }
79
+ },
80
+ {
81
+ "name": "vaadin-tabs",
82
+ "description": "`<vaadin-tabs>` is a Web Component for organizing and grouping content into sections.\n\n```\n <vaadin-tabs selected=\"4\">\n <vaadin-tab>Page 1</vaadin-tab>\n <vaadin-tab>Page 2</vaadin-tab>\n <vaadin-tab>Page 3</vaadin-tab>\n <vaadin-tab>Page 4</vaadin-tab>\n </vaadin-tabs>\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n------------------|--------------------------------------\n`back-button` | Button for moving the scroll back\n`tabs` | The tabs container\n`forward-button` | Button for moving the scroll forward\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-----------|-------------|------------\n`orientation` | Tabs disposition, valid values are `horizontal` and `vertical`. | :host\n`overflow` | It's set to `start`, `end`, none or both. | :host\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
83
+ "attributes": [
84
+ {
85
+ "name": "disabled",
86
+ "description": "If true, the user cannot interact with this element.\nWhen the element is disabled, the selected item is\nnot updated when `selected` property is changed.",
87
+ "value": {
88
+ "type": [
89
+ "boolean",
90
+ "null",
91
+ "undefined"
92
+ ]
93
+ }
94
+ },
95
+ {
96
+ "name": "selected",
97
+ "description": "The index of the selected tab.",
98
+ "value": {
99
+ "type": [
100
+ "number",
101
+ "null",
102
+ "undefined"
103
+ ]
104
+ }
105
+ },
106
+ {
107
+ "name": "orientation",
108
+ "description": "Set tabs disposition. Possible values are `horizontal|vertical`",
109
+ "value": {
110
+ "type": [
111
+ "TabsOrientation"
112
+ ]
113
+ }
114
+ },
115
+ {
116
+ "name": "theme",
117
+ "description": "The theme variants to apply to the component.",
118
+ "value": {
119
+ "type": [
120
+ "string",
121
+ "null",
122
+ "undefined"
123
+ ]
124
+ }
125
+ }
126
+ ],
127
+ "js": {
128
+ "properties": [
129
+ {
130
+ "name": "disabled",
131
+ "description": "If true, the user cannot interact with this element.\nWhen the element is disabled, the selected item is\nnot updated when `selected` property is changed.",
132
+ "value": {
133
+ "type": [
134
+ "boolean",
135
+ "null",
136
+ "undefined"
137
+ ]
138
+ }
139
+ },
140
+ {
141
+ "name": "selected",
142
+ "description": "The index of the selected tab.",
143
+ "value": {
144
+ "type": [
145
+ "number",
146
+ "null",
147
+ "undefined"
148
+ ]
149
+ }
150
+ },
151
+ {
152
+ "name": "orientation",
153
+ "description": "Set tabs disposition. Possible values are `horizontal|vertical`",
154
+ "value": {
155
+ "type": [
156
+ "TabsOrientation"
157
+ ]
158
+ }
159
+ }
160
+ ],
161
+ "events": [
162
+ {
163
+ "name": "selected-changed",
164
+ "description": "Fired when the selection is changed.\nNot fired when used in `multiple` selection mode."
165
+ },
166
+ {
167
+ "name": "items-changed",
168
+ "description": "Fired when the `items` property changes."
169
+ }
170
+ ]
171
+ }
172
+ }
173
+ ]
174
+ }
175
+ }
176
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/web-types",
3
+ "name": "@vaadin/tabs",
4
+ "version": "24.5.0-alpha1",
5
+ "description-markup": "markdown",
6
+ "framework": "lit",
7
+ "framework-config": {
8
+ "enable-when": {
9
+ "node-packages": [
10
+ "lit"
11
+ ]
12
+ }
13
+ },
14
+ "contributions": {
15
+ "html": {
16
+ "elements": [
17
+ {
18
+ "name": "vaadin-tab",
19
+ "description": "`<vaadin-tab>` is a Web Component providing an accessible and customizable tab.\n\n```\n <vaadin-tab>\n Tab 1\n </vaadin-tab>\n```\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-----------|-------------|------------\n`disabled` | Set to a disabled tab | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`selected` | Set when the tab is selected | :host\n`active` | Set when mousedown or enter/spacebar pressed | :host\n`orientation` | Set to `horizontal` or `vertical` depending on the direction of items | :host\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
20
+ "extension": true,
21
+ "attributes": [
22
+ {
23
+ "name": "?disabled",
24
+ "description": "If true, the user cannot interact with this element.",
25
+ "value": {
26
+ "kind": "expression"
27
+ }
28
+ },
29
+ {
30
+ "name": "?selected",
31
+ "description": "If true, the item is in selected state.",
32
+ "value": {
33
+ "kind": "expression"
34
+ }
35
+ },
36
+ {
37
+ "name": ".value",
38
+ "description": "",
39
+ "value": {
40
+ "kind": "expression"
41
+ }
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "name": "vaadin-tabs",
47
+ "description": "`<vaadin-tabs>` is a Web Component for organizing and grouping content into sections.\n\n```\n <vaadin-tabs selected=\"4\">\n <vaadin-tab>Page 1</vaadin-tab>\n <vaadin-tab>Page 2</vaadin-tab>\n <vaadin-tab>Page 3</vaadin-tab>\n <vaadin-tab>Page 4</vaadin-tab>\n </vaadin-tabs>\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n------------------|--------------------------------------\n`back-button` | Button for moving the scroll back\n`tabs` | The tabs container\n`forward-button` | Button for moving the scroll forward\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-----------|-------------|------------\n`orientation` | Tabs disposition, valid values are `horizontal` and `vertical`. | :host\n`overflow` | It's set to `start`, `end`, none or both. | :host\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
48
+ "extension": true,
49
+ "attributes": [
50
+ {
51
+ "name": "?disabled",
52
+ "description": "If true, the user cannot interact with this element.\nWhen the element is disabled, the selected item is\nnot updated when `selected` property is changed.",
53
+ "value": {
54
+ "kind": "expression"
55
+ }
56
+ },
57
+ {
58
+ "name": ".selected",
59
+ "description": "The index of the selected tab.",
60
+ "value": {
61
+ "kind": "expression"
62
+ }
63
+ },
64
+ {
65
+ "name": ".orientation",
66
+ "description": "Set tabs disposition. Possible values are `horizontal|vertical`",
67
+ "value": {
68
+ "kind": "expression"
69
+ }
70
+ },
71
+ {
72
+ "name": "@selected-changed",
73
+ "description": "Fired when the selection is changed.\nNot fired when used in `multiple` selection mode.",
74
+ "value": {
75
+ "kind": "expression"
76
+ }
77
+ },
78
+ {
79
+ "name": "@items-changed",
80
+ "description": "Fired when the `items` property changes.",
81
+ "value": {
82
+ "kind": "expression"
83
+ }
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ }
89
+ }
90
+ }