@sbb-esta/lyne-elements 3.5.0 → 3.7.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 (211) hide show
  1. package/a11y.css +1 -1
  2. package/alert/alert-group/alert-group.component.js +12 -12
  3. package/autocomplete/autocomplete-base-element.d.ts +14 -0
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete/autocomplete-base-element.js +110 -77
  6. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  7. package/autocomplete/autocomplete.component.js +9 -9
  8. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +5 -5
  10. package/button/common.js +1 -1
  11. package/button.js +1 -1
  12. package/carousel/carousel/carousel.component.d.ts +32 -0
  13. package/carousel/carousel/carousel.component.d.ts.map +1 -0
  14. package/carousel/carousel/carousel.component.js +78 -0
  15. package/carousel/carousel-item/carousel-item.component.d.ts +29 -0
  16. package/carousel/carousel-item/carousel-item.component.d.ts.map +1 -0
  17. package/carousel/carousel-item/carousel-item.component.js +26 -0
  18. package/carousel/carousel-item.d.ts +5 -0
  19. package/carousel/carousel-item.d.ts.map +1 -0
  20. package/carousel/carousel-item.js +4 -0
  21. package/carousel/carousel-list/carousel-list.component.d.ts +30 -0
  22. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -0
  23. package/carousel/carousel-list/carousel-list.component.js +78 -0
  24. package/carousel/carousel-list.d.ts +5 -0
  25. package/carousel/carousel-list.d.ts.map +1 -0
  26. package/carousel/carousel-list.js +4 -0
  27. package/carousel/carousel.d.ts +5 -0
  28. package/carousel/carousel.d.ts.map +1 -0
  29. package/carousel/carousel.js +4 -0
  30. package/carousel.d.ts +7 -0
  31. package/carousel.d.ts.map +1 -0
  32. package/carousel.js +8 -0
  33. package/core/i18n/i18n.d.ts +6 -0
  34. package/core/i18n/i18n.d.ts.map +1 -1
  35. package/core/i18n/i18n.js +196 -160
  36. package/core/i18n.js +94 -88
  37. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  38. package/core/mixins/element-internals-mixin.js +66 -62
  39. package/core/styles/core.scss +4 -4
  40. package/core/styles/mixins/a11y.scss +1 -1
  41. package/core/styles/mixins/scrollbar.scss +5 -3
  42. package/core/styles/mixins/timetable-form.scss +63 -0
  43. package/core/styles/standard-theme.scss +1 -0
  44. package/core/styles/timetable-form.scss +27 -0
  45. package/core.css +68 -54
  46. package/custom-elements.json +3143 -236
  47. package/datepicker/datepicker/datepicker.component.js +1 -1
  48. package/development/alert/alert-group/alert-group.component.js +1 -1
  49. package/development/autocomplete/autocomplete-base-element.d.ts +14 -0
  50. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  51. package/development/autocomplete/autocomplete-base-element.js +64 -9
  52. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  53. package/development/autocomplete/autocomplete.component.js +4 -1
  54. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  55. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -1
  56. package/development/button/common.js +1 -1
  57. package/development/button.js +1 -1
  58. package/development/carousel/carousel/carousel.component.d.ts +32 -0
  59. package/development/carousel/carousel/carousel.component.d.ts.map +1 -0
  60. package/development/carousel/carousel/carousel.component.js +153 -0
  61. package/development/carousel/carousel-item/carousel-item.component.d.ts +29 -0
  62. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -0
  63. package/development/carousel/carousel-item/carousel-item.component.js +46 -0
  64. package/development/carousel/carousel-item.d.ts +5 -0
  65. package/development/carousel/carousel-item.d.ts.map +1 -0
  66. package/development/carousel/carousel-item.js +5 -0
  67. package/development/carousel/carousel-list/carousel-list.component.d.ts +30 -0
  68. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -0
  69. package/development/carousel/carousel-list/carousel-list.component.js +143 -0
  70. package/development/carousel/carousel-list.d.ts +5 -0
  71. package/development/carousel/carousel-list.d.ts.map +1 -0
  72. package/development/carousel/carousel-list.js +5 -0
  73. package/development/carousel/carousel.d.ts +5 -0
  74. package/development/carousel/carousel.d.ts.map +1 -0
  75. package/development/carousel/carousel.js +5 -0
  76. package/development/carousel.d.ts +7 -0
  77. package/development/carousel.d.ts.map +1 -0
  78. package/development/carousel.js +9 -0
  79. package/development/core/i18n/i18n.d.ts +6 -0
  80. package/development/core/i18n/i18n.d.ts.map +1 -1
  81. package/development/core/i18n/i18n.js +43 -1
  82. package/development/core/i18n.js +7 -1
  83. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  84. package/development/core/mixins/element-internals-mixin.js +7 -2
  85. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  86. package/development/dialog/dialog/dialog.component.js +2 -2
  87. package/development/file-selector/common.js +1 -1
  88. package/development/{file-selector-common-BxXdRZxt.js → file-selector-common-CRnQigIZ.js} +4 -4
  89. package/development/file-selector.js +1 -1
  90. package/development/footer/footer.component.js +1 -1
  91. package/development/form-field/form-field/form-field.component.d.ts +3 -0
  92. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  93. package/development/form-field/form-field/form-field.component.js +31 -43
  94. package/development/header/common/header-action-common.js +8 -8
  95. package/development/header/header-environment/header-environment.component.js +6 -6
  96. package/development/link-list/link-list/link-list.component.js +8 -8
  97. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  98. package/development/notification/notification.component.js +2 -2
  99. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  100. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  101. package/development/paginator/paginator/paginator.component.js +1 -1
  102. package/development/radio-button/common.js +1 -1
  103. package/development/{radio-button-common-hZiiLJDY.js → radio-button-common-454JtP9b.js} +7 -3
  104. package/development/radio-button.js +1 -1
  105. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  106. package/development/selection-action-panel/selection-action-panel.component.js +3 -3
  107. package/development/selection-expansion-panel/selection-expansion-panel.component.js +3 -3
  108. package/development/skiplink-list/skiplink-list.component.js +1 -1
  109. package/development/timetable-form/timetable-form/timetable-form.component.d.ts +17 -0
  110. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -0
  111. package/development/timetable-form/timetable-form/timetable-form.component.js +40 -0
  112. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts +16 -0
  113. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -0
  114. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +57 -0
  115. package/development/timetable-form/timetable-form-details.d.ts +5 -0
  116. package/development/timetable-form/timetable-form-details.d.ts.map +1 -0
  117. package/development/timetable-form/timetable-form-details.js +5 -0
  118. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +18 -0
  119. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -0
  120. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +130 -0
  121. package/development/timetable-form/timetable-form-field.d.ts +5 -0
  122. package/development/timetable-form/timetable-form-field.d.ts.map +1 -0
  123. package/development/timetable-form/timetable-form-field.js +5 -0
  124. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +23 -0
  125. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -0
  126. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +80 -0
  127. package/development/timetable-form/timetable-form-swap-button.d.ts +5 -0
  128. package/development/timetable-form/timetable-form-swap-button.d.ts.map +1 -0
  129. package/development/timetable-form/timetable-form-swap-button.js +5 -0
  130. package/development/timetable-form/timetable-form.d.ts +5 -0
  131. package/development/timetable-form/timetable-form.d.ts.map +1 -0
  132. package/development/timetable-form/timetable-form.js +5 -0
  133. package/development/timetable-form.d.ts +8 -0
  134. package/development/timetable-form.d.ts.map +1 -0
  135. package/development/timetable-form.js +11 -0
  136. package/development/title/title-base.d.ts +1 -1
  137. package/development/title/title-base.d.ts.map +1 -1
  138. package/development/title/title-base.js +2 -2
  139. package/development/title/title.component.d.ts +3 -1
  140. package/development/title/title.component.d.ts.map +1 -1
  141. package/development/title/title.component.js +30 -4
  142. package/development/train/train/train.component.js +1 -1
  143. package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
  144. package/development/train/train-formation/train-formation.component.js +6 -4
  145. package/development/train/train-wagon/train-wagon.component.js +1 -1
  146. package/development/{transparent-button-Dun6bh2G.js → transparent-button-COe-YB_U.js} +2 -2
  147. package/file-selector/common.js +1 -1
  148. package/{file-selector-common-Cn6U8goV.js → file-selector-common-OHK9hu3a.js} +1 -1
  149. package/file-selector.js +1 -1
  150. package/footer/footer.component.js +1 -1
  151. package/form-field/form-field/form-field.component.d.ts +3 -0
  152. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  153. package/form-field/form-field/form-field.component.js +1 -1
  154. package/header/common/header-action-common.js +5 -5
  155. package/index.d.ts +14 -0
  156. package/index.js +14 -0
  157. package/link-list/link-list/link-list.component.js +8 -8
  158. package/navigation/navigation-section/navigation-section.component.js +1 -1
  159. package/notification/notification.component.js +1 -1
  160. package/package.json +50 -1
  161. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  162. package/paginator/compact-paginator/compact-paginator.component.js +10 -9
  163. package/paginator/paginator/paginator.component.js +1 -1
  164. package/radio-button/common.js +1 -1
  165. package/radio-button-common-CUppr5FI.js +5 -0
  166. package/radio-button.js +1 -1
  167. package/screen-reader-only/screen-reader-only.component.js +1 -1
  168. package/selection-action-panel/selection-action-panel.component.js +3 -3
  169. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  170. package/skiplink-list/skiplink-list.component.js +1 -1
  171. package/standard-theme.css +143 -55
  172. package/timetable-form/timetable-form/timetable-form.component.d.ts +17 -0
  173. package/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -0
  174. package/timetable-form/timetable-form/timetable-form.component.js +19 -0
  175. package/timetable-form/timetable-form-details/timetable-form-details.component.d.ts +16 -0
  176. package/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -0
  177. package/timetable-form/timetable-form-details/timetable-form-details.component.js +19 -0
  178. package/timetable-form/timetable-form-details.d.ts +5 -0
  179. package/timetable-form/timetable-form-details.d.ts.map +1 -0
  180. package/timetable-form/timetable-form-details.js +4 -0
  181. package/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +18 -0
  182. package/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -0
  183. package/timetable-form/timetable-form-field/timetable-form-field.component.js +32 -0
  184. package/timetable-form/timetable-form-field.d.ts +5 -0
  185. package/timetable-form/timetable-form-field.d.ts.map +1 -0
  186. package/timetable-form/timetable-form-field.js +4 -0
  187. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +23 -0
  188. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -0
  189. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +38 -0
  190. package/timetable-form/timetable-form-swap-button.d.ts +5 -0
  191. package/timetable-form/timetable-form-swap-button.d.ts.map +1 -0
  192. package/timetable-form/timetable-form-swap-button.js +4 -0
  193. package/timetable-form/timetable-form.d.ts +5 -0
  194. package/timetable-form/timetable-form.d.ts.map +1 -0
  195. package/timetable-form/timetable-form.js +4 -0
  196. package/timetable-form.css +73 -0
  197. package/timetable-form.d.ts +8 -0
  198. package/timetable-form.d.ts.map +1 -0
  199. package/timetable-form.js +10 -0
  200. package/title/title-base.d.ts +1 -1
  201. package/title/title-base.d.ts.map +1 -1
  202. package/title/title-base.js +1 -1
  203. package/title/title.component.d.ts +3 -1
  204. package/title/title.component.d.ts.map +1 -1
  205. package/title/title.component.js +34 -15
  206. package/train/train/train.component.js +1 -1
  207. package/train/train-formation/train-formation.component.d.ts.map +1 -1
  208. package/train/train-formation/train-formation.component.js +19 -17
  209. package/train/train-wagon/train-wagon.component.js +1 -1
  210. package/{transparent-button-rf30m88X.js → transparent-button-xudJxob_.js} +1 -1
  211. package/radio-button-common-DJKWrKor.js +0 -5
