@roadtrip/components 2.45.1 → 2.46.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.
Files changed (144) hide show
  1. package/dist/cjs/index-a2306350.js +12 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/road-flap.cjs.entry.js +1 -1
  4. package/dist/cjs/road-segmented-button-bar.cjs.entry.js +39 -0
  5. package/dist/cjs/road-segmented-button.cjs.entry.js +64 -0
  6. package/dist/cjs/road-segmented-buttons.cjs.entry.js +112 -0
  7. package/dist/cjs/roadtrip.cjs.js +1 -1
  8. package/dist/collection/collection-manifest.json +3 -0
  9. package/dist/collection/components/flap/flap.css +5 -0
  10. package/dist/collection/components/flap/flap.js +2 -2
  11. package/dist/collection/components/flap/flap.stories.js +7 -1
  12. package/dist/collection/components/icon/svg/alert-success-solid.svg +1 -0
  13. package/dist/collection/components/icon/svg/data-tech-solid.svg +1 -0
  14. package/dist/collection/components/icon/svg/flag-england-color.svg +1 -1
  15. package/dist/collection/components/icon/svg/funding-control-color.svg +1 -0
  16. package/dist/collection/components/icon/svg/funding-control-outline.svg +1 -0
  17. package/dist/collection/components/icon/svg/funding-plan-color.svg +1 -0
  18. package/dist/collection/components/icon/svg/funding-plan-outline.svg +1 -0
  19. package/dist/collection/components/icon/svg/gesture-finger-snap-color.svg +1 -0
  20. package/dist/collection/components/icon/svg/gesture-finger-snap-outline.svg +1 -0
  21. package/dist/collection/components/icon/svg/mic-off-solid.svg +1 -0
  22. package/dist/collection/components/icon/svg/piggy-bank-saving-color.svg +1 -0
  23. package/dist/collection/components/icon/svg/piggy-bank-saving-outline.svg +1 -0
  24. package/dist/collection/components/icon/svg/social-twitter-color.svg +1 -0
  25. package/dist/collection/components/icon/svg/social-youtube-color.svg +1 -0
  26. package/dist/collection/components/icon/svg/{station-electric-outline-color.svg → station-electric-color.svg} +0 -0
  27. package/dist/collection/components/icon/svg/station-electric-outline.svg +1 -1
  28. package/dist/collection/components/icon/svg/{station-electric-outline-solid.svg → station-electric-solid.svg} +0 -0
  29. package/dist/collection/components/icon/svg/vehicle-3-doors-color.svg +1 -1
  30. package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-color.svg +1 -1
  31. package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-outline.svg +1 -0
  32. package/dist/collection/components/icon/svg/vehicle-3-doors-hatchback-solid-color.svg +1 -0
  33. package/dist/collection/components/icon/svg/vehicle-3-doors-outline.svg +1 -0
  34. package/dist/collection/components/icon/svg/vehicle-3-doors-solid.svg +1 -0
  35. package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-color.svg +1 -1
  36. package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-outline.svg +1 -0
  37. package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-solid-color.svg +1 -0
  38. package/dist/collection/components/icon/svg/vehicle-5-doors-outline.svg +1 -0
  39. package/dist/collection/components/icon/svg/vehicle-5-doors-solid.svg +1 -0
  40. package/dist/collection/components/icon/svg/vehicle-car-bodywork-solid.svg +1 -0
  41. package/dist/collection/components/icon/svg/{vehicle-car-electric- outline.svg → vehicle-car-electric-outline.svg} +0 -0
  42. package/dist/collection/components/icon/svg/{vehicle-car-unknow- solid.svg → vehicle-car-unknow-solid.svg} +0 -0
  43. package/dist/collection/components/icon/svg/vehicle-tires-all-color.svg +1 -1
  44. package/dist/collection/components/icon/svg/vehicle-tires-back-color.svg +1 -1
  45. package/dist/collection/components/icon/svg/vehicle-tires-back-left-color.svg +1 -1
  46. package/dist/collection/components/icon/svg/vehicle-tires-back-left-solid-color.svg +1 -0
  47. package/dist/collection/components/icon/svg/vehicle-tires-back-right-color.svg +1 -1
  48. package/dist/collection/components/icon/svg/vehicle-tires-back-right-solid-color.svg +1 -0
  49. package/dist/collection/components/icon/svg/vehicle-tires-back-solid-color.svg +1 -0
  50. package/dist/collection/components/icon/svg/vehicle-tires-front-color.svg +1 -1
  51. package/dist/collection/components/icon/svg/vehicle-tires-front-left-color.svg +1 -1
  52. package/dist/collection/components/icon/svg/vehicle-tires-front-left-solid-color.svg +1 -0
  53. package/dist/collection/components/icon/svg/vehicle-tires-front-right-color.svg +1 -1
  54. package/dist/collection/components/icon/svg/vehicle-tires-front-right-solid-color.svg +1 -0
  55. package/dist/collection/components/icon/svg/vehicle-tires-front-solid-color.svg +1 -0
  56. package/dist/collection/components/icon/svg/vehicle-tires-outline.svg +1 -1
  57. package/dist/collection/components/icon/svg/vehicle-tires-solid-color.svg +1 -1
  58. package/dist/collection/components/icon/svg/vehicle-tires-solid.svg +1 -1
  59. package/dist/collection/components/icon/svg/work-order-diagnostic-solid.svg +1 -0
  60. package/dist/collection/components/icon/svg/work-order-wait-check-solid.svg +1 -0
  61. package/dist/collection/components/segmented-button/segmented-button.css +123 -0
  62. package/dist/collection/components/segmented-button/segmented-button.js +160 -0
  63. package/dist/collection/components/segmented-button-bar/segmented-button-bar.css +9 -0
  64. package/dist/collection/components/segmented-button-bar/segmented-button-bar.js +102 -0
  65. package/dist/collection/components/segmented-buttons/segmented-buttons.css +9 -0
  66. package/dist/collection/components/segmented-buttons/segmented-buttons.js +263 -0
  67. package/dist/collection/components/segmented-buttons/segmented-buttons.stories.js +103 -0
  68. package/dist/esm/index-a99a5e7b.js +12 -0
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/esm/road-flap.entry.js +1 -1
  71. package/dist/esm/road-segmented-button-bar.entry.js +35 -0
  72. package/dist/esm/road-segmented-button.entry.js +60 -0
  73. package/dist/esm/road-segmented-buttons.entry.js +108 -0
  74. package/dist/esm/roadtrip.js +1 -1
  75. package/dist/html.html-data.json +59 -0
  76. package/dist/icons/icons.svg +1 -1
  77. package/dist/icons/index.d.ts +33 -5
  78. package/dist/icons/index.js +63 -35
  79. package/dist/roadtrip/p-10024b8f.entry.js +1 -0
  80. package/dist/roadtrip/p-12fcedd3.entry.js +1 -0
  81. package/dist/roadtrip/{p-2c87e848.entry.js → p-2c4fdb41.entry.js} +1 -1
  82. package/dist/roadtrip/p-9ef4cedb.entry.js +1 -0
  83. package/dist/roadtrip/roadtrip.css +1 -1
  84. package/dist/roadtrip/roadtrip.esm.js +1 -1
  85. package/dist/roadtrip/svg/alert-success-solid.svg +1 -0
  86. package/dist/roadtrip/svg/data-tech-solid.svg +1 -0
  87. package/dist/roadtrip/svg/flag-england-color.svg +1 -1
  88. package/dist/roadtrip/svg/funding-control-color.svg +1 -0
  89. package/dist/roadtrip/svg/funding-control-outline.svg +1 -0
  90. package/dist/roadtrip/svg/funding-plan-color.svg +1 -0
  91. package/dist/roadtrip/svg/funding-plan-outline.svg +1 -0
  92. package/dist/roadtrip/svg/gesture-finger-snap-color.svg +1 -0
  93. package/dist/roadtrip/svg/gesture-finger-snap-outline.svg +1 -0
  94. package/dist/roadtrip/svg/mic-off-solid.svg +1 -0
  95. package/dist/roadtrip/svg/piggy-bank-saving-color.svg +1 -0
  96. package/dist/roadtrip/svg/piggy-bank-saving-outline.svg +1 -0
  97. package/dist/roadtrip/svg/social-twitter-color.svg +1 -0
  98. package/dist/roadtrip/svg/social-youtube-color.svg +1 -0
  99. package/dist/roadtrip/svg/{station-electric-outline-color.svg → station-electric-color.svg} +0 -0
  100. package/dist/roadtrip/svg/station-electric-outline.svg +1 -1
  101. package/dist/roadtrip/svg/{station-electric-outline-solid.svg → station-electric-solid.svg} +0 -0
  102. package/dist/roadtrip/svg/vehicle-3-doors-color.svg +1 -1
  103. package/dist/roadtrip/svg/vehicle-3-doors-hatchback-color.svg +1 -1
  104. package/dist/roadtrip/svg/vehicle-3-doors-hatchback-outline.svg +1 -0
  105. package/dist/roadtrip/svg/vehicle-3-doors-hatchback-solid-color.svg +1 -0
  106. package/dist/roadtrip/svg/vehicle-3-doors-outline.svg +1 -0
  107. package/dist/roadtrip/svg/vehicle-3-doors-solid.svg +1 -0
  108. package/dist/roadtrip/svg/vehicle-5-doors-hatchback-color.svg +1 -1
  109. package/dist/roadtrip/svg/vehicle-5-doors-hatchback-outline.svg +1 -0
  110. package/dist/roadtrip/svg/vehicle-5-doors-hatchback-solid-color.svg +1 -0
  111. package/dist/roadtrip/svg/vehicle-5-doors-outline.svg +1 -0
  112. package/dist/roadtrip/svg/vehicle-5-doors-solid.svg +1 -0
  113. package/dist/roadtrip/svg/vehicle-car-bodywork-solid.svg +1 -0
  114. package/dist/roadtrip/svg/{vehicle-car-electric- outline.svg → vehicle-car-electric-outline.svg} +0 -0
  115. package/dist/roadtrip/svg/{vehicle-car-unknow- solid.svg → vehicle-car-unknow-solid.svg} +0 -0
  116. package/dist/roadtrip/svg/vehicle-tires-all-color.svg +1 -1
  117. package/dist/roadtrip/svg/vehicle-tires-back-color.svg +1 -1
  118. package/dist/roadtrip/svg/vehicle-tires-back-left-color.svg +1 -1
  119. package/dist/roadtrip/svg/vehicle-tires-back-left-solid-color.svg +1 -0
  120. package/dist/roadtrip/svg/vehicle-tires-back-right-color.svg +1 -1
  121. package/dist/roadtrip/svg/vehicle-tires-back-right-solid-color.svg +1 -0
  122. package/dist/roadtrip/svg/vehicle-tires-back-solid-color.svg +1 -0
  123. package/dist/roadtrip/svg/vehicle-tires-front-color.svg +1 -1
  124. package/dist/roadtrip/svg/vehicle-tires-front-left-color.svg +1 -1
  125. package/dist/roadtrip/svg/vehicle-tires-front-left-solid-color.svg +1 -0
  126. package/dist/roadtrip/svg/vehicle-tires-front-right-color.svg +1 -1
  127. package/dist/roadtrip/svg/vehicle-tires-front-right-solid-color.svg +1 -0
  128. package/dist/roadtrip/svg/vehicle-tires-front-solid-color.svg +1 -0
  129. package/dist/roadtrip/svg/vehicle-tires-outline.svg +1 -1
  130. package/dist/roadtrip/svg/vehicle-tires-solid-color.svg +1 -1
  131. package/dist/roadtrip/svg/vehicle-tires-solid.svg +1 -1
  132. package/dist/roadtrip/svg/work-order-diagnostic-solid.svg +1 -0
  133. package/dist/roadtrip/svg/work-order-wait-check-solid.svg +1 -0
  134. package/dist/types/components/flap/flap.d.ts +1 -1
  135. package/dist/types/components/segmented-button/segmented-button.d.ts +29 -0
  136. package/dist/types/components/segmented-button-bar/segmented-button-bar.d.ts +19 -0
  137. package/dist/types/components/segmented-buttons/segmented-buttons.d.ts +55 -0
  138. package/dist/types/components.d.ts +99 -2
  139. package/icons/icons.svg +1 -1
  140. package/icons/index.d.ts +33 -5
  141. package/icons/index.js +63 -35
  142. package/package.json +1 -1
  143. package/dist/collection/components/icon/svg/station-electric-outline-outline.svg +0 -1
  144. package/dist/roadtrip/svg/station-electric-outline-outline.svg +0 -1
