@roadtrip/components 2.45.1 → 2.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-a2306350.js +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/road-badge_14.cjs.entry.js +4 -3
- package/dist/cjs/road-flap.cjs.entry.js +1 -1
- package/dist/cjs/road-progress.cjs.entry.js +12 -2
- package/dist/cjs/road-segmented-button-bar.cjs.entry.js +39 -0
- package/dist/cjs/road-segmented-button.cjs.entry.js +64 -0
- package/dist/cjs/road-segmented-buttons.cjs.entry.js +112 -0
- package/dist/cjs/roadtrip.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/button/button.css +14 -0
- package/dist/collection/components/button/button.js +4 -4
- package/dist/collection/components/button/button.stories.js +6 -1
- package/dist/collection/components/counter/counter.js +2 -1
- package/dist/collection/components/flap/flap.css +5 -0
- package/dist/collection/components/flap/flap.js +2 -2
- package/dist/collection/components/flap/flap.stories.js +7 -1
- package/dist/collection/components/icon/svg/alert-success-solid.svg +1 -0
- package/dist/collection/components/icon/svg/data-tech-solid.svg +1 -0
- package/dist/collection/components/icon/svg/electric-charger-service-color.svg +1 -0
- package/dist/collection/components/icon/svg/electric-charger-service-outline.svg +1 -0
- package/dist/collection/components/icon/svg/flag-england-color.svg +1 -1
- package/dist/collection/components/icon/svg/funding-control-color.svg +1 -0
- package/dist/collection/components/icon/svg/funding-control-outline.svg +1 -0
- package/dist/collection/components/icon/svg/funding-plan-color.svg +1 -0
- package/dist/collection/components/icon/svg/funding-plan-outline.svg +1 -0
- package/dist/collection/components/icon/svg/gesture-finger-snap-color.svg +1 -0
- package/dist/collection/components/icon/svg/gesture-finger-snap-outline.svg +1 -0
- package/dist/collection/components/icon/svg/mic-off-solid.svg +1 -0
- package/dist/collection/components/icon/svg/piggy-bank-saving-color.svg +1 -0
- package/dist/collection/components/icon/svg/piggy-bank-saving-outline.svg +1 -0
- package/dist/collection/components/icon/svg/social-twitter-color.svg +1 -0
- package/dist/collection/components/icon/svg/social-youtube-color.svg +1 -0
- package/dist/collection/components/icon/svg/{station-electric-outline-color.svg → station-electric-color.svg} +0 -0
- package/dist/collection/components/icon/svg/station-electric-outline.svg +1 -1
- package/dist/collection/components/icon/svg/{station-electric-outline-solid.svg → station-electric-solid.svg} +0 -0
- package/dist/collection/components/icon/svg/vehicle-3-doors-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-outline.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-3-doors-outline.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-3-doors-solid.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-5-doors-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-outline.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-5-doors-outline.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-5-doors-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-5-doors-solid.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-car-bodywork-solid.svg +1 -0
- package/dist/collection/components/icon/svg/{vehicle-car-electric- outline.svg → vehicle-car-electric-outline.svg} +0 -0
- package/dist/collection/components/icon/svg/{vehicle-car-unknow- solid.svg → vehicle-car-unknow-solid.svg} +0 -0
- package/dist/collection/components/icon/svg/vehicle-tires-all-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-back-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-back-left-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-back-left-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-back-right-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-back-right-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-back-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-front-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-front-left-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-front-left-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-front-right-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-front-right-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-front-solid-color.svg +1 -0
- package/dist/collection/components/icon/svg/vehicle-tires-outline.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-solid-color.svg +1 -1
- package/dist/collection/components/icon/svg/vehicle-tires-solid.svg +1 -1
- package/dist/collection/components/icon/svg/work-order-diagnostic-solid.svg +1 -0
- package/dist/collection/components/icon/svg/work-order-wait-check-solid.svg +1 -0
- package/dist/collection/components/progress/progress.css +16 -8
- package/dist/collection/components/progress/progress.js +47 -1
- package/dist/collection/components/progress/progress.stories.js +20 -7
- package/dist/collection/components/segmented-button/segmented-button.css +123 -0
- package/dist/collection/components/segmented-button/segmented-button.js +160 -0
- package/dist/collection/components/segmented-button-bar/segmented-button-bar.css +9 -0
- package/dist/collection/components/segmented-button-bar/segmented-button-bar.js +102 -0
- package/dist/collection/components/segmented-buttons/segmented-buttons.css +9 -0
- package/dist/collection/components/segmented-buttons/segmented-buttons.js +263 -0
- package/dist/collection/components/segmented-buttons/segmented-buttons.stories.js +103 -0
- package/dist/esm/index-a99a5e7b.js +12 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/road-badge_14.entry.js +4 -3
- package/dist/esm/road-flap.entry.js +1 -1
- package/dist/esm/road-progress.entry.js +12 -2
- package/dist/esm/road-segmented-button-bar.entry.js +35 -0
- package/dist/esm/road-segmented-button.entry.js +60 -0
- package/dist/esm/road-segmented-buttons.entry.js +108 -0
- package/dist/esm/roadtrip.js +1 -1
- package/dist/html.html-data.json +82 -1
- package/dist/icons/icons.svg +1 -1
- package/dist/icons/index.d.ts +37 -5
- package/dist/icons/index.js +68 -36
- package/dist/roadtrip/p-10024b8f.entry.js +1 -0
- package/dist/roadtrip/p-12fcedd3.entry.js +1 -0
- package/dist/roadtrip/{p-2c87e848.entry.js → p-2c4fdb41.entry.js} +1 -1
- package/dist/roadtrip/p-9a91495a.entry.js +1 -0
- package/dist/roadtrip/p-9ef4cedb.entry.js +1 -0
- package/dist/roadtrip/p-d52512f6.entry.js +1 -0
- package/dist/roadtrip/roadtrip.css +1 -1
- package/dist/roadtrip/roadtrip.esm.js +1 -1
- package/dist/roadtrip/svg/alert-success-solid.svg +1 -0
- package/dist/roadtrip/svg/data-tech-solid.svg +1 -0
- package/dist/roadtrip/svg/electric-charger-service-color.svg +1 -0
- package/dist/roadtrip/svg/electric-charger-service-outline.svg +1 -0
- package/dist/roadtrip/svg/flag-england-color.svg +1 -1
- package/dist/roadtrip/svg/funding-control-color.svg +1 -0
- package/dist/roadtrip/svg/funding-control-outline.svg +1 -0
- package/dist/roadtrip/svg/funding-plan-color.svg +1 -0
- package/dist/roadtrip/svg/funding-plan-outline.svg +1 -0
- package/dist/roadtrip/svg/gesture-finger-snap-color.svg +1 -0
- package/dist/roadtrip/svg/gesture-finger-snap-outline.svg +1 -0
- package/dist/roadtrip/svg/mic-off-solid.svg +1 -0
- package/dist/roadtrip/svg/piggy-bank-saving-color.svg +1 -0
- package/dist/roadtrip/svg/piggy-bank-saving-outline.svg +1 -0
- package/dist/roadtrip/svg/social-twitter-color.svg +1 -0
- package/dist/roadtrip/svg/social-youtube-color.svg +1 -0
- package/dist/roadtrip/svg/{station-electric-outline-color.svg → station-electric-color.svg} +0 -0
- package/dist/roadtrip/svg/station-electric-outline.svg +1 -1
- package/dist/roadtrip/svg/{station-electric-outline-solid.svg → station-electric-solid.svg} +0 -0
- package/dist/roadtrip/svg/vehicle-3-doors-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-3-doors-hatchback-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-3-doors-hatchback-outline.svg +1 -0
- package/dist/roadtrip/svg/vehicle-3-doors-hatchback-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-3-doors-outline.svg +1 -0
- package/dist/roadtrip/svg/vehicle-3-doors-solid.svg +1 -0
- package/dist/roadtrip/svg/vehicle-5-doors-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-5-doors-hatchback-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-5-doors-hatchback-outline.svg +1 -0
- package/dist/roadtrip/svg/vehicle-5-doors-hatchback-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-5-doors-outline.svg +1 -0
- package/dist/roadtrip/svg/vehicle-5-doors-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-5-doors-solid.svg +1 -0
- package/dist/roadtrip/svg/vehicle-car-bodywork-solid.svg +1 -0
- package/dist/roadtrip/svg/{vehicle-car-electric- outline.svg → vehicle-car-electric-outline.svg} +0 -0
- package/dist/roadtrip/svg/{vehicle-car-unknow- solid.svg → vehicle-car-unknow-solid.svg} +0 -0
- package/dist/roadtrip/svg/vehicle-tires-all-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-back-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-back-left-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-back-left-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-back-right-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-back-right-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-back-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-front-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-front-left-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-front-left-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-front-right-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-front-right-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-front-solid-color.svg +1 -0
- package/dist/roadtrip/svg/vehicle-tires-outline.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-solid-color.svg +1 -1
- package/dist/roadtrip/svg/vehicle-tires-solid.svg +1 -1
- package/dist/roadtrip/svg/work-order-diagnostic-solid.svg +1 -0
- package/dist/roadtrip/svg/work-order-wait-check-solid.svg +1 -0
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/flap/flap.d.ts +1 -1
- package/dist/types/components/progress/progress.d.ts +8 -0
- package/dist/types/components/segmented-button/segmented-button.d.ts +29 -0
- package/dist/types/components/segmented-button-bar/segmented-button-bar.d.ts +19 -0
- package/dist/types/components/segmented-buttons/segmented-buttons.d.ts +55 -0
- package/dist/types/components.d.ts +119 -6
- package/icons/icons.svg +1 -1
- package/icons/index.d.ts +37 -5
- package/icons/index.js +68 -36
- package/package.json +1 -1
- package/dist/collection/components/icon/svg/station-electric-outline-outline.svg +0 -1
- package/dist/roadtrip/p-45e19d00.entry.js +0 -1
- package/dist/roadtrip/p-de4ccbde.entry.js +0 -1
- package/dist/roadtrip/svg/station-electric-outline-outline.svg +0 -1
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { Host, h } from '@stencil/core';
|
|
2
|
+
/**
|
|
3
|
+
* @slot - Content is placed between the named slots if provided without a slot.
|
|
4
|
+
* @slot top - Content is placed at the top of the screen.
|
|
5
|
+
*/
|
|
6
|
+
export class Tabs {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.transitioning = false;
|
|
9
|
+
this.onTabClicked = (ev) => {
|
|
10
|
+
const { tab } = ev.detail;
|
|
11
|
+
this.select(tab);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async componentWillLoad() {
|
|
15
|
+
const tabs = this.tabs;
|
|
16
|
+
if (tabs.length > 0) {
|
|
17
|
+
this.select(tabs[0]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
componentWillRender() {
|
|
21
|
+
const buttonBar = this.el.querySelector('road-segmented-button-bar');
|
|
22
|
+
if (buttonBar) {
|
|
23
|
+
const tab = this.selectedTab ? this.selectedTab.tab : undefined;
|
|
24
|
+
buttonBar.selectedTab = tab;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Select a tab by the value of its `tab` property or an element reference.
|
|
29
|
+
*
|
|
30
|
+
* @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
|
|
31
|
+
*/
|
|
32
|
+
async select(tab) {
|
|
33
|
+
const selectedTab = getTab(this.tabs, tab);
|
|
34
|
+
if (!this.shouldSwitch(selectedTab)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
await this.setActive(selectedTab);
|
|
38
|
+
this.tabSwitch();
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get a specific tab by the value of its `tab` property or an element reference.
|
|
43
|
+
*
|
|
44
|
+
* @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
|
|
45
|
+
*/
|
|
46
|
+
async getTab(tab) {
|
|
47
|
+
return getTab(this.tabs, tab);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the currently selected tab.
|
|
51
|
+
*/
|
|
52
|
+
getSelected() {
|
|
53
|
+
return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined);
|
|
54
|
+
}
|
|
55
|
+
setActive(selectedTab) {
|
|
56
|
+
if (this.transitioning) {
|
|
57
|
+
return Promise.reject('transitioning already happening');
|
|
58
|
+
}
|
|
59
|
+
this.transitioning = true;
|
|
60
|
+
this.leavingTab = this.selectedTab;
|
|
61
|
+
this.selectedTab = selectedTab;
|
|
62
|
+
this.roadTabsWillChange.emit({ tab: selectedTab.tab });
|
|
63
|
+
selectedTab.active = true;
|
|
64
|
+
return Promise.resolve();
|
|
65
|
+
}
|
|
66
|
+
tabSwitch() {
|
|
67
|
+
const selectedTab = this.selectedTab;
|
|
68
|
+
const leavingTab = this.leavingTab;
|
|
69
|
+
this.leavingTab = undefined;
|
|
70
|
+
this.transitioning = false;
|
|
71
|
+
if (!selectedTab) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (leavingTab !== selectedTab) {
|
|
75
|
+
if (leavingTab) {
|
|
76
|
+
leavingTab.active = false;
|
|
77
|
+
}
|
|
78
|
+
this.roadTabsDidChange.emit({ tab: selectedTab.tab });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
shouldSwitch(selectedTab) {
|
|
82
|
+
const leavingTab = this.selectedTab;
|
|
83
|
+
return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning;
|
|
84
|
+
}
|
|
85
|
+
get tabs() {
|
|
86
|
+
return Array.from(this.el.querySelectorAll('road-tab'));
|
|
87
|
+
}
|
|
88
|
+
render() {
|
|
89
|
+
return (h(Host, { onRoadSegmentedButtonClick: this.onTabClicked }, h("slot", { name: "top" }), h("slot", null)));
|
|
90
|
+
}
|
|
91
|
+
static get is() { return "road-segmented-buttons"; }
|
|
92
|
+
static get encapsulation() { return "shadow"; }
|
|
93
|
+
static get originalStyleUrls() {
|
|
94
|
+
return {
|
|
95
|
+
"$": ["segmented-buttons.css"]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
static get styleUrls() {
|
|
99
|
+
return {
|
|
100
|
+
"$": ["segmented-buttons.css"]
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
static get states() {
|
|
104
|
+
return {
|
|
105
|
+
"selectedTab": {}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
static get events() {
|
|
109
|
+
return [{
|
|
110
|
+
"method": "roadtabswillchange",
|
|
111
|
+
"name": "roadtabswillchange",
|
|
112
|
+
"bubbles": false,
|
|
113
|
+
"cancelable": true,
|
|
114
|
+
"composed": true,
|
|
115
|
+
"docs": {
|
|
116
|
+
"tags": [],
|
|
117
|
+
"text": "Emitted when the navigation is about to transition to a new component."
|
|
118
|
+
},
|
|
119
|
+
"complexType": {
|
|
120
|
+
"original": "{tab: string}",
|
|
121
|
+
"resolved": "{ tab: string; }",
|
|
122
|
+
"references": {}
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
"method": "roadTabsWillChange",
|
|
126
|
+
"name": "roadTabsWillChange",
|
|
127
|
+
"bubbles": false,
|
|
128
|
+
"cancelable": true,
|
|
129
|
+
"composed": true,
|
|
130
|
+
"docs": {
|
|
131
|
+
"tags": [{
|
|
132
|
+
"name": "internal",
|
|
133
|
+
"text": undefined
|
|
134
|
+
}],
|
|
135
|
+
"text": ""
|
|
136
|
+
},
|
|
137
|
+
"complexType": {
|
|
138
|
+
"original": "{tab: string}",
|
|
139
|
+
"resolved": "{ tab: string; }",
|
|
140
|
+
"references": {}
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
"method": "roadtabsdidchange",
|
|
144
|
+
"name": "roadtabsdidchange",
|
|
145
|
+
"bubbles": false,
|
|
146
|
+
"cancelable": true,
|
|
147
|
+
"composed": true,
|
|
148
|
+
"docs": {
|
|
149
|
+
"tags": [],
|
|
150
|
+
"text": "Emitted when the navigation has finished transitioning to a new component."
|
|
151
|
+
},
|
|
152
|
+
"complexType": {
|
|
153
|
+
"original": "{tab: string}",
|
|
154
|
+
"resolved": "{ tab: string; }",
|
|
155
|
+
"references": {}
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
"method": "roadTabsDidChange",
|
|
159
|
+
"name": "roadTabsDidChange",
|
|
160
|
+
"bubbles": false,
|
|
161
|
+
"cancelable": true,
|
|
162
|
+
"composed": true,
|
|
163
|
+
"docs": {
|
|
164
|
+
"tags": [{
|
|
165
|
+
"name": "internal",
|
|
166
|
+
"text": undefined
|
|
167
|
+
}],
|
|
168
|
+
"text": ""
|
|
169
|
+
},
|
|
170
|
+
"complexType": {
|
|
171
|
+
"original": "{tab: string}",
|
|
172
|
+
"resolved": "{ tab: string; }",
|
|
173
|
+
"references": {}
|
|
174
|
+
}
|
|
175
|
+
}];
|
|
176
|
+
}
|
|
177
|
+
static get methods() {
|
|
178
|
+
return {
|
|
179
|
+
"select": {
|
|
180
|
+
"complexType": {
|
|
181
|
+
"signature": "(tab: string | HTMLRoadTabElement) => Promise<boolean>",
|
|
182
|
+
"parameters": [{
|
|
183
|
+
"tags": [{
|
|
184
|
+
"name": "param",
|
|
185
|
+
"text": "tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
186
|
+
}],
|
|
187
|
+
"text": "The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
188
|
+
}],
|
|
189
|
+
"references": {
|
|
190
|
+
"Promise": {
|
|
191
|
+
"location": "global"
|
|
192
|
+
},
|
|
193
|
+
"HTMLRoadTabElement": {
|
|
194
|
+
"location": "global"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"return": "Promise<boolean>"
|
|
198
|
+
},
|
|
199
|
+
"docs": {
|
|
200
|
+
"text": "Select a tab by the value of its `tab` property or an element reference.",
|
|
201
|
+
"tags": [{
|
|
202
|
+
"name": "param",
|
|
203
|
+
"text": "tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
204
|
+
}]
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"getTab": {
|
|
208
|
+
"complexType": {
|
|
209
|
+
"signature": "(tab: string | HTMLRoadTabElement) => Promise<HTMLRoadTabElement | undefined>",
|
|
210
|
+
"parameters": [{
|
|
211
|
+
"tags": [{
|
|
212
|
+
"name": "param",
|
|
213
|
+
"text": "tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
214
|
+
}],
|
|
215
|
+
"text": "The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
216
|
+
}],
|
|
217
|
+
"references": {
|
|
218
|
+
"Promise": {
|
|
219
|
+
"location": "global"
|
|
220
|
+
},
|
|
221
|
+
"HTMLRoadTabElement": {
|
|
222
|
+
"location": "global"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"return": "Promise<HTMLRoadTabElement | undefined>"
|
|
226
|
+
},
|
|
227
|
+
"docs": {
|
|
228
|
+
"text": "Get a specific tab by the value of its `tab` property or an element reference.",
|
|
229
|
+
"tags": [{
|
|
230
|
+
"name": "param",
|
|
231
|
+
"text": "tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property."
|
|
232
|
+
}]
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"getSelected": {
|
|
236
|
+
"complexType": {
|
|
237
|
+
"signature": "() => Promise<string | undefined>",
|
|
238
|
+
"parameters": [],
|
|
239
|
+
"references": {
|
|
240
|
+
"Promise": {
|
|
241
|
+
"location": "global"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"return": "Promise<string | undefined>"
|
|
245
|
+
},
|
|
246
|
+
"docs": {
|
|
247
|
+
"text": "Get the currently selected tab.",
|
|
248
|
+
"tags": []
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
static get elementRef() { return "el"; }
|
|
254
|
+
}
|
|
255
|
+
const getTab = (tabs, tab) => {
|
|
256
|
+
const tabEl = (typeof tab === 'string')
|
|
257
|
+
? tabs.find(t => t.tab === tab)
|
|
258
|
+
: tab;
|
|
259
|
+
if (!tabEl) {
|
|
260
|
+
console.error(`tab with id: "${tabEl}" does not exist`);
|
|
261
|
+
}
|
|
262
|
+
return tabEl;
|
|
263
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Navigation/Segmented buttons',
|
|
6
|
+
component: 'road-segmented-buttons',
|
|
7
|
+
subcomponents: {
|
|
8
|
+
'road-segmented-button-bar': 'road-segmented-button-bar',
|
|
9
|
+
'road-segmented-button': 'road-segmented-button',
|
|
10
|
+
'road-tab': 'road-tab',
|
|
11
|
+
},
|
|
12
|
+
parameters: {
|
|
13
|
+
actions: {
|
|
14
|
+
handles: ['roadsegmentedbuttonclick'],
|
|
15
|
+
},
|
|
16
|
+
backgrounds: {
|
|
17
|
+
default: 'grey',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
argTypes: {
|
|
21
|
+
top: {
|
|
22
|
+
control: 'text',
|
|
23
|
+
},
|
|
24
|
+
' ': {
|
|
25
|
+
control: 'text',
|
|
26
|
+
},
|
|
27
|
+
roadtabsdidchange: {
|
|
28
|
+
control: {
|
|
29
|
+
type: null,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
roadtabswillchange: {
|
|
33
|
+
control: {
|
|
34
|
+
type: null,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
getSelected : {
|
|
38
|
+
description: 'Get the currently selected tab.',
|
|
39
|
+
table: {
|
|
40
|
+
category: 'methods',
|
|
41
|
+
type: {
|
|
42
|
+
summary: 'getSelected() => Promise<string | undefined>',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
defaultValue: {
|
|
46
|
+
summary: null,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
getTab : {
|
|
50
|
+
description: 'Get a specific tab by the value of its `tab` property or an element reference.',
|
|
51
|
+
table: {
|
|
52
|
+
category: 'methods',
|
|
53
|
+
type: {
|
|
54
|
+
summary: 'getTab(tab: string | HTMLRoadTabElement) => Promise<HTMLRoadTabElement | undefined>',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
defaultValue: {
|
|
58
|
+
summary: null,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
select : {
|
|
62
|
+
description: 'Select a tab by the value of its `tab` property or an element reference.',
|
|
63
|
+
table: {
|
|
64
|
+
category: 'methods',
|
|
65
|
+
type: {
|
|
66
|
+
summary: 'select(tab: string | HTMLRoadTabElement) => Promise<boolean>',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
defaultValue: {
|
|
70
|
+
summary: null,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const Template = (args) => html`
|
|
77
|
+
<road-segmented-buttons>
|
|
78
|
+
${unsafeHTML(args.top)}
|
|
79
|
+
${unsafeHTML(args[' '])}
|
|
80
|
+
</road-segmented-buttons>
|
|
81
|
+
`;
|
|
82
|
+
|
|
83
|
+
export const Playground = Template.bind({});
|
|
84
|
+
Playground.args = {
|
|
85
|
+
top: `<road-segmented-button-bar slot="top" selected-tab="tab-description">
|
|
86
|
+
<road-segmented-button tab="tab-description">
|
|
87
|
+
Description
|
|
88
|
+
</road-segmented-button>
|
|
89
|
+
|
|
90
|
+
<road-segmented-button tab="tab-services">
|
|
91
|
+
Services
|
|
92
|
+
</road-segmented-button>
|
|
93
|
+
</road-segmented-button-bar>`,
|
|
94
|
+
' ': `<road-tab tab="tab-description">
|
|
95
|
+
Description
|
|
96
|
+
</road-tab>
|
|
97
|
+
|
|
98
|
+
<road-tab tab="tab-services">
|
|
99
|
+
Services
|
|
100
|
+
</road-tab>`,
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
|
|
@@ -2059,6 +2059,18 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
2059
2059
|
return import(
|
|
2060
2060
|
/* webpackMode: "lazy" */
|
|
2061
2061
|
'./road-rating.entry.js').then(processMod, consoleError);
|
|
2062
|
+
case 'road-segmented-button':
|
|
2063
|
+
return import(
|
|
2064
|
+
/* webpackMode: "lazy" */
|
|
2065
|
+
'./road-segmented-button.entry.js').then(processMod, consoleError);
|
|
2066
|
+
case 'road-segmented-button-bar':
|
|
2067
|
+
return import(
|
|
2068
|
+
/* webpackMode: "lazy" */
|
|
2069
|
+
'./road-segmented-button-bar.entry.js').then(processMod, consoleError);
|
|
2070
|
+
case 'road-segmented-buttons':
|
|
2071
|
+
return import(
|
|
2072
|
+
/* webpackMode: "lazy" */
|
|
2073
|
+
'./road-segmented-buttons.entry.js').then(processMod, consoleError);
|
|
2062
2074
|
case 'road-select':
|
|
2063
2075
|
return import(
|
|
2064
2076
|
/* webpackMode: "lazy" */
|
package/dist/esm/loader.js
CHANGED
|
@@ -25,7 +25,7 @@ const patchEsm = () => {
|
|
|
25
25
|
const defineCustomElements = (win, options) => {
|
|
26
26
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
27
27
|
return patchEsm().then(() => {
|
|
28
|
-
return bootstrapLazy([["road-badge_14",[[2,"road-counter",{"inputId":[1,"input-id"],"min":[2],"max":[2],"step":[1],"value":[2],"size":[1],"dustbin":[4],"leftIconClasses":[32],"rightIconClasses":[32],"isDustbinVisible":[32]}],[1,"road-item",{"button":[4],"detail":[4],"active":[4],"detailIcon":[1,"detail-icon"],"disabled":[4],"download":[1],"href":[1],"rel":[1],"lines":[1],"target":[1],"type":[1],"multipleInputs":[32]}],[1,"road-badge",{"color":[1],"bubble":[4]}],[1,"road-list",{"lines":[1]}],[1,"road-toolbar",{"color":[1]}],[33,"road-drawer",{"isOpen":[1028,"is-open"],"position":[1],"drawerWidth":[2,"drawer-width"],"hasInverseHeader":[4,"has-inverse-header"],"hasBackIcon":[4,"has-back-icon"],"backText":[1,"back-text"],"drawerTitle":[1,"drawer-title"],"hasCloseIcon":[4,"has-close-icon"],"open":[64],"close":[64],"back":[64]},[[4,"keyup","onEscape"]]],[1,"road-col"],[1,"road-grid"],[6,"road-input",{"inputId":[1,"input-id"],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"disabled":[4],"enterkeyhint":[1],"inputmode":[1],"max":[1],"maxlength":[2],"min":[1],"minlength":[2],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[2],"sizes":[1],"type":[1],"value":[1032],"label":[1],"error":[1],"helper":[1],"debounce":[2]}],[1,"road-label"],[1,"road-row"],[1,"road-button",{"color":[1],"size":[513],"buttonType":[1,"button-type"],"disabled":[516],"expand":[516],"download":[1],"href":[1],"rel":[1],"target":[1],"outline":[4]}],[1,"road-input-group"],[1,"road-icon",{"color":[1],"ariaLabel":[1537,"aria-label"],"ariaHidden":[513,"aria-hidden"],"name":[1],"src":[1],"icon":[8],"size":[1],"rotate":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]}]]],["road-duration",[[1,"road-duration",{"isOpen":[1028,"is-open"],"header":[1],"min":[2],"max":[2],"step":[2],"open":[64],"close":[64]},[[0,"roadcardclick","handleClick"]]]]],["road-plate-number",[[2,"road-plate-number",{"country":[1],"disabled":[4],"placeholder":[1],"readonly":[4],"value":[1032],"motorbike":[4]}]]],["road-accordion",[[1,"road-accordion",{"isOpen":[1028,"is-open"],"isLight":[4,"is-light"],"isLightSeparator":[4,"is-light-separator"],"isSmall":[4,"is-small"]}]]],["road-banner",[[1,"road-banner",{"isOpen":[1028,"is-open"],"label":[1],"link":[1],"url":[1],"close":[64]}]]],["road-carousel",[[1,"road-carousel",{"options":[8],"pager":[4],"arrows":[4],"update":[64],"updateAutoHeight":[64],"slideTo":[64],"slideNext":[64],"slidePrev":[64],"getActiveIndex":[64],"getPreviousIndex":[64],"length":[64],"isEnd":[64],"isBeginning":[64],"startAutoplay":[64],"stopAutoplay":[64],"lockSwipeToNext":[64],"lockSwipeToPrev":[64],"lockSwipes":[64],"getSwiper":[64]}]]],["road-checkbox",[[6,"road-checkbox",{"checkboxId":[1,"checkbox-id"],"name":[1],"required":[4],"checked":[1028],"indeterminate":[4],"disabled":[4],"value":[1],"label":[1],"inverse":[4],"error":[1],"helper":[1]}]]],["road-chip",[[1,"road-chip",{"color":[1],"outline":[4],"size":[1],"hasCloseIcon":[4,"has-close-icon"]}]]],["road-collapse",[[1,"road-collapse",{"isOpen":[1028,"is-open"],"showMore":[1,"show-more"],"showLess":[1,"show-less"],"centered":[4]}]]],["road-dialog",[[1,"road-dialog",{"isOpen":[1028,"is-open"],"hasCloseIcon":[4,"has-close-icon"],"color":[1],"icon":[1],"label":[1],"description":[1],"open":[64],"close":[64]},[[4,"keyup","onEscape"]]]]],["road-dropdown",[[1,"road-dropdown",{"isOpen":[1028,"is-open"],"isLight":[4,"is-light"],"position":[513],"direction":[513]}]]],["road-modal",[[1,"road-modal",{"maxWidth":[2,"max-width"],"isOpen":[1028,"is-open"],"hasInverseHeader":[4,"has-inverse-header"],"modalTitle":[1,"modal-title"],"hasCloseIcon":[4,"has-close-icon"],"open":[64],"close":[64]},[[4,"keyup","onEscape"]]]]],["road-range",[[6,"road-range",{"rangeId":[1,"range-id"],"value":[1032],"min":[1],"max":[1],"step":[1],"showValue":[4,"show-value"],"showTick":[4,"show-tick"],"showLabels":[4,"show-labels"]}]]],["road-rating",[[1,"road-rating",{"size":[513],"rate":[2],"reviews":[2],"reviewsText":[1,"reviews-text"]}]]],["road-toast",[[1,"road-toast",{"isOpen":[1028,"is-open"],"color":[1],"label":[1],"timeout":[2],"open":[64],"close":[64]}]]],["road-alert",[[1,"road-alert",{"color":[1],"label":[1],"link":[1],"url":[1]}]]],["road-autocomplete",[[6,"road-autocomplete",{"options":[16],"visible":[32]},[[0,"roadFocus","handleFocus"],[0,"roadfocus","handleFocus"],[4,"click","onClickOutside"]]]]],["road-avatar",[[1,"road-avatar"]]],["road-carousel-item",[[4,"road-carousel-item"]]],["road-flap",[[1,"road-flap",{"color":[1],"size":[513]}]]],["road-img",[[1,"road-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]}]]],["road-navbar",[[1,"road-navbar",{"selectedTab":[1,"selected-tab"]},[[0,"roadNavbarItemClick","onNavbarChanged"],[0,"roadnavbaritemclick","onNavbarChanged"]]]]],["road-navbar-item",[[1,"road-navbar-item",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"selected":[1028],"tab":[1],"target":[1]},[[8,"roadNavbarChanged","onNavbarChanged"],[8,"roadnavbarchanged","onNavbarChanged"]]]]],["road-progress",[[1,"road-progress",{"value":[2],"label":[1],"color":[1]}]]],["road-radio",[[2,"road-radio",{"radioId":[1,"radio-id"],"name":[1],"required":[4],"disabled":[4],"value":[8],"label":[1],"inverse":[4],"error":[4],"helper":[1],"inline":[4],"checked":[32]},[[8,"roadChange","onRoadChangedChanged"],[8,"roadchange","onRoadChangedChanged"]]]]],["road-radio-group",[[6,"road-radio-group",{"radioGroupId":[1,"radio-group-id"],"allowEmptySelection":[4,"allow-empty-selection"],"name":[1],"value":[1032],"label":[1],"asterisk":[4],"ariaLabel":[513,"aria-label"],"error":[1025],"helper":[1]}]]],["road-select",[[2,"road-select",{"selectId":[1,"select-id"],"options":[16],"autofocus":[4],"disabled":[4],"name":[1],"required":[4],"size":[2],"sizes":[1],"label":[1],"error":[1],"value":[1032]}]]],["road-select-filter",[[6,"road-select-filter",{"options":[16],"parameters":[8],"isActive":[4,"is-active"],"onlySelect":[4,"only-select"],"isOpen":[32],"currentValue":[32]},[[0,"roadFocus","handleFocus"],[0,"roadfocus","handleFocus"],[0,"roadBlur","handleBlur"],[0,"roadblur","handleBlur"],[0,"roadChange","handleChange"],[0,"roadchange","handleChange"],[4,"click","onClickOutside"]]]]],["road-skeleton",[[1,"road-skeleton"]]],["road-spinner",[[1,"road-spinner",{"size":[513],"color":[513]}]]],["road-stepper",[[1,"road-stepper",{"color":[513],"light":[4],"outline":[4],"stateFirstStep":[1,"state-first-step"],"stateSecondStep":[1,"state-second-step"],"stateThirdStep":[1,"state-third-step"]}]]],["road-switch",[[2,"road-switch",{"switchId":[1,"switch-id"],"name":[1],"checked":[1028],"disabled":[4],"label":[1],"color":[1],"hasLeftLabel":[4,"has-left-label"],"isSpaced":[4,"is-spaced"],"value":[1],"on":[1],"off":[1]}]]],["road-tab",[[1,"road-tab",{"active":[1028],"tab":[1],"setActive":[64]}]]],["road-tab-bar",[[1,"road-tab-bar",{"secondary":[4],"expand":[4],"center":[4],"selectedTab":[1,"selected-tab"]}]]],["road-tab-button",[[1,"road-tab-button",{"download":[1],"href":[1],"rel":[1],"layout":[1],"selected":[1028],"tab":[1],"target":[1]},[[8,"roadTabBarChanged","onTabBarChanged"],[8,"roadTabbarchanged","onTabBarChanged"]]]]],["road-table",[[6,"road-table"]]],["road-tabs",[[1,"road-tabs",{"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64]}]]],["road-text",[[1,"road-text",{"color":[1]}]]],["road-textarea",[[2,"road-textarea",{"textareaId":[1,"textarea-id"],"autocapitalize":[1],"autofocus":[4],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"sizes":[1],"readonly":[4],"required":[4],"spellcheck":[4],"cols":[2],"rows":[2],"wrap":[1],"value":[1025],"label":[1],"error":[1],"helper":[1]}]]],["road-toggle",[[2,"road-toggle",{"toggleId":[1,"toggle-id"],"name":[1],"checked":[1028],"disabled":[4],"label":[1],"color":[1],"hasLeftLabel":[4,"has-left-label"],"isSpaced":[4,"is-spaced"],"value":[1],"on":[1],"off":[1]}]]],["road-toolbar-title",[[1,"road-toolbar-title"]]],["road-tooltip",[[1,"road-tooltip",{"tooltipId":[1,"tooltip-id"],"content":[1],"position":[1],"contentAlign":[1,"content-align"],"isOpen":[1028,"is-open"],"trigger":[1],"open":[64],"close":[64]}]]],["road-card",[[1,"road-card",{"button":[4],"value":[1],"type":[1],"download":[1],"href":[1],"rel":[1],"target":[1]}]]]], options);
|
|
28
|
+
return bootstrapLazy([["road-badge_14",[[2,"road-counter",{"inputId":[1,"input-id"],"min":[2],"max":[2],"step":[1],"value":[2],"size":[1],"dustbin":[4],"leftIconClasses":[32],"rightIconClasses":[32],"isDustbinVisible":[32]}],[1,"road-item",{"button":[4],"detail":[4],"active":[4],"detailIcon":[1,"detail-icon"],"disabled":[4],"download":[1],"href":[1],"rel":[1],"lines":[1],"target":[1],"type":[1],"multipleInputs":[32]}],[1,"road-badge",{"color":[1],"bubble":[4]}],[1,"road-list",{"lines":[1]}],[1,"road-toolbar",{"color":[1]}],[33,"road-drawer",{"isOpen":[1028,"is-open"],"position":[1],"drawerWidth":[2,"drawer-width"],"hasInverseHeader":[4,"has-inverse-header"],"hasBackIcon":[4,"has-back-icon"],"backText":[1,"back-text"],"drawerTitle":[1,"drawer-title"],"hasCloseIcon":[4,"has-close-icon"],"open":[64],"close":[64],"back":[64]},[[4,"keyup","onEscape"]]],[1,"road-col"],[1,"road-grid"],[6,"road-input",{"inputId":[1,"input-id"],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"disabled":[4],"enterkeyhint":[1],"inputmode":[1],"max":[1],"maxlength":[2],"min":[1],"minlength":[2],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[2],"sizes":[1],"type":[1],"value":[1032],"label":[1],"error":[1],"helper":[1],"debounce":[2]}],[1,"road-label"],[1,"road-row"],[1,"road-button",{"color":[1],"size":[513],"buttonType":[1,"button-type"],"disabled":[516],"expand":[516],"download":[1],"href":[1],"rel":[1],"target":[1],"outline":[4]}],[1,"road-input-group"],[1,"road-icon",{"color":[1],"ariaLabel":[1537,"aria-label"],"ariaHidden":[513,"aria-hidden"],"name":[1],"src":[1],"icon":[8],"size":[1],"rotate":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]}]]],["road-duration",[[1,"road-duration",{"isOpen":[1028,"is-open"],"header":[1],"min":[2],"max":[2],"step":[2],"open":[64],"close":[64]},[[0,"roadcardclick","handleClick"]]]]],["road-plate-number",[[2,"road-plate-number",{"country":[1],"disabled":[4],"placeholder":[1],"readonly":[4],"value":[1032],"motorbike":[4]}]]],["road-accordion",[[1,"road-accordion",{"isOpen":[1028,"is-open"],"isLight":[4,"is-light"],"isLightSeparator":[4,"is-light-separator"],"isSmall":[4,"is-small"]}]]],["road-banner",[[1,"road-banner",{"isOpen":[1028,"is-open"],"label":[1],"link":[1],"url":[1],"close":[64]}]]],["road-carousel",[[1,"road-carousel",{"options":[8],"pager":[4],"arrows":[4],"update":[64],"updateAutoHeight":[64],"slideTo":[64],"slideNext":[64],"slidePrev":[64],"getActiveIndex":[64],"getPreviousIndex":[64],"length":[64],"isEnd":[64],"isBeginning":[64],"startAutoplay":[64],"stopAutoplay":[64],"lockSwipeToNext":[64],"lockSwipeToPrev":[64],"lockSwipes":[64],"getSwiper":[64]}]]],["road-checkbox",[[6,"road-checkbox",{"checkboxId":[1,"checkbox-id"],"name":[1],"required":[4],"checked":[1028],"indeterminate":[4],"disabled":[4],"value":[1],"label":[1],"inverse":[4],"error":[1],"helper":[1]}]]],["road-chip",[[1,"road-chip",{"color":[1],"outline":[4],"size":[1],"hasCloseIcon":[4,"has-close-icon"]}]]],["road-collapse",[[1,"road-collapse",{"isOpen":[1028,"is-open"],"showMore":[1,"show-more"],"showLess":[1,"show-less"],"centered":[4]}]]],["road-dialog",[[1,"road-dialog",{"isOpen":[1028,"is-open"],"hasCloseIcon":[4,"has-close-icon"],"color":[1],"icon":[1],"label":[1],"description":[1],"open":[64],"close":[64]},[[4,"keyup","onEscape"]]]]],["road-dropdown",[[1,"road-dropdown",{"isOpen":[1028,"is-open"],"isLight":[4,"is-light"],"position":[513],"direction":[513]}]]],["road-modal",[[1,"road-modal",{"maxWidth":[2,"max-width"],"isOpen":[1028,"is-open"],"hasInverseHeader":[4,"has-inverse-header"],"modalTitle":[1,"modal-title"],"hasCloseIcon":[4,"has-close-icon"],"open":[64],"close":[64]},[[4,"keyup","onEscape"]]]]],["road-range",[[6,"road-range",{"rangeId":[1,"range-id"],"value":[1032],"min":[1],"max":[1],"step":[1],"showValue":[4,"show-value"],"showTick":[4,"show-tick"],"showLabels":[4,"show-labels"]}]]],["road-rating",[[1,"road-rating",{"size":[513],"rate":[2],"reviews":[2],"reviewsText":[1,"reviews-text"]}]]],["road-toast",[[1,"road-toast",{"isOpen":[1028,"is-open"],"color":[1],"label":[1],"timeout":[2],"open":[64],"close":[64]}]]],["road-alert",[[1,"road-alert",{"color":[1],"label":[1],"link":[1],"url":[1]}]]],["road-autocomplete",[[6,"road-autocomplete",{"options":[16],"visible":[32]},[[0,"roadFocus","handleFocus"],[0,"roadfocus","handleFocus"],[4,"click","onClickOutside"]]]]],["road-avatar",[[1,"road-avatar"]]],["road-carousel-item",[[4,"road-carousel-item"]]],["road-flap",[[1,"road-flap",{"color":[1],"size":[513]}]]],["road-img",[[1,"road-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]}]]],["road-navbar",[[1,"road-navbar",{"selectedTab":[1,"selected-tab"]},[[0,"roadNavbarItemClick","onNavbarChanged"],[0,"roadnavbaritemclick","onNavbarChanged"]]]]],["road-navbar-item",[[1,"road-navbar-item",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"selected":[1028],"tab":[1],"target":[1]},[[8,"roadNavbarChanged","onNavbarChanged"],[8,"roadnavbarchanged","onNavbarChanged"]]]]],["road-progress",[[1,"road-progress",{"value":[2],"numbersteps":[1],"label":[1],"showstep":[4],"color":[1]}]]],["road-radio",[[2,"road-radio",{"radioId":[1,"radio-id"],"name":[1],"required":[4],"disabled":[4],"value":[8],"label":[1],"inverse":[4],"error":[4],"helper":[1],"inline":[4],"checked":[32]},[[8,"roadChange","onRoadChangedChanged"],[8,"roadchange","onRoadChangedChanged"]]]]],["road-radio-group",[[6,"road-radio-group",{"radioGroupId":[1,"radio-group-id"],"allowEmptySelection":[4,"allow-empty-selection"],"name":[1],"value":[1032],"label":[1],"asterisk":[4],"ariaLabel":[513,"aria-label"],"error":[1025],"helper":[1]}]]],["road-segmented-button",[[1,"road-segmented-button",{"selected":[1028],"tab":[1]},[[8,"roadSegmentedButtonBarChanged","onButtonBarChanged"],[8,"roadSegmentedButtonbarchanged","onButtonBarChanged"]]]]],["road-segmented-button-bar",[[1,"road-segmented-button-bar",{"selectedTab":[1,"selected-tab"]}]]],["road-segmented-buttons",[[1,"road-segmented-buttons",{"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64]}]]],["road-select",[[2,"road-select",{"selectId":[1,"select-id"],"options":[16],"autofocus":[4],"disabled":[4],"name":[1],"required":[4],"size":[2],"sizes":[1],"label":[1],"error":[1],"value":[1032]}]]],["road-select-filter",[[6,"road-select-filter",{"options":[16],"parameters":[8],"isActive":[4,"is-active"],"onlySelect":[4,"only-select"],"isOpen":[32],"currentValue":[32]},[[0,"roadFocus","handleFocus"],[0,"roadfocus","handleFocus"],[0,"roadBlur","handleBlur"],[0,"roadblur","handleBlur"],[0,"roadChange","handleChange"],[0,"roadchange","handleChange"],[4,"click","onClickOutside"]]]]],["road-skeleton",[[1,"road-skeleton"]]],["road-spinner",[[1,"road-spinner",{"size":[513],"color":[513]}]]],["road-stepper",[[1,"road-stepper",{"color":[513],"light":[4],"outline":[4],"stateFirstStep":[1,"state-first-step"],"stateSecondStep":[1,"state-second-step"],"stateThirdStep":[1,"state-third-step"]}]]],["road-switch",[[2,"road-switch",{"switchId":[1,"switch-id"],"name":[1],"checked":[1028],"disabled":[4],"label":[1],"color":[1],"hasLeftLabel":[4,"has-left-label"],"isSpaced":[4,"is-spaced"],"value":[1],"on":[1],"off":[1]}]]],["road-tab",[[1,"road-tab",{"active":[1028],"tab":[1],"setActive":[64]}]]],["road-tab-bar",[[1,"road-tab-bar",{"secondary":[4],"expand":[4],"center":[4],"selectedTab":[1,"selected-tab"]}]]],["road-tab-button",[[1,"road-tab-button",{"download":[1],"href":[1],"rel":[1],"layout":[1],"selected":[1028],"tab":[1],"target":[1]},[[8,"roadTabBarChanged","onTabBarChanged"],[8,"roadTabbarchanged","onTabBarChanged"]]]]],["road-table",[[6,"road-table"]]],["road-tabs",[[1,"road-tabs",{"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64]}]]],["road-text",[[1,"road-text",{"color":[1]}]]],["road-textarea",[[2,"road-textarea",{"textareaId":[1,"textarea-id"],"autocapitalize":[1],"autofocus":[4],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"sizes":[1],"readonly":[4],"required":[4],"spellcheck":[4],"cols":[2],"rows":[2],"wrap":[1],"value":[1025],"label":[1],"error":[1],"helper":[1]}]]],["road-toggle",[[2,"road-toggle",{"toggleId":[1,"toggle-id"],"name":[1],"checked":[1028],"disabled":[4],"label":[1],"color":[1],"hasLeftLabel":[4,"has-left-label"],"isSpaced":[4,"is-spaced"],"value":[1],"on":[1],"off":[1]}]]],["road-toolbar-title",[[1,"road-toolbar-title"]]],["road-tooltip",[[1,"road-tooltip",{"tooltipId":[1,"tooltip-id"],"content":[1],"position":[1],"contentAlign":[1,"content-align"],"isOpen":[1028,"is-open"],"trigger":[1],"open":[64],"close":[64]}]]],["road-card",[[1,"road-card",{"button":[4],"value":[1],"type":[1],"download":[1],"href":[1],"rel":[1],"target":[1]}]]]], options);
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -25,7 +25,7 @@ const Badge = class {
|
|
|
25
25
|
};
|
|
26
26
|
Badge.style = badgeCss;
|
|
27
27
|
|
|
28
|
-
const buttonCss = ":host{--border-radius:0.25rem;--font-size:1rem;--margin-bottom:1rem;--padding-start:1.5rem;--padding-end:1.5rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0;margin-bottom:var(--margin-bottom);font-family:var(--road-font, sans-serif);font-size:var(--font-size);font-weight:700;line-height:1.375;color:var(--road-grey-900);text-decoration:none;white-space:nowrap;vertical-align:middle;background:transparent;border:1px solid transparent;border-radius:var(--border-radius);transition:background 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}:host(:hover){text-decoration:none}:host(.focus-visible){outline:0}.button-native{position:relative;z-index:1;display:flex;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;padding:0 var(--padding-end) 0 var(--padding-start);margin:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;color:inherit;text-align:inherit;text-decoration:none;text-indent:inherit;text-overflow:inherit;text-transform:inherit;letter-spacing:inherit;white-space:inherit;cursor:pointer;background:transparent;border:none;outline:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}:host(.btn-default:not([disabled]).focus-visible){background:var(--road-grey-200)}:host(.btn-primary){color:var(--road-primary-contrast);background:var(--road-primary-500)}:host(.btn-primary) ::slotted(road-icon){color:var(--road-primary-contrast)}:host(.btn-primary:not([disabled]):hover),:host(.btn-primary:not([disabled]).focus-visible){background:var(--road-primary-700)}:host(.btn-secondary){color:var(--road-primary-contrast);background:var(--road-primary-500)}:host(.btn-secondary) ::slotted(road-icon){color:var(--road-primary-contrast)}:host(.btn-secondary:not([disabled]):hover),:host(.btn-secondary:not([disabled]).focus-visible){background:var(--road-primary-700)}:host(.btn-link){font-weight:400;color:var(--road-primary-500);background:transparent}:host(.btn-link:not([disabled]):hover),:host(.btn-link:not([disabled]).focus-visible){color:var(--road-primary-700)}:host(.btn-outline-primary),:host(.btn-outline-secondary),:host(.btn-outline-default){background:transparent}:host(.btn-outline-default){color:var(--road-grey-600);background:var(--road-grey-000);border-color:var(--road-grey-600)}:host(.btn-outline-default) ::slotted(road-icon){color:var(--road-grey-600)}:host(.btn-outline-default:hover),:host(.btn-outline-default.focus-visible){background:var(--road-grey-200)}:host(.btn-outline-primary){color:var(--road-primary-500);border-color:var(--road-primary-500)}:host(.btn-outline-primary) ::slotted(road-icon){color:var(--road-primary-500)}:host(.btn-outline-primary:hover),:host(.btn-outline-primary.focus-visible){background:var(--road-primary-100)}:host(.btn-outline-secondary){color:var(--road-primary-500);border-color:var(--road-primary-500)}:host(.btn-outline-secondary) ::slotted(road-icon){color:var(--road-primary-500)}:host(.btn-outline-secondary:hover),:host(.btn-outline-secondary.focus-visible){background:var(--road-primary-100)}:host([aria-disabled]){pointer-events:none;opacity:0.16}.button-native:disabled{cursor:not-allowed}::slotted([slot=\"start\"]){margin-right:0.5rem}::slotted([slot=\"end\"]){margin-left:0.5rem}:host(.btn-xl){height:3.5rem}:host(.btn-xl) ::slotted(road-icon){width:2rem;height:2rem}:host(.btn-md){--font-size:0.875rem;height:2.5rem}:host(.btn-md) ::slotted(road-icon){width:1.5rem;height:1.5rem}:host(.btn-sm){--font-size:0.875rem;height:2rem}:host(.btn-sm) ::slotted(road-icon){width:1.25rem;height:1.25rem}:host(.btn-block){width:100%}::slotted(road-badge){position:absolute;top:4px;left:calc(50% + 0.375rem);z-index:1;box-sizing:border-box;height:auto}";
|
|
28
|
+
const buttonCss = ":host{--border-radius:0.25rem;--font-size:1rem;--margin-bottom:1rem;--padding-start:1.5rem;--padding-end:1.5rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0;margin-bottom:var(--margin-bottom);font-family:var(--road-font, sans-serif);font-size:var(--font-size);font-weight:700;line-height:1.375;color:var(--road-grey-900);text-decoration:none;white-space:nowrap;vertical-align:middle;background:transparent;border:1px solid transparent;border-radius:var(--border-radius);transition:background 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}:host(:hover){text-decoration:none}:host(.focus-visible){outline:0}.button-native{position:relative;z-index:1;display:flex;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;padding:0 var(--padding-end) 0 var(--padding-start);margin:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;color:inherit;text-align:inherit;text-decoration:none;text-indent:inherit;text-overflow:inherit;text-transform:inherit;letter-spacing:inherit;white-space:inherit;cursor:pointer;background:transparent;border:none;outline:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}:host(.btn-default:not([disabled]).focus-visible){background:var(--road-grey-200)}:host(.btn-primary){color:var(--road-primary-contrast);background:var(--road-primary-500)}:host(.btn-primary) ::slotted(road-icon){color:var(--road-primary-contrast)}:host(.btn-primary:not([disabled]):hover),:host(.btn-primary:not([disabled]).focus-visible){background:var(--road-primary-700)}:host(.btn-secondary){color:var(--road-primary-contrast);background:var(--road-primary-500)}:host(.btn-secondary) ::slotted(road-icon){color:var(--road-primary-contrast)}:host(.btn-secondary:not([disabled]):hover),:host(.btn-secondary:not([disabled]).focus-visible){background:var(--road-primary-700)}:host(.btn-link){font-weight:400;color:var(--road-primary-500);background:transparent}:host(.btn-link:not([disabled]):hover),:host(.btn-link:not([disabled]).focus-visible){color:var(--road-primary-700)}:host(.btn-outline-primary),:host(.btn-outline-secondary),:host(.btn-outline-default){background:transparent}:host(.btn-outline-default){color:var(--road-grey-600);background:var(--road-grey-000);border-color:var(--road-grey-600)}:host(.btn-outline-default) ::slotted(road-icon){color:var(--road-grey-600)}:host(.btn-outline-default:hover),:host(.btn-outline-default.focus-visible){background:var(--road-grey-200)}:host(.btn-ghost) ::slotted(road-icon){color:var(--road-grey-900)}:host(.btn-ghost:hover),:host(.btn-ghost.focus-visible){background:var(--road-primary-100)}:host(.btn-outline-primary){color:var(--road-primary-500);border-color:var(--road-primary-500)}:host(.btn-outline-primary) ::slotted(road-icon){color:var(--road-primary-500)}:host(.btn-outline-primary:hover),:host(.btn-outline-primary.focus-visible){background:var(--road-primary-100)}:host(.btn-outline-secondary){color:var(--road-primary-500);border-color:var(--road-primary-500)}:host(.btn-outline-secondary) ::slotted(road-icon){color:var(--road-primary-500)}:host(.btn-outline-secondary:hover),:host(.btn-outline-secondary.focus-visible){background:var(--road-primary-100)}:host([aria-disabled]){pointer-events:none;opacity:0.16}.button-native:disabled{cursor:not-allowed}::slotted([slot=\"start\"]){margin-right:0.5rem}::slotted([slot=\"end\"]){margin-left:0.5rem}:host(.btn-xl){height:3.5rem}:host(.btn-xl) ::slotted(road-icon){width:2rem;height:2rem}:host(.btn-md){--font-size:0.875rem;height:2.5rem}:host(.btn-md) ::slotted(road-icon){width:1.5rem;height:1.5rem}:host(.btn-sm){--font-size:0.875rem;height:2rem}:host(.btn-sm) ::slotted(road-icon){width:1.25rem;height:1.25rem}:host(.btn-block){width:100%}::slotted(road-badge){position:absolute;top:4px;left:calc(50% + 0.375rem);z-index:1;box-sizing:border-box;height:auto}";
|
|
29
29
|
|
|
30
30
|
const Button = class {
|
|
31
31
|
constructor(hostRef) {
|
|
@@ -55,7 +55,7 @@ const Button = class {
|
|
|
55
55
|
*/
|
|
56
56
|
this.expand = false;
|
|
57
57
|
/**
|
|
58
|
-
* Set to `
|
|
58
|
+
* Set to `false` for a ghost button, set to `true` for a default outline button
|
|
59
59
|
*/
|
|
60
60
|
this.outline = false;
|
|
61
61
|
this.onClick = (ev) => {
|
|
@@ -223,7 +223,8 @@ const Counter = class {
|
|
|
223
223
|
this.onValueChange(this.value);
|
|
224
224
|
}
|
|
225
225
|
render() {
|
|
226
|
-
|
|
226
|
+
const dataCi = this.isDustbinVisible ? "road-dustbin" : "";
|
|
227
|
+
return (h("road-input-group", { class: this.size && `counter-${this.size}` }, h("road-button", { slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, h("road-icon", { name: this.isDustbinVisible ? "delete-forever" : "navigation-add-less", ref: (el) => this.iconCounterLess = el, size: this.size, "data-cy": dataCi })), h("road-input", { ref: (el) => this.inputElement = el, type: "number", min: this.min.toString(), max: (this.max && this.max.toString()), step: this.step, value: this.value, onRoadChange: this.onRoadChange, onKeyUp: this.checkValue, "data-cy": "road-input-counter" }), h("road-button", { slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, h("road-icon", { name: "navigation-add-more", size: this.size }))));
|
|
227
228
|
}
|
|
228
229
|
get el() { return getElement(this); }
|
|
229
230
|
static get watchers() { return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-a99a5e7b.js';
|
|
2
2
|
|
|
3
|
-
const flapCss = ":host{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:1.5rem;padding:0 0.75rem;font-size:0.875rem;font-weight:700;background:var(--road-grey-000);border:1px solid transparent;border-radius:1.5rem}:host(.flap-promo){color:var(--road-danger-default);border-color:var(--road-danger-default)}:host(.flap-exclu){color:var(--road-warning-default);border-color:var(--road-warning-default)}:host(.flap-info){color:var(--road-info-default);border-color:var(--road-info-default)}:host(.flap-ecology){color:var(--road-success-default);border-color:var(--road-success-default)}:host(.flap-md){height:2rem;padding:0 1rem;font-size:1rem}";
|
|
3
|
+
const flapCss = ":host{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:1.5rem;padding:0 0.75rem;font-size:0.875rem;font-weight:700;background:var(--road-grey-000);border:1px solid transparent;border-radius:1.5rem}:host(.flap-promo){color:var(--road-danger-default);border-color:var(--road-danger-default)}:host(.flap-exclu){color:var(--road-warning-default);border-color:var(--road-warning-default)}:host(.flap-info){color:var(--road-info-default);border-color:var(--road-info-default)}:host(.flap-ecology){color:var(--road-success-default);border-color:var(--road-success-default)}:host(.flap-blackfriday){color:var(--road-grey-999);border-color:var(--road-grey-999)}:host(.flap-md){height:2rem;padding:0 1rem;font-size:1rem}";
|
|
4
4
|
|
|
5
5
|
const Flap = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-a99a5e7b.js';
|
|
2
2
|
|
|
3
|
-
const progressCss = "
|
|
3
|
+
const progressCss = ".progress{--border-radius:0.25rem;display:flex;height:0.25rem;overflow:hidden;font-size:0.75rem;background-color:var(--road-grey-200);border-radius:var(--border-radius)}.progress-element-info{display:flex;justify-content:space-between;margin-top:0.5rem}.progress-element-label{font-size:0.875rem;text-align:left}.progress-element-step{font-size:0.875rem;text-align:right}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;text-align:center;white-space:nowrap;transition:width 0.6s ease}.progress.progress-primary .progress-bar{background:var(--road-primary-500)}.progress.progress-secondary .progress-bar{background:var(--road-secondary-600)}.progress.progress-info .progress-bar{background:var(--road-info-default)}.progress.progress-success .progress-bar{background:var(--road-success-default)}progress.progress-warning .progress-bar{background:var(--road-warning-default)}.progress.progress-danger .progress-bar{background:var(--road-danger-default)}";
|
|
4
4
|
|
|
5
5
|
const ProgressBar = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -10,17 +10,27 @@ const ProgressBar = class {
|
|
|
10
10
|
* The value should be between [0, 100].
|
|
11
11
|
*/
|
|
12
12
|
this.value = 0;
|
|
13
|
+
/**
|
|
14
|
+
* The number of steps should be 4 or 5.
|
|
15
|
+
*/
|
|
16
|
+
this.numbersteps = '4';
|
|
13
17
|
/**
|
|
14
18
|
* Label display in progress bar
|
|
15
19
|
*/
|
|
16
20
|
this.label = '';
|
|
21
|
+
/**
|
|
22
|
+
* Show step
|
|
23
|
+
*/
|
|
24
|
+
this.showstep = false;
|
|
17
25
|
/**
|
|
18
26
|
* The color to use from your application's color palette.
|
|
19
27
|
*/
|
|
20
28
|
this.color = 'primary';
|
|
21
29
|
}
|
|
22
30
|
render() {
|
|
23
|
-
|
|
31
|
+
const valueRound = Math.round(this.value / 5 / 5);
|
|
32
|
+
console.log(this.value / 5 / 5);
|
|
33
|
+
return (h(Host, { class: "progress-element" }, h("div", { class: `progress progress-${this.color}` }, h("div", { class: "progress-bar", role: "progressbar", style: { width: `${this.value}%` }, "aria-valuenow": this.value, "aria-valuemin": "0", "aria-valuemax": "100" })), h("div", { class: "progress-element-info" }, h("span", { class: "progress-element-label" }, this.label), this.showstep && h("span", { class: "progress-element-step" }, valueRound, "/", this.numbersteps))));
|
|
24
34
|
}
|
|
25
35
|
};
|
|
26
36
|
ProgressBar.style = progressCss;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, e as getElement } from './index-a99a5e7b.js';
|
|
2
|
+
import './polyfill-2b159e86.js';
|
|
3
|
+
|
|
4
|
+
const segmentedButtonBarCss = ":host{display:flex;max-width:500px}";
|
|
5
|
+
|
|
6
|
+
const ButtonBar = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.roadsegmentedbuttonbarchanged = createEvent(this, "roadsegmentedbuttonbarchanged", 7);
|
|
10
|
+
this.roadSegmentedButtonBarChanged = createEvent(this, "roadSegmentedButtonBarChanged", 7);
|
|
11
|
+
}
|
|
12
|
+
selectedTabChanged() {
|
|
13
|
+
if (this.selectedTab !== undefined) {
|
|
14
|
+
this.roadsegmentedbuttonbarchanged.emit({
|
|
15
|
+
tab: this.selectedTab,
|
|
16
|
+
});
|
|
17
|
+
this.roadSegmentedButtonBarChanged.emit({
|
|
18
|
+
tab: this.selectedTab,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
componentWillLoad() {
|
|
23
|
+
this.selectedTabChanged();
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
return (h(Host, { role: "tablist" }, h("slot", null)));
|
|
27
|
+
}
|
|
28
|
+
get el() { return getElement(this); }
|
|
29
|
+
static get watchers() { return {
|
|
30
|
+
"selectedTab": ["selectedTabChanged"]
|
|
31
|
+
}; }
|
|
32
|
+
};
|
|
33
|
+
ButtonBar.style = segmentedButtonBarCss;
|
|
34
|
+
|
|
35
|
+
export { ButtonBar as road_segmented_button_bar };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, e as getElement } from './index-a99a5e7b.js';
|
|
2
|
+
|
|
3
|
+
const segmentedButtonCss = ":host{--border-radius:0.25rem;--font-size:1rem;--margin-bottom:1rem;--padding-start:1.5rem;--padding-end:1.5rem;box-sizing:border-box;flex:1;align-items:center;justify-content:center;max-height:2.5rem;font-size:1rem;font-weight:700;color:var(--road-primary-500);text-decoration:none;white-space:nowrap;vertical-align:middle;background-color:var(--road-grey-000);border-top:1px solid var(--road-primary-500);border-bottom:1px solid var(--road-primary-500);border-left:1px solid var(--road-primary-500);border-radius:0;transition:background 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}:host(:first-child){border:1px solid var(--road-primary-500);border-right:0;border-radius:999em 0 0 999em}:host(:last-child){border:1px solid var(--road-primary-500);border-radius:0 999em 999em 0}:host(.tab-selected){color:var(--road-primary-contrast);background-color:var(--road-primary-500)}:host(.tab-selected:hover){background-color:var(--road-primary-700)}:host(:hover){background:var(--road-primary-100)}:host(.focus-visible){background:var(--road-primary-100);outline:0}:host(.tab-selected.focus-visible){background-color:var(--road-primary-700)}.button-native{position:relative;box-sizing:border-box;display:flex;flex-direction:inherit;align-items:inherit;justify-content:inherit;width:100%;height:100%;max-height:2.5rem;padding:0.75rem var(--padding-end, 1.5rem) 0.75rem var(--padding-start, 1.5rem);margin:0;overflow:hidden;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;color:inherit;text-align:inherit;text-decoration:none;text-indent:inherit;text-overflow:inherit;text-transform:inherit;letter-spacing:inherit;white-space:inherit;cursor:pointer;background:transparent;-webkit-user-drag:none;border-color:initial;border-style:initial;border-width:0;border-radius:inherit;border-image:initial;outline:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}";
|
|
4
|
+
|
|
5
|
+
const SegmentedButton = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.roadsegmentedbuttonclick = createEvent(this, "roadsegmentedbuttonclick", 7);
|
|
9
|
+
this.roadSegmentedButtonClick = createEvent(this, "roadSegmentedButtonClick", 7);
|
|
10
|
+
/**
|
|
11
|
+
* The selected tab component
|
|
12
|
+
*/
|
|
13
|
+
this.selected = false;
|
|
14
|
+
this.onKeyUp = (ev) => {
|
|
15
|
+
if (ev.key === 'Enter' || ev.key === ' ') {
|
|
16
|
+
this.selectTab(ev);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
this.onClick = (ev) => {
|
|
20
|
+
this.selectTab(ev);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
onButtonBarChanged(ev) {
|
|
24
|
+
const dispatchedFrom = ev.target;
|
|
25
|
+
const parent = this.el.parentElement;
|
|
26
|
+
if ((ev.composedPath && ev.composedPath().includes(parent)) || (dispatchedFrom && dispatchedFrom.contains(this.el))) {
|
|
27
|
+
this.selected = this.tab === ev.detail.tab;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
selectTab(ev) {
|
|
31
|
+
if (this.tab !== undefined) {
|
|
32
|
+
this.roadsegmentedbuttonclick.emit({
|
|
33
|
+
tab: this.tab,
|
|
34
|
+
selected: this.selected,
|
|
35
|
+
});
|
|
36
|
+
this.roadSegmentedButtonClick.emit({
|
|
37
|
+
tab: this.tab,
|
|
38
|
+
selected: this.selected,
|
|
39
|
+
});
|
|
40
|
+
ev.preventDefault();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get tabIndex() {
|
|
44
|
+
const hasTabIndex = this.el.hasAttribute('tabindex');
|
|
45
|
+
if (hasTabIndex) {
|
|
46
|
+
return this.el.getAttribute('tabindex');
|
|
47
|
+
}
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
const { tabIndex, selected, tab } = this;
|
|
52
|
+
return (h(Host, { onClick: this.onClick, onKeyup: this.onKeyUp, role: "tab", tabindex: tabIndex, "aria-selected": selected ? 'true' : null, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
53
|
+
'tab-selected': selected,
|
|
54
|
+
} }, h("button", { type: "button", tabIndex: -1, class: "button-native", part: "native" }, h("slot", null))));
|
|
55
|
+
}
|
|
56
|
+
get el() { return getElement(this); }
|
|
57
|
+
};
|
|
58
|
+
SegmentedButton.style = segmentedButtonCss;
|
|
59
|
+
|
|
60
|
+
export { SegmentedButton as road_segmented_button };
|