@@ -1097,24 +1097,6 @@ summary {
1097
1097
  --sbb-size-element-s: var(--sbb-size-element-s-zero);
1098
1098
  --sbb-size-element-m: var(--sbb-size-element-m-zero);
1099
1099
  --sbb-size-element-l: var(--sbb-size-element-l-zero);
1100
- /**
1101
- * Micro (value corresponds to --sbb-breakpoint-micro-min)
1102
- */
1103
- /**
1104
- * Small (value corresponds to --sbb-breakpoint-small-min)
1105
- */
1106
- /**
1107
- * Medium (value corresponds to --sbb-breakpoint-medium-min)
1108
- */
1109
- /**
1110
- * Large (value corresponds to --sbb-breakpoint-large-min)
1111
- */
1112
- /**
1113
- * Wide (value corresponds to --sbb-breakpoint-wide-min)
1114
- */
1115
- /**
1116
- * Ultra (value corresponds to --sbb-breakpoint-ultra-min)
1117
- */
1118
1100
  }
1119
1101
  @media (forced-colors: active) {
1120
1102
  :root {
@@ -1124,6 +1106,11 @@ summary {
1124
1106
  --sbb-focus-outline-width: var(--sbb-border-width-2x);
1125
1107
  }
1126
1108
  }
1109
+ :root {
1110
+ /**
1111
+ * Micro (value corresponds to --sbb-breakpoint-micro-min)
1112
+ */
1113
+ }
1127
1114
  @media (min-width: 22.5rem) {
1128
1115
  :root {
1129
1116
  /* Layout */
@@ -1132,6 +1119,11 @@ summary {
1132
1119
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-micro);
1133
1120
  }
1134
1121
  }
1122
+ :root {
1123
+ /**
1124
+ * Small (value corresponds to --sbb-breakpoint-small-min)
1125
+ */
1126
+ }
1135
1127
  @media (min-width: 37.5rem) {
1136
1128
  :root {
1137
1129
  /* Title */
@@ -1146,6 +1138,11 @@ summary {
1146
1138
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-small);
1147
1139
  }
1148
1140
  }
1141
+ :root {
1142
+ /**
1143
+ * Medium (value corresponds to --sbb-breakpoint-medium-min)
1144
+ */
1145
+ }
1149
1146
  @media (min-width: 52.5rem) {
1150
1147
  :root {
1151
1148
  /* Title */
@@ -1182,6 +1179,11 @@ summary {
1182
1179
  --sbb-size-element-l: var(--sbb-size-element-l-medium);
1183
1180
  }
1184
1181
  }
1182
+ :root {
1183
+ /**
1184
+ * Large (value corresponds to --sbb-breakpoint-large-min)
1185
+ */
1186
+ }
1185
1187
  @media (min-width: 64rem) {
1186
1188
  :root {
1187
1189
  /* Title */
@@ -1196,6 +1198,11 @@ summary {
1196
1198
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-large);
1197
1199
  }
1198
1200
  }
1201
+ :root {
1202
+ /**
1203
+ * Wide (value corresponds to --sbb-breakpoint-wide-min)
1204
+ */
1205
+ }
1199
1206
  @media (min-width: 80rem) {
1200
1207
  :root {
1201
1208
  /* Spacing */
@@ -1206,6 +1213,11 @@ summary {
1206
1213
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-wide);
1207
1214
  }
1208
1215
  }
1216
+ :root {
1217
+ /**
1218
+ * Ultra (value corresponds to --sbb-breakpoint-ultra-min)
1219
+ */
1220
+ }
1209
1221
  @media (min-width: 90rem) {
1210
1222
  :root {
1211
1223
  /* Title */
@@ -1242,7 +1254,6 @@ summary {
1242
1254
  --sbb-title-margin-block-end-level-4: var(--sbb-spacing-fixed-3x);
1243
1255
  --sbb-title-margin-block-end-level-5: var(--sbb-spacing-fixed-2x);
1244
1256
  --sbb-title-margin-block-end-level-6: var(--sbb-spacing-fixed-1x);
1245
- --sbb-border-radius-infinity: 100000em;
1246
1257
  }
1247
1258
  :root.sbb-lean {
1248
1259
  --sbb-title-font-size-level-1: var(--sbb-font-size-title-2);
@@ -1260,6 +1271,9 @@ summary {
1260
1271
  --sbb-title-margin-block-end-level-5: var(--sbb-spacing-fixed-1x);
1261
1272
  --sbb-title-margin-block-end-level-6: 0;
1262
1273
  }
1274
+ :root {
1275
+ --sbb-border-radius-infinity: 100000em;
1276
+ }
1263
1277
  :root:has(sbb-header[size=s]) {
1264
1278
  --sbb-header-height: 3.25rem;
1265
1279
  }
@@ -1309,7 +1323,7 @@ html {
1309
1323
  opacity: 1;
1310
1324
  }
1311
1325
 
1312
- sbb-form-field :where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input) {
1326
+ :is(sbb-form-field, sbb-timetable-form-field) :where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input) {
1313
1327
  --sbb-text-font-size: var(--sbb-font-size-text-m);
1314
1328
  font-family: var(--sbb-typo-font-family);
1315
1329
  font-weight: normal;
@@ -1336,37 +1350,37 @@ sbb-form-field :where(input, select, textarea, sbb-select, sbb-date-input, sbb-t
1336
1350
  font-family: var(--sbb-typo-font-family) !important;
1337
1351
  line-height: var(--sbb-typo-line-height-body-text) !important;
1338
1352
  }
1339
- sbb-form-field :where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input)::placeholder {
1353
+ :is(sbb-form-field, sbb-timetable-form-field) :where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input)::placeholder {
1340
1354
  color: var(--sbb-color-metal);
1341
1355
  -webkit-text-fill-color: var(--sbb-color-metal);
1342
1356
  opacity: 1;
1343
1357
  }
1344
- sbb-form-field[floating-label] :where(input, select, textarea, sbb-select)::placeholder, sbb-form-field[floating-label] :where(sbb-date-input, sbb-time-input)::after {
1358
+ :is(sbb-form-field, sbb-timetable-form-field)[floating-label] :where(input, select, textarea, sbb-select)::placeholder, :is(sbb-form-field, sbb-timetable-form-field)[floating-label] :where(sbb-date-input, sbb-time-input)::after {
1345
1359
  color: transparent !important;
1346
1360
  -webkit-text-fill-color: transparent !important;
1347
1361
  }
1348
1362
  @media (forced-colors: active) {
1349
- sbb-form-field[floating-label] :where(input, select, textarea, sbb-select)::placeholder, sbb-form-field[floating-label] :where(sbb-date-input, sbb-time-input)::after {
1363
+ :is(sbb-form-field, sbb-timetable-form-field)[floating-label] :where(input, select, textarea, sbb-select)::placeholder, :is(sbb-form-field, sbb-timetable-form-field)[floating-label] :where(sbb-date-input, sbb-time-input)::after {
1350
1364
  color: Canvas !important;
1351
1365
  -webkit-text-fill-color: Canvas !important;
1352
1366
  }
1353
1367
  }
1354
- sbb-form-field:not([floating-label]) :where(input, select, textarea, sbb-select):disabled::placeholder {
1368
+ :is(sbb-form-field, sbb-timetable-form-field):not([floating-label]) :where(input, select, textarea, sbb-select):disabled::placeholder {
1355
1369
  color: var(--sbb-color-granite);
1356
1370
  -webkit-text-fill-color: var(--sbb-color-granite);
1357
1371
  }
1358
- sbb-form-field :where(select) {
1372
+ :is(sbb-form-field, sbb-timetable-form-field) :where(select) {
1359
1373
  vertical-align: middle;
1360
1374
  }
1361
- sbb-form-field :where(select, sbb-select) {
1375
+ :is(sbb-form-field, sbb-timetable-form-field) :where(select, sbb-select) {
1362
1376
  padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
1363
1377
  }
1364
- sbb-form-field[size=s] :where(input, sbb-date-input, sbb-time-input) {
1378
+ :is(sbb-form-field, sbb-timetable-form-field)[size=s] :where(input, sbb-date-input, sbb-time-input) {
1365
1379
  height: calc(var(--sbb-form-field-input-text-size) * 1.25);
1366
1380
  line-height: 1 !important;
1367
1381
  margin-block: calc(0.5 * var(--sbb-form-field-input-text-size) * (var(--sbb-typo-line-height-body-text) - 1.25));
1368
1382
  }
1369
- sbb-form-field :where(textarea) {
1383
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea) {
1370
1384
  --sbb-scrollbar-thumb-width: 0.125rem;
1371
1385
  --sbb-scrollbar-thumb-width-hover: 0.25rem;
1372
1386
  --sbb-scrollbar-width-firefox: thin;
@@ -1375,44 +1389,44 @@ sbb-form-field :where(textarea) {
1375
1389
  --sbb-scrollbar-track-color: transparent;
1376
1390
  --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
1377
1391
  }
1378
- sbb-form-field :where(textarea)::-webkit-scrollbar {
1392
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar {
1379
1393
  width: var(--sbb-scrollbar-width);
1380
1394
  height: var(--sbb-scrollbar-width);
1381
1395
  background-color: var(--sbb-scrollbar-track-color, transparent);
1382
1396
  }
1383
- sbb-form-field :where(textarea)::-webkit-scrollbar-corner {
1397
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar-corner {
1384
1398
  background-color: var(--sbb-scrollbar-track-color, transparent);
1385
1399
  }
1386
- sbb-form-field :where(textarea)::-webkit-scrollbar-thumb {
1400
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar-thumb {
1387
1401
  background-color: var(--sbb-scrollbar-color, currentcolor);
1388
1402
  border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
1389
1403
  border-radius: var(--sbb-border-radius-4x);
1390
1404
  background-clip: padding-box;
1391
1405
  }
1392
- sbb-form-field :where(textarea)::-webkit-scrollbar-thumb:hover {
1406
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar-thumb:hover {
1393
1407
  background-color: var(--sbb-scrollbar-color-hover, currentcolor);
1394
1408
  border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
1395
1409
  }
1396
- sbb-form-field :where(textarea)::-webkit-scrollbar-button, sbb-form-field :where(textarea)::-webkit-scrollbar-corner {
1410
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar-button, :is(sbb-form-field, sbb-timetable-form-field) :where(textarea)::-webkit-scrollbar-corner {
1397
1411
  display: none;
1398
1412
  }
1399
1413
  @supports not selector(::-webkit-scrollbar) {
1400
- sbb-form-field :where(textarea) {
1414
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea) {
1401
1415
  scrollbar-width: var(--sbb-scrollbar-width-firefox);
1402
1416
  scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
1403
1417
  }
1404
1418
  }
1405
- sbb-form-field :where(textarea) {
1419
+ :is(sbb-form-field, sbb-timetable-form-field) :where(textarea) {
1406
1420
  position: relative;
1407
1421
  resize: none;
1408
1422
  white-space: break-spaces;
1409
1423
  overflow-y: auto;
1410
1424
  min-height: calc(var(--sbb-typo-line-height-body-text) * 1em);
1411
1425
  }
1412
- sbb-form-field[size=l] :where(textarea) {
1426
+ :is(sbb-form-field, sbb-timetable-form-field)[size=l] :where(textarea) {
1413
1427
  padding-block-end: 0.34375rem;
1414
1428
  }
1415
- sbb-form-field[negative] :where(textarea) {
1429
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea) {
1416
1430
  --sbb-scrollbar-thumb-width: 0.125rem;
1417
1431
  --sbb-scrollbar-thumb-width-hover: 0.25rem;
1418
1432
  --sbb-scrollbar-width-firefox: thin;
@@ -1421,52 +1435,52 @@ sbb-form-field[negative] :where(textarea) {
1421
1435
  --sbb-scrollbar-track-color: transparent;
1422
1436
  --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
1423
1437
  }
1424
- sbb-form-field[negative] :where(textarea)::-webkit-scrollbar {
1438
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar {
1425
1439
  width: var(--sbb-scrollbar-width);
1426
1440
  height: var(--sbb-scrollbar-width);
1427
1441
  background-color: var(--sbb-scrollbar-track-color, transparent);
1428
1442
  }
1429
- sbb-form-field[negative] :where(textarea)::-webkit-scrollbar-corner {
1443
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar-corner {
1430
1444
  background-color: var(--sbb-scrollbar-track-color, transparent);
1431
1445
  }
1432
- sbb-form-field[negative] :where(textarea)::-webkit-scrollbar-thumb {
1446
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar-thumb {
1433
1447
  background-color: var(--sbb-scrollbar-color, currentcolor);
1434
1448
  border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
1435
1449
  border-radius: var(--sbb-border-radius-4x);
1436
1450
  background-clip: padding-box;
1437
1451
  }
1438
- sbb-form-field[negative] :where(textarea)::-webkit-scrollbar-thumb:hover {
1452
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar-thumb:hover {
1439
1453
  background-color: var(--sbb-scrollbar-color-hover, currentcolor);
1440
1454
  border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
1441
1455
  }
1442
- sbb-form-field[negative] :where(textarea)::-webkit-scrollbar-button, sbb-form-field[negative] :where(textarea)::-webkit-scrollbar-corner {
1456
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar-button, :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea)::-webkit-scrollbar-corner {
1443
1457
  display: none;
1444
1458
  }
1445
1459
  @supports not selector(::-webkit-scrollbar) {
1446
- sbb-form-field[negative] :where(textarea) {
1460
+ :is(sbb-form-field, sbb-timetable-form-field)[negative] :where(textarea) {
1447
1461
  scrollbar-width: var(--sbb-scrollbar-width-firefox);
1448
1462
  scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
1449
1463
  }
1450
1464
  }
1451
- sbb-form-field:has(:is(:is(input, textarea, select):user-invalid,
1452
- :is(:state(interacted), [state--interacted]):invalid,
1465
+ :is(sbb-form-field, sbb-timetable-form-field):has(:is(:is(input, textarea, select):user-invalid,
1466
+ :is(:state(interacted),[state--interacted]):invalid,
1453
1467
  .ng-touched.ng-invalid,
1454
- .sbb-invalid)), :is(.ng-submitted, .sbb-show-errors) sbb-form-field:has(:is(:invalid, .ng-invalid)) {
1468
+ .sbb-invalid)), :is(.ng-submitted, .sbb-show-errors) :is(sbb-form-field, sbb-timetable-form-field):has(:is(:invalid, .ng-invalid)) {
1455
1469
  --sbb-form-field-border-color: var(--sbb-color-red125);
1456
1470
  --sbb-form-field-text-color: var(--sbb-color-red125);
1457
1471
  }
1458
- sbb-form-field:has(:is(:is(input, textarea, select):user-invalid,
1459
- :is(:state(interacted), [state--interacted]):invalid,
1472
+ :is(sbb-form-field, sbb-timetable-form-field):has(:is(:is(input, textarea, select):user-invalid,
1473
+ :is(:state(interacted),[state--interacted]):invalid,
1460
1474
  .ng-touched.ng-invalid,
1461
- .sbb-invalid))[negative], :is(.ng-submitted, .sbb-show-errors) sbb-form-field:has(:is(:invalid, .ng-invalid))[negative] {
1475
+ .sbb-invalid))[negative], :is(.ng-submitted, .sbb-show-errors) :is(sbb-form-field, sbb-timetable-form-field):has(:is(:invalid, .ng-invalid))[negative] {
1462
1476
  --sbb-form-field-border-color: var(--sbb-color-red-mode-dark);
1463
1477
  --sbb-form-field-text-color: var(--sbb-color-red-mode-dark);
1464
1478
  }
1465
1479
  @media (forced-colors: active) {
1466
- sbb-form-field:has(:is(:is(input, textarea, select):user-invalid,
1467
- :is(:state(interacted), [state--interacted]):invalid,
1480
+ :is(sbb-form-field, sbb-timetable-form-field):has(:is(:is(input, textarea, select):user-invalid,
1481
+ :is(:state(interacted),[state--interacted]):invalid,
1468
1482
  .ng-touched.ng-invalid,
1469
- .sbb-invalid)), :is(.ng-submitted, .sbb-show-errors) sbb-form-field:has(:is(:invalid, .ng-invalid)) {
1483
+ .sbb-invalid)), :is(.ng-submitted, .sbb-show-errors) :is(sbb-form-field, sbb-timetable-form-field):has(:is(:invalid, .ng-invalid)) {
1470
1484
  --sbb-form-field-border-color: LinkText !important;
1471
1485
  --sbb-form-field-text-color: LinkText !important;
1472
1486
  }
@@ -1726,11 +1740,11 @@ sbb-toggle:has(:focus-visible) {
1726
1740
  sbb-dialog[negative] sbb-dialog-actions {
1727
1741
  --sbb-dialog-actions-border-color: var(--sbb-color-iron);
1728
1742
  }
1729
- sbb-dialog:is(:state(overflows), [state--overflows]) sbb-dialog-actions {
1743
+ sbb-dialog:is(:state(overflows),[state--overflows]) sbb-dialog-actions {
1730
1744
  --sbb-dialog-actions-border-color: transparent;
1731
1745
  box-shadow: var(--sbb-shadow-elevation-level-9-shadow-2-offset-x) var(--sbb-shadow-elevation-level-9-shadow-2-offset-y) var(--sbb-shadow-elevation-level-9-shadow-2-blur) var(--sbb-shadow-elevation-level-9-shadow-2-spread) var(--sbb-shadow-elevation-level-9-soft-2-color), var(--sbb-shadow-elevation-level-9-shadow-1-offset-x) var(--sbb-shadow-elevation-level-9-shadow-1-offset-y) var(--sbb-shadow-elevation-level-9-shadow-1-blur) var(--sbb-shadow-elevation-level-9-shadow-1-spread) var(--sbb-shadow-elevation-level-9-soft-1-color);
1732
1746
  }
1733
- sbb-dialog[negative]:is(:state(overflows), [state--overflows]) sbb-dialog-actions {
1747
+ sbb-dialog[negative]:is(:state(overflows),[state--overflows]) sbb-dialog-actions {
1734
1748
  box-shadow: var(--sbb-shadow-elevation-level-9-shadow-2-offset-x) var(--sbb-shadow-elevation-level-9-shadow-2-offset-y) var(--sbb-shadow-elevation-level-9-shadow-2-blur) var(--sbb-shadow-elevation-level-9-shadow-2-spread) var(--sbb-shadow-elevation-level-9-soft-negative-2-color), var(--sbb-shadow-elevation-level-9-shadow-1-offset-x) var(--sbb-shadow-elevation-level-9-shadow-1-offset-y) var(--sbb-shadow-elevation-level-9-shadow-1-blur) var(--sbb-shadow-elevation-level-9-shadow-1-spread) var(--sbb-shadow-elevation-level-9-soft-negative-1-color);
1735
1749
  }
1736
1750
 
@@ -1831,7 +1845,7 @@ sup {
1831
1845
 
1832
1846
  .sbb-screen-reader-only {
1833
1847
  border: 0;
1834
- clip: rect(0 0 0 0);
1848
+ clip-path: rect(0 0 0 0);
1835
1849
  height: 1px;
1836
1850
  margin: -1px;
1837
1851
  overflow: hidden;
@@ -2650,4 +2664,78 @@ html.sbb-lean .sbb-table:not(.sbb-table-xs, .sbb-table-m) tbody > tr > td {
2650
2664
  line-height: var(--sbb-typo-line-height-body-text);
2651
2665
  letter-spacing: var(--sbb-typo-letter-spacing-body-text);
2652
2666
  font-size: var(--sbb-text-font-size);
2667
+ }
2668
+
2669
+ .sbb-timetable-form {
2670
+ --sbb-timetable-form-content-max-width: 46.25rem;
2671
+ position: relative;
2672
+ display: flex;
2673
+ flex-direction: column;
2674
+ column-gap: var(--sbb-spacing-fixed-3x);
2675
+ border-radius: var(--sbb-border-radius-4x);
2676
+ padding-block: var(--sbb-spacing-fixed-10x) var(--sbb-spacing-responsive-l);
2677
+ padding-inline: var(--sbb-spacing-fixed-5x);
2678
+ background: linear-gradient(to bottom, var(--sbb-color-red) 0 11.125rem, var(--sbb-color-milk) 11.125rem 100%);
2679
+ }
2680
+ @media (max-width: calc(63.9375rem)) {
2681
+ .sbb-timetable-form:has(sbb-signet) {
2682
+ padding-block-start: var(--sbb-spacing-fixed-4x);
2683
+ }
2684
+ }
2685
+ .sbb-timetable-form sbb-signet {
2686
+ width: var(--sbb-spacing-fixed-16x);
2687
+ align-self: end;
2688
+ margin-block-end: var(--sbb-spacing-fixed-2x);
2689
+ margin-inline: 0;
2690
+ }
2691
+ @media (min-width: calc(64rem)) {
2692
+ .sbb-timetable-form sbb-signet {
2693
+ position: absolute;
2694
+ inset-block-start: var(--sbb-spacing-fixed-6x);
2695
+ inset-inline-end: var(--sbb-spacing-fixed-6x);
2696
+ }
2697
+ }
2698
+ .sbb-timetable-form > * {
2699
+ margin-inline: auto;
2700
+ max-width: var(--sbb-timetable-form-content-max-width);
2701
+ width: 100%;
2702
+ }
2703
+
2704
+ sbb-timetable-form sbb-date-input {
2705
+ min-width: 8.3125rem;
2706
+ }
2707
+ sbb-timetable-form .sbb-timetable-form-block {
2708
+ --sbb-form-field-focus-underline-z-index: 1;
2709
+ width: 100%;
2710
+ position: relative;
2711
+ }
2712
+ sbb-timetable-form .sbb-timetable-form-block::after {
2713
+ content: "";
2714
+ position: absolute;
2715
+ border-block-end: var(--sbb-border-width-1x) solid var(--sbb-color-cloud);
2716
+ inset-inline: var(--sbb-form-field-padding-inline);
2717
+ inset-block-end: 0;
2718
+ }
2719
+ sbb-timetable-form .sbb-timetable-form-block sbb-datepicker-toggle {
2720
+ margin-inline-end: var(--sbb-spacing-fixed-6x);
2721
+ }
2722
+ @media (max-width: calc(37.4375rem)) {
2723
+ sbb-timetable-form .sbb-timetable-form-mobile-block {
2724
+ --sbb-form-field-focus-underline-z-index: 1;
2725
+ width: 100%;
2726
+ position: relative;
2727
+ }
2728
+ sbb-timetable-form .sbb-timetable-form-mobile-block::after {
2729
+ content: "";
2730
+ position: absolute;
2731
+ border-block-end: var(--sbb-border-width-1x) solid var(--sbb-color-cloud);
2732
+ inset-inline: var(--sbb-form-field-padding-inline);
2733
+ inset-block-end: 0;
2734
+ }
2735
+ sbb-timetable-form .sbb-timetable-form-mobile-block sbb-datepicker-toggle {
2736
+ margin-inline-end: var(--sbb-spacing-fixed-6x);
2737
+ }
2738
+ sbb-timetable-form .sbb-timetable-form-mobile-hidden {
2739
+ display: none;
2740
+ }
2653
2741
  }
@@ -0,0 +1,17 @@
1
+ import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
+ /**
3
+ * Serves as a building block of a sbb 'timetable-form'.
4
+ * It automatically handles the styles and part of its behaviors
5
+ *
6
+ * @slot - Use the unnamed slot to add content to the 'timetable-form'
7
+ */
8
+ export declare class SbbTimetableFormElement extends LitElement {
9
+ static styles: CSSResultGroup;
10
+ protected render(): TemplateResult;
11
+ }
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'sbb-timetable-form': SbbTimetableFormElement;
15
+ }
16
+ }
17
+ //# sourceMappingURL=timetable-form.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/timetable-form/timetable-form/timetable-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC;;;;;GAKG;AACH,qBAEM,uBAAwB,SAAQ,UAAU;IAC9C,OAAuB,MAAM,EAAE,cAAc,CAAS;cAEnC,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,oBAAoB,EAAE,uBAAuB,CAAC;KAC/C;CACF"}
@@ -0,0 +1,19 @@
1
+ import { __esDecorate as b, __runInitializers as i } from "tslib";
2
+ import { css as m, LitElement as c, html as n } from "lit";
3
+ import { customElement as u } from "lit/decorators.js";
4
+ const d = m`*,:before,:after{box-sizing:border-box}:host{--sbb-timetable-form-background-color: var(--sbb-color-white);--sbb-timetable-form-border-radius: var(--sbb-border-radius-4x);border-radius:var(--sbb-timetable-form-border-radius);background-color:var(--sbb-timetable-form-background-color);display:flex;flex-direction:column}`;
5
+ let y = (() => {
6
+ var t;
7
+ let s = [u("sbb-timetable-form")], a, l = [], e, o = c;
8
+ return t = class extends o {
9
+ render() {
10
+ return n`<slot></slot>`;
11
+ }
12
+ }, e = t, (() => {
13
+ const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
14
+ b(null, a = { value: e }, s, { kind: "class", name: e.name, metadata: r }, null, l), e = a.value, r && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
15
+ })(), t.styles = d, i(e, l), e;
16
+ })();
17
+ export {
18
+ y as SbbTimetableFormElement
19
+ };
@@ -0,0 +1,16 @@
1
+ import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
+ /**
3
+ * Wraps the details section of the `sbb-timetable-form`.
4
+ *
5
+ * @slot - Use the unnamed slot to add content to the details section.
6
+ */
7
+ export declare class SbbTimetableFormDetailsElement extends LitElement {
8
+ static styles: CSSResultGroup;
9
+ protected render(): TemplateResult;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'sbb-timetable-form-details': SbbTimetableFormDetailsElement;
14
+ }
15
+ }
16
+ //# sourceMappingURL=timetable-form-details.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-details.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/timetable-form/timetable-form-details/timetable-form-details.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC;;;;GAIG;AACH,qBAEM,8BAA+B,SAAQ,UAAU;IACrD,OAAuB,MAAM,EAAE,cAAc,CAAS;cAEnC,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
@@ -0,0 +1,19 @@
1
+ import { __esDecorate as b, __runInitializers as o } from "tslib";
2
+ import { css as d, LitElement as n, html as m } from "lit";
3
+ import { customElement as c } from "lit/decorators.js";
4
+ const f = d`*,:before,:after{box-sizing:border-box}:host{--sbb-timetable-form-details-padding-block: var(--sbb-spacing-fixed-1x);--sbb-timetable-form-details-padding-inline: var(--sbb-spacing-responsive-xxs);--sbb-timetable-form-details-horizontal-divider-height: 1.5rem;display:flex;flex-wrap:wrap;gap:var(--sbb-spacing-fixed-1x);border-block-start:var(--sbb-border-width-1x) solid var(--sbb-color-cloud);padding-block:var(--sbb-timetable-form-details-padding-block);padding-inline-start:calc(var(--sbb-size-icon-ui-small) + var(--sbb-spacing-responsive-xxxs));align-items:center}::slotted(sbb-form-field){--sbb-form-field-border-radius: var(--sbb-border-radius-6x);--sbb-form-field-outline-offset: -.3125rem}::slotted(sbb-divider[orientation=vertical]){height:var(--sbb-timetable-form-details-horizontal-divider-height)}::slotted(:last-child){margin-inline-end:var(--sbb-timetable-form-details-padding-inline)}`;
5
+ let g = (() => {
6
+ var t;
7
+ let l = [c("sbb-timetable-form-details")], i, s = [], e, r = n;
8
+ return t = class extends r {
9
+ render() {
10
+ return m`<slot></slot>`;
11
+ }
12
+ }, e = t, (() => {
13
+ const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(r[Symbol.metadata] ?? null) : void 0;
14
+ b(null, i = { value: e }, l, { kind: "class", name: e.name, metadata: a }, null, s), e = i.value, a && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: a });
15
+ })(), t.styles = f, o(e, s), e;
16
+ })();
17
+ export {
18
+ g as SbbTimetableFormDetailsElement
19
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './timetable-form-details/timetable-form-details.component.js';
5
+ //# sourceMappingURL=timetable-form-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-details.d.ts","sourceRoot":"","sources":["../../../src/elements/timetable-form/timetable-form-details.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,8DAA8D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { SbbTimetableFormDetailsElement as t } from "./timetable-form-details/timetable-form-details.component.js";
2
+ export {
3
+ t as SbbTimetableFormDetailsElement
4
+ };
@@ -0,0 +1,18 @@
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { SbbFormFieldElement } from '../../form-field/form-field.js';
3
+ /**
4
+ * Extends the `sbb-form-field`. Meant to be used inside a `sbb-timetable-form`.
5
+ */
6
+ export declare class SbbTimetableFormFieldElement extends SbbFormFieldElement {
7
+ static styles: CSSResultGroup;
8
+ private _routeIcon;
9
+ constructor();
10
+ connectedCallback(): void;
11
+ render(): TemplateResult;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'sbb-timetable-form-field': SbbTimetableFormFieldElement;
16
+ }
17
+ }
18
+ //# sourceMappingURL=timetable-form-field.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-field.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/timetable-form/timetable-form-field/timetable-form-field.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE;;GAEG;AACH,qBAEM,4BAA6B,SAAQ,mBAAmB;IAC5D,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,OAAO,CAAC,UAAU,CAAS;;IAUX,iBAAiB,IAAI,IAAI;IAWzB,MAAM,IAAI,cAAc;CAWzC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,0BAA0B,EAAE,4BAA4B,CAAC;KAC1D;CACF"}
@@ -0,0 +1,32 @@
1
+ import { __esDecorate as n, __runInitializers as c } from "tslib";
2
+ import { css as f, isServer as m, html as i } from "lit";
3
+ import { customElement as d } from "lit/decorators.js";
4
+ import { SbbFormFieldElement as l } from "../../form-field/form-field.js";
5
+ const u = f`*,:before,:after{box-sizing:border-box}:host{display:flex;--sbb-form-field-border-radius: var(--sbb-border-radius-6x);--sbb-form-field-outline-offset: -.3125rem;--sbb-timetable-form-field-route-icon-color: var(--sbb-color-black);--sbb-timetable-form-field-route-icon-background-color: var(--sbb-color-white)}:host(:first-of-type){--sbb-timetable-form-field-route-icon-rotate: 90deg}:host(:last-of-type){--sbb-timetable-form-field-route-icon-rotate: -90deg;--sbb-timetable-form-field-route-icon-translate: -.0625rem 0}:host(:where(:not(:last-of-type))) .sbb-form-field__wrapper:after{content:"";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-color-cloud);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0}.sbb-timetable-form-field__start-route-icon{align-self:center;margin-inline-start:var(--sbb-form-field-padding-inline);rotate:var(--sbb-timetable-form-field-route-icon-rotate);translate:var(--sbb-timetable-form-field-route-icon-translate)}.sbb-timetable-form-field__start-route-icon:after{--connecting-line-offset: .1875rem;--connecting-line-width: calc( (var(--sbb-form-field-min-height) - var(--sbb-icon-svg-height)) / 2 + var(--connecting-line-offset) );content:"";position:absolute;inset-block-start:50%;border-block-start:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color);width:var(--connecting-line-width);margin-left:calc(var(--connecting-line-offset) * -1)}.sbb-timetable-form-field__via-route-icon{align-self:stretch;position:relative;width:var(--sbb-size-icon-ui-small);margin-inline-start:var(--sbb-form-field-padding-inline)}.sbb-timetable-form-field__via-route-icon:before{content:"";position:absolute;inset-inline-start:50%;height:100%;margin-inline-start:-.0625rem;border-inline-start:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color)}.sbb-timetable-form-field__via-route-icon:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;width:.4375rem;height:.4375rem;border:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color);border-radius:var(--sbb-border-radius-infinity);background-color:var(--sbb-timetable-form-field-route-icon-background-color);margin-inline-start:-.03125rem}.sbb-form-field__space-wrapper{flex-grow:1}`;
6
+ let g = (() => {
7
+ var t;
8
+ let b = [d("sbb-timetable-form-field")], o, a = [], e, s = l;
9
+ return t = class extends s {
10
+ constructor() {
11
+ super(), this._routeIcon = !1, this.borderless = !0, this.floatingLabel = !0, this.width = "collapse", this.size = "l";
12
+ }
13
+ connectedCallback() {
14
+ super.connectedCallback(), !m && this.hydrationComplete.then(() => this._routeIcon = this.matches(":first-of-type, :last-of-type"));
15
+ }
16
+ render() {
17
+ return i`
18
+ ${this._routeIcon ? i` <sbb-icon
19
+ name="route-circle-start-small"
20
+ class="sbb-timetable-form-field__start-route-icon"
21
+ ></sbb-icon>` : i` <span class="sbb-timetable-form-field__via-route-icon"></span> `}
22
+ ${super.render()}
23
+ `;
24
+ }
25
+ }, e = t, (() => {
26
+ const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(s[Symbol.metadata] ?? null) : void 0;
27
+ n(null, o = { value: e }, b, { kind: "class", name: e.name, metadata: r }, null, a), e = o.value, r && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
28
+ })(), t.styles = [l.styles, u], c(e, a), e;
29
+ })();
30
+ export {
31
+ g as SbbTimetableFormFieldElement
32
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './timetable-form-field/timetable-form-field.component.js';
5
+ //# sourceMappingURL=timetable-form-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-field.d.ts","sourceRoot":"","sources":["../../../src/elements/timetable-form/timetable-form-field.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,0DAA0D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { SbbTimetableFormFieldElement as b } from "./timetable-form-field/timetable-form-field.component.js";
2
+ export {
3
+ b as SbbTimetableFormFieldElement
4
+ };
@@ -0,0 +1,23 @@
1
+ import { CSSResultGroup, PropertyValues } from 'lit';
2
+ import { SbbSecondaryButtonElement } from '../../button/secondary-button.js';
3
+ /**
4
+ * An extension of `sbb-secondary-button` to be used inside the `sbb-timetable-form`.
5
+ * When placed between two `sbb-timetable-form-field`, the 'click' swaps the value of the sibling inputs.
6
+ */
7
+ export declare class SbbTimetableFormSwapButtonElement extends SbbSecondaryButtonElement {
8
+ static styles: CSSResultGroup;
9
+ private _languageController;
10
+ constructor();
11
+ connectedCallback(): void;
12
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
13
+ /**
14
+ * Search for `sbb-timetable-form-field` inputs, invert their values and dispatch the respective input and change events
15
+ */
16
+ private _invertFieldValues;
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'sbb-timetable-form-swap-button': SbbTimetableFormSwapButtonElement;
21
+ }
22
+ }
23
+ //# sourceMappingURL=timetable-form-swap-button.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-swap-button.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAM7E;;;GAGG;AACH,qBAEM,iCAAkC,SAAQ,yBAAyB;IACvE,OAAuB,MAAM,EAAE,cAAc,CAA6C;IAE1F,OAAO,CAAC,mBAAmB,CAAmC;;IAQ9C,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAiB3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gCAAgC,EAAE,iCAAiC,CAAC;KACrE;CACF"}
@@ -0,0 +1,38 @@
1
+ import { __esDecorate as p, __runInitializers as f } from "tslib";
2
+ import { customElement as d } from "lit/decorators.js";
3
+ import { SbbSecondaryButtonElement as m } from "../../button/secondary-button.js";
4
+ import { SbbLanguageController as v } from "../../core/controllers.js";
5
+ import { i18nTimetableFormSwapButtonLabel as h } from "../../core/i18n.js";
6
+ import { css as w } from "lit";
7
+ const g = w`*,:before,:after{box-sizing:border-box}:host(:is(:state(timetable-form-context),[state--timetable-form-context])){--sbb-timetable-form-swap-button-margin-inline-end: var(--sbb-spacing-fixed-6x);--sbb-timetable-form-swap-button-translate: 0 -50%;--sbb-timetable-form-swap-button-z-index: 1;--sbb-timetable-form-swap-button-position: absolute;position:relative}.sbb-timetable-form-swap-button{position:var(--sbb-timetable-form-swap-button-position, relative);margin-inline-end:var(--sbb-timetable-form-swap-button-margin-inline-end);translate:var(--sbb-timetable-form-swap-button-translate);z-index:var(--sbb-timetable-form-swap-button-z-index);inset-inline-end:0}`;
8
+ let C = (() => {
9
+ var a;
10
+ let u = [d("sbb-timetable-form-swap-button")], l, r = [], e, o = m;
11
+ return a = class extends o {
12
+ constructor() {
13
+ super(), this._languageController = new v(this), this.iconName = "arrow-change-small", this.addEventListener("click", () => this._invertFieldValues());
14
+ }
15
+ connectedCallback() {
16
+ super.connectedCallback(), this.toggleState("timetable-form-context", !!this.closest("sbb-timetable-form"));
17
+ }
18
+ willUpdate(t) {
19
+ super.willUpdate(t), this.internals.ariaLabel = h[this._languageController.current];
20
+ }
21
+ /**
22
+ * Search for `sbb-timetable-form-field` inputs, invert their values and dispatch the respective input and change events
23
+ */
24
+ _invertFieldValues() {
25
+ const t = this.closest("sbb-timetable-form"), b = Array.from(t?.querySelectorAll("sbb-timetable-form-field") || []), i = b.map((n) => n.inputElement?.value);
26
+ !t || i.length === 0 || i.every((n) => !n) || i.reverse().forEach((n, c) => {
27
+ const s = b[c].inputElement;
28
+ s instanceof HTMLInputElement && (s.value = n, s.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), s.dispatchEvent(new Event("change", { bubbles: !0 })));
29
+ });
30
+ }
31
+ }, e = a, (() => {
32
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
33
+ p(null, l = { value: e }, u, { kind: "class", name: e.name, metadata: t }, null, r), e = l.value, t && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
34
+ })(), a.styles = [m.styles, g], f(e, r), e;
35
+ })();
36
+ export {
37
+ C as SbbTimetableFormSwapButtonElement
38
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './timetable-form-swap-button/timetable-form-swap-button.component.js';
5
+ //# sourceMappingURL=timetable-form-swap-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable-form-swap-button.d.ts","sourceRoot":"","sources":["../../../src/elements/timetable-form/timetable-form-swap-button.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sEAAsE,CAAC"}