@@ -0,0 +1,102 @@
1
+ import { Host, h } from '@stencil/core';
2
+ import '../../utils/polyfill';
3
+ /**
4
+ * @slot - Content of the segmentedButtonBar, it should be road-segmented-button elements.
5
+ */
6
+ export class ButtonBar {
7
+ selectedTabChanged() {
8
+ if (this.selectedTab !== undefined) {
9
+ this.roadsegmentedbuttonbarchanged.emit({
10
+ tab: this.selectedTab,
11
+ });
12
+ this.roadSegmentedButtonBarChanged.emit({
13
+ tab: this.selectedTab,
14
+ });
15
+ }
16
+ }
17
+ componentWillLoad() {
18
+ this.selectedTabChanged();
19
+ }
20
+ render() {
21
+ return (h(Host, { role: "tablist" }, h("slot", null)));
22
+ }
23
+ static get is() { return "road-segmented-button-bar"; }
24
+ static get encapsulation() { return "shadow"; }
25
+ static get originalStyleUrls() {
26
+ return {
27
+ "$": ["segmented-button-bar.css"]
28
+ };
29
+ }
30
+ static get styleUrls() {
31
+ return {
32
+ "$": ["segmented-button-bar.css"]
33
+ };
34
+ }
35
+ static get properties() {
36
+ return {
37
+ "selectedTab": {
38
+ "type": "string",
39
+ "mutable": false,
40
+ "complexType": {
41
+ "original": "string",
42
+ "resolved": "string | undefined",
43
+ "references": {}
44
+ },
45
+ "required": false,
46
+ "optional": true,
47
+ "docs": {
48
+ "tags": [],
49
+ "text": "The selected tab component"
50
+ },
51
+ "attribute": "selected-tab",
52
+ "reflect": false
53
+ }
54
+ };
55
+ }
56
+ static get events() {
57
+ return [{
58
+ "method": "roadsegmentedbuttonbarchanged",
59
+ "name": "roadsegmentedbuttonbarchanged",
60
+ "bubbles": true,
61
+ "cancelable": true,
62
+ "composed": true,
63
+ "docs": {
64
+ "tags": [{
65
+ "name": "internal",
66
+ "text": undefined
67
+ }],
68
+ "text": ""
69
+ },
70
+ "complexType": {
71
+ "original": "any",
72
+ "resolved": "any",
73
+ "references": {}
74
+ }
75
+ }, {
76
+ "method": "roadSegmentedButtonBarChanged",
77
+ "name": "roadSegmentedButtonBarChanged",
78
+ "bubbles": true,
79
+ "cancelable": true,
80
+ "composed": true,
81
+ "docs": {
82
+ "tags": [{
83
+ "name": "internal",
84
+ "text": undefined
85
+ }],
86
+ "text": ""
87
+ },
88
+ "complexType": {
89
+ "original": "any",
90
+ "resolved": "any",
91
+ "references": {}
92
+ }
93
+ }];
94
+ }
95
+ static get elementRef() { return "el"; }
96
+ static get watchers() {
97
+ return [{
98
+ "propName": "selectedTab",
99
+ "methodName": "selectedTabChanged"
100
+ }];
101
+ }
102
+ }
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Segmented buttons
3
+ *
4
+ */
5
+
6
+ :host {
7
+ position: relative;
8
+ display: block;
9
+ }
@@ -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" */
@@ -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],"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-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
 
@@ -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) {
@@ -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 };