@sbb-esta/lyne-elements 3.0.0-next.0 → 3.0.0-next.2

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 (567) hide show
  1. package/accordion/accordion.component.js +19 -22
  2. package/action-group/action-group.component.js +3 -5
  3. package/alert/alert/alert.component.d.ts +5 -7
  4. package/alert/alert/alert.component.d.ts.map +1 -1
  5. package/alert/alert/alert.component.js +69 -84
  6. package/alert/alert-group/alert-group.component.js +2 -3
  7. package/autocomplete/autocomplete-base-element.js +83 -95
  8. package/autocomplete/autocomplete.component.js +28 -33
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +42 -50
  10. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  11. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -5
  13. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
  14. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  15. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +21 -24
  17. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +5 -5
  18. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +27 -31
  19. package/button/mini-button/mini-button.component.js +1 -1
  20. package/button/mini-button-group/mini-button-group.component.js +1 -2
  21. package/calendar/calendar.component.d.ts +0 -5
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +129 -147
  24. package/card/card/card.component.js +12 -12
  25. package/card/card-badge/card-badge.component.js +17 -17
  26. package/card/common/card-action-common.js +20 -22
  27. package/checkbox/checkbox/checkbox.component.js +17 -20
  28. package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
  29. package/checkbox/checkbox-panel/checkbox-panel.component.js +18 -21
  30. package/checkbox/common/checkbox-common.js +13 -15
  31. package/chip/chip-group/chip-group.component.js +66 -80
  32. package/clock/clock.component.js +50 -60
  33. package/container/container/container.component.js +28 -29
  34. package/container/sticky-bar/sticky-bar.component.js +25 -26
  35. package/core/a11y/focus-trap-controller.js +11 -14
  36. package/core/a11y/input-modality-detector.js +15 -16
  37. package/core/a11y/interactivity-checker.js +10 -10
  38. package/core/a11y/live-announcer.js +12 -14
  39. package/core/base-elements/button-base-element.js +58 -63
  40. package/core/base-elements/link-base-element.js +3 -6
  41. package/core/base-elements/open-close-base-element.js +1 -1
  42. package/core/config/config.d.ts.map +1 -1
  43. package/core/controllers/escapable-overlay-controller.js +10 -12
  44. package/core/controllers/id-reference-controller.js +13 -14
  45. package/core/controllers/inert-controller.js +8 -10
  46. package/core/controllers/slot-state-controller.js +16 -26
  47. package/core/datetime/date-adapter.d.ts +1 -1
  48. package/core/datetime/date-adapter.d.ts.map +1 -1
  49. package/core/datetime/date-adapter.js +21 -21
  50. package/core/datetime/native-date-adapter.d.ts +1 -1
  51. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  52. package/core/datetime/native-date-adapter.js +28 -28
  53. package/core/decorators/force-type.js +4 -5
  54. package/core/decorators/id-reference.js +34 -37
  55. package/core/decorators/plain-date.js +16 -19
  56. package/core/dom/breakpoint.js +8 -8
  57. package/core/eventing/event-emitter.js +4 -5
  58. package/core/i18n/i18n.js +41 -41
  59. package/core/mixins/element-internals-mixin.d.ts +21 -0
  60. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  61. package/core/mixins/element-internals-mixin.js +109 -23
  62. package/core/mixins/form-associated-checkbox-mixin.js +32 -37
  63. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  64. package/core/mixins/form-associated-input-mixin.js +69 -93
  65. package/core/mixins/form-associated-mixin.js +32 -35
  66. package/core/mixins/form-associated-radio-button-mixin.js +3 -5
  67. package/core/mixins/hydration-mixin.js +12 -13
  68. package/core/mixins/named-slot-list-mixin.js +32 -37
  69. package/core/mixins/panel-mixin.js +26 -27
  70. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  71. package/core/mixins/readonly-mixin.js +10 -11
  72. package/core/mixins.js +27 -25
  73. package/core/overlay/position.js +23 -23
  74. package/core/styles/core/mediaqueries.scss +1 -1
  75. package/core/styles/core.scss +70 -37
  76. package/core/styles/mixins/table.scss +1 -24
  77. package/core/styles/mixins/typo.scss +0 -1
  78. package/core/testing/event-spy.js +2 -4
  79. package/core/testing/wait-for-image-ready.js +8 -9
  80. package/core/testing/wait-for-render.js +8 -9
  81. package/core.css +29 -1
  82. package/custom-elements.json +5804 -3207
  83. package/date-input/date-input.component.d.ts +16 -1
  84. package/date-input/date-input.component.d.ts.map +1 -1
  85. package/date-input/date-input.component.js +71 -58
  86. package/datepicker/common/datepicker-button.d.ts +31 -20
  87. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  88. package/datepicker/common/datepicker-button.js +79 -74
  89. package/datepicker/common.d.ts +0 -1
  90. package/datepicker/common.d.ts.map +1 -1
  91. package/datepicker/common.js +3 -5
  92. package/datepicker/datepicker/datepicker.component.d.ts +23 -102
  93. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  94. package/datepicker/datepicker/datepicker.component.js +91 -233
  95. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  96. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  97. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +27 -18
  98. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  99. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  100. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +27 -18
  101. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  102. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  103. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +36 -145
  104. package/datepicker.js +9 -11
  105. package/development/accordion/accordion.component.js +4 -7
  106. package/development/action-group/action-group.component.js +3 -5
  107. package/development/alert/alert/alert.component.d.ts +5 -7
  108. package/development/alert/alert/alert.component.d.ts.map +1 -1
  109. package/development/alert/alert/alert.component.js +34 -52
  110. package/development/alert/alert-group/alert-group.component.js +2 -3
  111. package/development/autocomplete/autocomplete-base-element.js +20 -32
  112. package/development/autocomplete/autocomplete.component.js +7 -12
  113. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
  114. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  115. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  116. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -9
  117. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  118. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
  119. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  120. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  121. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
  122. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  123. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  124. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
  125. package/development/button/accent-button/accent-button.component.js +1 -1
  126. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  127. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  128. package/development/button/button/button.component.js +1 -1
  129. package/development/button/button-link/button-link.component.js +1 -1
  130. package/development/button/button-static/button-static.component.js +1 -1
  131. package/development/button/common/button-common.js +1 -1
  132. package/development/button/mini-button/mini-button.component.js +1 -1
  133. package/development/button/mini-button-group/mini-button-group.component.js +2 -3
  134. package/development/button/secondary-button/secondary-button.component.js +1 -1
  135. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  136. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  137. package/development/button/transparent-button/transparent-button.component.js +1 -1
  138. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  139. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  140. package/development/calendar/calendar.component.d.ts +0 -5
  141. package/development/calendar/calendar.component.d.ts.map +1 -1
  142. package/development/calendar/calendar.component.js +20 -44
  143. package/development/card/card/card.component.js +1 -1
  144. package/development/card/card-badge/card-badge.component.js +2 -2
  145. package/development/card/card-button/card-button.component.js +1 -1
  146. package/development/card/card-link/card-link.component.js +1 -1
  147. package/development/card/common/card-action-common.js +4 -6
  148. package/development/checkbox/checkbox/checkbox.component.js +2 -5
  149. package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
  150. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
  151. package/development/checkbox/common/checkbox-common.js +3 -5
  152. package/development/chip/chip/chip.component.js +1 -1
  153. package/development/chip/chip-group/chip-group.component.js +18 -32
  154. package/development/chip-label/chip-label.component.js +1 -1
  155. package/development/clock/clock.component.js +23 -33
  156. package/development/container/container/container.component.js +2 -3
  157. package/development/container/sticky-bar/sticky-bar.component.js +3 -4
  158. package/development/core/a11y/arrow-navigation.js +1 -1
  159. package/development/core/a11y/fake-event-detection.js +1 -1
  160. package/development/core/a11y/focus-trap-controller.js +6 -9
  161. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  162. package/development/core/a11y/input-modality-detector.js +2 -3
  163. package/development/core/a11y/interactivity-checker.js +2 -2
  164. package/development/core/a11y/live-announcer.js +6 -8
  165. package/development/core/base-elements/action-base-element.js +2 -3
  166. package/development/core/base-elements/button-base-element.js +6 -11
  167. package/development/core/base-elements/link-base-element.js +4 -7
  168. package/development/core/base-elements/open-close-base-element.js +2 -2
  169. package/development/core/config/config.d.ts.map +1 -1
  170. package/development/core/config/config.js +1 -1
  171. package/development/core/controllers/escapable-overlay-controller.js +3 -5
  172. package/development/core/controllers/id-reference-controller.js +2 -3
  173. package/development/core/controllers/inert-controller.js +4 -6
  174. package/development/core/controllers/language-controller.js +1 -1
  175. package/development/core/controllers/media-matchers-controller.js +1 -1
  176. package/development/core/controllers/slot-state-controller.js +8 -18
  177. package/development/core/datetime/date-adapter.d.ts +1 -1
  178. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  179. package/development/core/datetime/date-adapter.js +5 -5
  180. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  181. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  182. package/development/core/datetime/native-date-adapter.js +4 -4
  183. package/development/core/decorators/force-type.js +3 -4
  184. package/development/core/decorators/get-override.js +1 -1
  185. package/development/core/decorators/handle-distinct-change.js +1 -1
  186. package/development/core/decorators/host-attributes.js +1 -1
  187. package/development/core/decorators/id-reference.js +4 -7
  188. package/development/core/decorators/plain-date.js +5 -8
  189. package/development/core/decorators/slot-state.js +1 -1
  190. package/development/core/dom/animation.js +1 -1
  191. package/development/core/dom/breakpoint.js +2 -2
  192. package/development/core/dom/host-context.js +1 -1
  193. package/development/core/dom/platform.js +1 -1
  194. package/development/core/dom/scroll.js +1 -1
  195. package/development/core/dom/set-or-remove-attribute.js +1 -1
  196. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  197. package/development/core/eventing/event-emitter.js +2 -3
  198. package/development/core/eventing/form-element-handlers.js +1 -1
  199. package/development/core/eventing/forward-event.js +1 -1
  200. package/development/core/eventing/throttle.js +1 -1
  201. package/development/core/i18n/i18n.js +18 -18
  202. package/development/core/mixins/animation-complete-mixin.js +1 -1
  203. package/development/core/mixins/disabled-mixin.js +1 -1
  204. package/development/core/mixins/element-internals-mixin.d.ts +21 -0
  205. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  206. package/development/core/mixins/element-internals-mixin.js +123 -2
  207. package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
  208. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  209. package/development/core/mixins/form-associated-input-mixin.js +29 -59
  210. package/development/core/mixins/form-associated-mixin.js +6 -9
  211. package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
  212. package/development/core/mixins/hydration-mixin.js +3 -4
  213. package/development/core/mixins/named-slot-list-mixin.js +4 -7
  214. package/development/core/mixins/negative-mixin.js +1 -1
  215. package/development/core/mixins/panel-mixin.js +2 -3
  216. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  217. package/development/core/mixins/readonly-mixin.js +4 -6
  218. package/development/core/mixins/required-mixin.js +1 -1
  219. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  220. package/development/core/mixins.js +4 -2
  221. package/development/core/overlay/overlay-option-panel.js +1 -1
  222. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  223. package/development/core/overlay/overlay.js +1 -1
  224. package/development/core/overlay/position.js +5 -5
  225. package/development/core/testing/event-spy.js +3 -5
  226. package/development/core/testing/mocha-extensions.js +1 -1
  227. package/development/core/testing/wait-for-condition.js +1 -1
  228. package/development/core/testing/wait-for-image-ready.js +2 -3
  229. package/development/core/testing/wait-for-render.js +2 -3
  230. package/development/date-input/date-input.component.d.ts +16 -1
  231. package/development/date-input/date-input.component.d.ts.map +1 -1
  232. package/development/date-input/date-input.component.js +28 -11
  233. package/development/datepicker/common/datepicker-button.d.ts +31 -20
  234. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  235. package/development/datepicker/common/datepicker-button.js +103 -90
  236. package/development/datepicker/common.d.ts +0 -1
  237. package/development/datepicker/common.d.ts.map +1 -1
  238. package/development/datepicker/common.js +4 -6
  239. package/development/datepicker/datepicker/datepicker.component.d.ts +23 -102
  240. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  241. package/development/datepicker/datepicker/datepicker.component.js +94 -337
  242. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  243. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  244. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -6
  245. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  246. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  247. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +18 -6
  248. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  249. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  250. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +137 -224
  251. package/development/datepicker.js +3 -5
  252. package/development/dialog/dialog/dialog.component.d.ts +7 -16
  253. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  254. package/development/dialog/dialog/dialog.component.js +78 -149
  255. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  256. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  257. package/development/dialog/dialog-actions/dialog-actions.component.js +20 -17
  258. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  259. package/development/dialog/dialog-content/dialog-content.component.js +5 -46
  260. package/development/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  261. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  262. package/development/dialog/dialog-title/dialog-title.component.js +12 -179
  263. package/development/divider/divider.component.js +2 -2
  264. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
  265. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -2
  266. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -6
  267. package/development/file-selector/common/file-selector-common.js +2 -3
  268. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  269. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  270. package/development/flip-card/flip-card/flip-card.component.js +7 -13
  271. package/development/flip-card/flip-card-details/flip-card-details.component.js +3 -4
  272. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +3 -4
  273. package/development/footer/footer.component.js +1 -1
  274. package/development/form-error/form-error.component.js +3 -4
  275. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  276. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  277. package/development/form-field/form-field/form-field.component.js +39 -67
  278. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  279. package/development/form-field/form-field-clear/form-field-clear.component.js +6 -8
  280. package/development/header/common/header-action-common.js +1 -1
  281. package/development/header/header/header.component.js +5 -8
  282. package/development/header/header-button/header-button.component.js +1 -1
  283. package/development/header/header-link/header-link.component.js +1 -1
  284. package/development/icon/icon-base.d.ts +5 -3
  285. package/development/icon/icon-base.d.ts.map +1 -1
  286. package/development/icon/icon-base.js +4 -7
  287. package/development/icon/icon-name-mixin.js +1 -1
  288. package/development/icon/icon-request.js +2 -3
  289. package/development/icon/icon-validate.js +1 -1
  290. package/development/icon/icon.component.d.ts +1 -2
  291. package/development/icon/icon.component.d.ts.map +1 -1
  292. package/development/icon/icon.component.js +8 -19
  293. package/development/image/image.component.js +7 -9
  294. package/development/journey-header/journey-header.component.d.ts +5 -5
  295. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  296. package/development/journey-header/journey-header.component.js +26 -40
  297. package/development/lead-container/lead-container.component.js +1 -1
  298. package/development/link/block-link/block-link.component.js +1 -1
  299. package/development/link/block-link-button/block-link-button.component.js +1 -1
  300. package/development/link/block-link-static/block-link-static.component.js +1 -1
  301. package/development/link/common/block-link-common.js +1 -1
  302. package/development/link/common/inline-link-common.js +1 -1
  303. package/development/link/link/link.component.js +1 -1
  304. package/development/link/link-button/link-button.component.js +1 -1
  305. package/development/link/link-static/link-static.component.js +1 -1
  306. package/development/link-common-DPLJx5Uo.js +1 -1
  307. package/development/link-list/common/link-list-base.js +1 -1
  308. package/development/link-list/link-list/link-list.component.js +1 -1
  309. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
  310. package/development/loading-indicator/loading-indicator.component.js +1 -1
  311. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  312. package/development/logo/logo.component.js +1 -1
  313. package/development/map-container/map-container.component.js +2 -3
  314. package/development/menu/common/menu-action-common.js +1 -1
  315. package/development/menu/menu/menu.component.js +17 -25
  316. package/development/menu/menu-button/menu-button.component.js +1 -1
  317. package/development/menu/menu-link/menu-link.component.js +1 -1
  318. package/development/message/message.component.d.ts +4 -8
  319. package/development/message/message.component.d.ts.map +1 -1
  320. package/development/message/message.component.js +12 -54
  321. package/development/navigation/common/navigation-action-common.js +3 -5
  322. package/development/navigation/navigation/navigation.component.js +19 -35
  323. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  324. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  325. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  326. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
  327. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  328. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  329. package/development/navigation/navigation-section/navigation-section.component.js +27 -37
  330. package/development/notification/notification.component.d.ts +7 -9
  331. package/development/notification/notification.component.d.ts.map +1 -1
  332. package/development/notification/notification.component.js +47 -77
  333. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  334. package/development/option/optgroup/optgroup-base-element.js +8 -14
  335. package/development/option/optgroup/optgroup.component.js +6 -10
  336. package/development/option/option/option-base-element.js +3 -4
  337. package/development/option/option/option.component.js +7 -10
  338. package/development/overlay/overlay-base-element.d.ts +24 -6
  339. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  340. package/development/overlay/overlay-base-element.js +114 -15
  341. package/development/overlay/overlay.component.d.ts +2 -12
  342. package/development/overlay/overlay.component.d.ts.map +1 -1
  343. package/development/overlay/overlay.component.js +33 -98
  344. package/development/paginator/common/paginator-common.js +1 -1
  345. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  346. package/development/paginator/paginator/paginator.component.js +2 -3
  347. package/development/popover/popover/popover.component.d.ts +45 -34
  348. package/development/popover/popover/popover.component.d.ts.map +1 -1
  349. package/development/popover/popover/popover.component.js +215 -172
  350. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  351. package/development/popover/popover.js +2 -1
  352. package/development/popover.js +2 -1
  353. package/development/radio-button/common/radio-button-common.js +6 -10
  354. package/development/radio-button/radio-button/radio-button.component.js +2 -5
  355. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  356. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  357. package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
  358. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
  359. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  360. package/development/select/select.component.js +26 -49
  361. package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
  362. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  363. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  364. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
  365. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  366. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  367. package/development/sidebar/sidebar/sidebar.component.js +9 -16
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  369. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  370. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +3 -8
  371. package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
  372. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  373. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  374. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  375. package/development/sidebar/sidebar-title/sidebar-title.component.js +3 -9
  376. package/development/signet/signet.component.js +1 -1
  377. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  378. package/development/skiplink-list/skiplink-list.component.js +19 -10
  379. package/development/slider/slider.component.js +4 -6
  380. package/development/status/status.component.d.ts +4 -7
  381. package/development/status/status.component.d.ts.map +1 -1
  382. package/development/status/status.component.js +23 -56
  383. package/development/stepper/step/step.component.d.ts +2 -1
  384. package/development/stepper/step/step.component.d.ts.map +1 -1
  385. package/development/stepper/step/step.component.js +16 -15
  386. package/development/stepper/step-label/step-label.component.d.ts +3 -3
  387. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  388. package/development/stepper/step-label/step-label.component.js +16 -17
  389. package/development/stepper/stepper/stepper.component.js +16 -29
  390. package/development/table/table-wrapper/table-wrapper.component.js +2 -7
  391. package/development/tabs/tab/tab.component.js +1 -1
  392. package/development/tabs/tab-group/tab-group.component.js +23 -38
  393. package/development/tabs/tab-label/tab-label.component.js +1 -1
  394. package/development/tag/tag/tag.component.js +7 -13
  395. package/development/tag/tag-group/tag-group.component.js +5 -13
  396. package/development/teaser/teaser.component.d.ts +6 -10
  397. package/development/teaser/teaser.component.d.ts.map +1 -1
  398. package/development/teaser/teaser.component.js +48 -76
  399. package/development/teaser-hero/teaser-hero.component.js +1 -1
  400. package/development/teaser-product/common/teaser-product-common.js +1 -1
  401. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  402. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  403. package/development/time-input/time-input.component.js +10 -14
  404. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  405. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  406. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -5
  407. package/development/title/title-base.d.ts +0 -8
  408. package/development/title/title-base.d.ts.map +1 -1
  409. package/development/title/title-base.js +17 -50
  410. package/development/title/title.component.d.ts +2 -0
  411. package/development/title/title.component.d.ts.map +1 -1
  412. package/development/title/title.component.js +9 -14
  413. package/development/toast/toast.component.d.ts.map +1 -1
  414. package/development/toast/toast.component.js +7 -16
  415. package/development/toggle/toggle/toggle.component.js +28 -30
  416. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  417. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  418. package/development/toggle/toggle-option/toggle-option.component.js +12 -19
  419. package/development/toggle-check/toggle-check.component.js +1 -1
  420. package/development/train/train/train.component.js +1 -1
  421. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  422. package/development/train/train-formation/train-formation.component.js +5 -7
  423. package/development/train/train-wagon/train-wagon.component.js +1 -1
  424. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  425. package/dialog/dialog/dialog.component.d.ts +7 -16
  426. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  427. package/dialog/dialog/dialog.component.js +57 -87
  428. package/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  429. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  430. package/dialog/dialog-actions/dialog-actions.component.js +16 -16
  431. package/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  432. package/dialog/dialog-content/dialog-content.component.js +14 -19
  433. package/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  434. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  435. package/dialog/dialog-title/dialog-title.component.js +16 -111
  436. package/divider/divider.component.js +3 -3
  437. package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
  438. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  439. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +30 -31
  440. package/file-selector/common/file-selector-common.js +1 -2
  441. package/flip-card/flip-card/flip-card.component.js +48 -54
  442. package/flip-card/flip-card-details/flip-card-details.component.js +15 -16
  443. package/flip-card/flip-card-summary/flip-card-summary.component.js +19 -20
  444. package/form-error/form-error.component.js +13 -14
  445. package/form-field/form-field/form-field.component.d.ts +1 -1
  446. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  447. package/form-field/form-field/form-field.component.js +149 -168
  448. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  449. package/form-field/form-field-clear/form-field-clear.component.js +19 -21
  450. package/header/header/header.component.js +26 -29
  451. package/icon/icon-base.d.ts +5 -3
  452. package/icon/icon-base.d.ts.map +1 -1
  453. package/icon/icon-base.js +32 -34
  454. package/icon/icon-request.js +10 -11
  455. package/icon/icon.component.d.ts +1 -2
  456. package/icon/icon.component.d.ts.map +1 -1
  457. package/icon/icon.component.js +37 -37
  458. package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
  459. package/image/image.component.js +4 -6
  460. package/journey-header/journey-header.component.d.ts +5 -5
  461. package/journey-header/journey-header.component.d.ts.map +1 -1
  462. package/journey-header/journey-header.component.js +50 -63
  463. package/map-container/map-container.component.js +1 -2
  464. package/menu/menu/menu.component.js +47 -55
  465. package/message/message.component.d.ts +4 -8
  466. package/message/message.component.d.ts.map +1 -1
  467. package/message/message.component.js +18 -47
  468. package/navigation/common/navigation-action-common.js +19 -21
  469. package/navigation/navigation/navigation.component.js +73 -92
  470. package/navigation/navigation-marker/navigation-marker.component.js +26 -28
  471. package/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  472. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  473. package/navigation/navigation-section/navigation-section.component.js +72 -82
  474. package/notification/notification.component.d.ts +7 -9
  475. package/notification/notification.component.d.ts.map +1 -1
  476. package/notification/notification.component.js +77 -95
  477. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  478. package/option/optgroup/optgroup-base-element.js +36 -38
  479. package/option/optgroup/optgroup.component.js +16 -20
  480. package/option/option/option-base-element.js +3 -4
  481. package/option/option/option.component.js +26 -29
  482. package/overlay/overlay-base-element.d.ts +24 -6
  483. package/overlay/overlay-base-element.d.ts.map +1 -1
  484. package/overlay/overlay-base-element.js +98 -51
  485. package/overlay/overlay.component.d.ts +2 -12
  486. package/overlay/overlay.component.d.ts.map +1 -1
  487. package/overlay/overlay.component.js +57 -95
  488. package/package.json +1 -1
  489. package/paginator/paginator/paginator.component.js +3 -4
  490. package/popover/popover/popover.component.d.ts +45 -34
  491. package/popover/popover/popover.component.d.ts.map +1 -1
  492. package/popover/popover/popover.component.js +194 -168
  493. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  494. package/popover/popover.js +2 -1
  495. package/popover.js +5 -4
  496. package/radio-button/common/radio-button-common.js +11 -15
  497. package/radio-button/radio-button/radio-button.component.js +16 -19
  498. package/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  499. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  500. package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
  501. package/radio-button/radio-button-panel/radio-button-panel.component.js +33 -37
  502. package/select/select.component.js +94 -117
  503. package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
  504. package/sidebar/common.js +1 -1
  505. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
  506. package/sidebar/sidebar/sidebar.component.js +62 -69
  507. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  508. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  509. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +18 -18
  510. package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
  511. package/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  512. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  513. package/sidebar/sidebar-title/sidebar-title.component.js +16 -16
  514. package/sidebar.js +1 -1
  515. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  516. package/skiplink-list/skiplink-list.component.js +36 -39
  517. package/slider/slider.component.js +11 -13
  518. package/standard-theme.css +29 -26
  519. package/status/status.component.d.ts +4 -7
  520. package/status/status.component.d.ts.map +1 -1
  521. package/status/status.component.js +34 -50
  522. package/stepper/step/step.component.d.ts +2 -1
  523. package/stepper/step/step.component.d.ts.map +1 -1
  524. package/stepper/step/step.component.js +26 -24
  525. package/stepper/step-label/step-label.component.d.ts +3 -3
  526. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  527. package/stepper/step-label/step-label.component.js +15 -15
  528. package/stepper/stepper/stepper.component.js +72 -86
  529. package/table/table-wrapper/table-wrapper.component.js +17 -18
  530. package/table.css +0 -25
  531. package/tabs/tab-group/tab-group.component.js +77 -92
  532. package/tabs/tab-label/tab-label.component.js +12 -12
  533. package/tag/tag/tag.component.js +49 -55
  534. package/tag/tag-group/tag-group.component.js +37 -45
  535. package/teaser/teaser.component.d.ts +6 -10
  536. package/teaser/teaser.component.d.ts.map +1 -1
  537. package/teaser/teaser.component.js +45 -68
  538. package/teaser-product/common.js +1 -1
  539. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  540. package/teaser-product-common-C8oSkIxy.js +5 -0
  541. package/teaser-product.js +1 -1
  542. package/time-input/time-input.component.js +29 -33
  543. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  544. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +22 -25
  545. package/title/title-base.d.ts +0 -8
  546. package/title/title-base.d.ts.map +1 -1
  547. package/title/title-base.js +34 -53
  548. package/title/title.component.d.ts +2 -0
  549. package/title/title.component.d.ts.map +1 -1
  550. package/title/title.component.js +9 -9
  551. package/toast/toast.component.d.ts.map +1 -1
  552. package/toast/toast.component.js +6 -9
  553. package/toggle/toggle/toggle.component.js +36 -40
  554. package/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  555. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  556. package/toggle/toggle-option/toggle-option.component.js +44 -51
  557. package/train/train-formation/train-formation.component.js +41 -43
  558. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
  559. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
  560. package/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  561. package/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  562. package/datepicker/common/datepicker-association-controllers.js +0 -58
  563. package/development/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  564. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  565. package/development/datepicker/common/datepicker-association-controllers.js +0 -82
  566. package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
  567. package/teaser-product-common-CpMAlYEp.js +0 -5
@@ -1,5 +1,12 @@
1
1
  import { CSSResultGroup, LitElement, PropertyDeclaration } from 'lit';
2
2
  import { SbbDatepickerElement } from '../datepicker.js';
3
+ /**
4
+ * Interface for elements that can be associated with a date input.
5
+ * Implementing classes must also have a static property `sbbDateInputAssociated` set to `true`.
6
+ */
7
+ export interface SbbDateInputAssociated<T> {
8
+ input: SbbDateInputElement<T> | null;
9
+ }
3
10
  declare const SbbDateInputElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbFormAssociatedInputMixinType> & typeof LitElement;
4
11
  /**
5
12
  * Custom input for a date.
@@ -28,7 +35,11 @@ export declare class SbbDateInputElement<T = Date> extends SbbDateInputElement_b
28
35
  * Accepts an ISO8601 formatted string (e.g. 2024-12-24) as attribute.
29
36
  */
30
37
  accessor max: T | null;
31
- /** A function used to filter out dates. */
38
+ /**
39
+ * A function used to filter out dates.
40
+ * It is strongly recommended to use min and max dates alongside
41
+ * this filter.
42
+ */
32
43
  set dateFilter(value: (date: T | null) => boolean);
33
44
  get dateFilter(): (date: T | null) => boolean;
34
45
  /**
@@ -50,6 +61,10 @@ export declare class SbbDateInputElement<T = Date> extends SbbDateInputElement_b
50
61
  */
51
62
  get datepicker(): SbbDatepickerElement<T> | null;
52
63
  constructor();
64
+ /**
65
+ * Attempts to resolve the associated date input with the given element.
66
+ */
67
+ static resolveAssociation<T>(host: HTMLElement & SbbDateInputAssociated<T>): void;
53
68
  private _dateFilter;
54
69
  connectedCallback(): void;
55
70
  requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;;AAY7D;;;GAGG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC,2CAA2C;IAC3C,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAKvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAQzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
1
+ {"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtC;;AAED;;;GAGG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAEvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD;;OAEG;WACW,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAaxF,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAmBzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
@@ -2,10 +2,10 @@ var I = (a) => {
2
2
  throw TypeError(a);
3
3
  };
4
4
  var z = (a, s, i) => s.has(a) || I("Cannot " + i);
5
- var p = (a, s, i) => (z(a, s, "read from private field"), i ? i.call(a) : s.get(a)), f = (a, s, i) => s.has(a) ? I("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(a) : s.set(a, i), n = (a, s, i, d) => (z(a, s, "write to private field"), d ? d.call(a, i) : s.set(a, i), i);
6
- import { __esDecorate as m, __runInitializers as h } from "tslib";
7
- import { css as U, LitElement as j, isServer as q } from "lit";
8
- import { customElement as T, property as _ } from "lit/decorators.js";
5
+ var _ = (a, s, i) => (z(a, s, "read from private field"), i ? i.call(a) : s.get(a)), f = (a, s, i) => s.has(a) ? I("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(a) : s.set(a, i), o = (a, s, i, n) => (z(a, s, "write to private field"), n ? n.call(a, i) : s.set(a, i), i);
6
+ import { __esDecorate as m, __runInitializers as d } from "tslib";
7
+ import { css as U, LitElement as q, isServer as j } from "lit";
8
+ import { customElement as T, property as p } from "lit/decorators.js";
9
9
  import { readConfig as L } from "../core/config.js";
10
10
  import { defaultDateAdapter as G } from "../core/datetime.js";
11
11
  import { plainDate as C, plainDateConverter as M } from "../core/decorators.js";
@@ -17,17 +17,16 @@ Object.assign(ValidityState.prototype, {
17
17
  return !1;
18
18
  }
19
19
  });
20
- let ae = (() => {
21
- var o, u, c, r;
22
- let a = [T("sbb-date-input")], s, i = [], d, y = B(j), v = [], D, A, g = [], b = [], k, x = [], F = [], w, V, S = [], E = [];
20
+ let at = (() => {
21
+ var h, u, c, r;
22
+ let a = [T("sbb-date-input")], s, i = [], n, y = B(q), v = [], D, A, b = [], g = [], x, k = [], F = [], w, S, V = [], E = [];
23
23
  return r = class extends y {
24
24
  constructor() {
25
- var e, t;
26
25
  super();
27
- f(this, o);
26
+ f(this, h);
28
27
  f(this, u);
29
28
  f(this, c);
30
- this._valueAsDate = h(this, v), n(this, o, h(this, g, null)), n(this, u, (h(this, b), h(this, x, null))), n(this, c, (h(this, F), h(this, S, "short"))), this._valueCache = h(this, E), this._dateAdapter = ((e = L().datetime) == null ? void 0 : e.dateAdapter) ?? G, this._placeholderMutable = !1, this._dateFilter = () => !0, (t = this.addEventListener) == null || t.call(this, "change", () => this._updateValueDateFormat(), { capture: !0 });
29
+ this._valueAsDate = d(this, v), o(this, h, d(this, b, null)), o(this, u, (d(this, g), d(this, k, null))), o(this, c, (d(this, F), d(this, V, "short"))), this._valueCache = d(this, E), this._dateAdapter = L().datetime?.dateAdapter ?? G, this._placeholderMutable = !1, this._dateFilter = () => !0, this.addEventListener?.("change", () => this._updateValueDateFormat(), { capture: !0 });
31
30
  }
32
31
  /**
33
32
  * The value of the date input. Reflects the current text value
@@ -35,19 +34,19 @@ let ae = (() => {
35
34
  * The attribute `value` Accepts ISO8601 formatted values, which will be
36
35
  * formatted according to the current locale.
37
36
  */
38
- set value(e) {
39
- this._tryParseValue(e), !q && !this.matches(":focus") && this.valueAsDate !== null && (e = this._formatDate()), super.value = e;
37
+ set value(t) {
38
+ this._tryParseValue(t), !j && !this.matches(":focus") && this.valueAsDate !== null && (t = this._formatDate()), super.value = t;
40
39
  }
41
40
  get value() {
42
41
  return super.value ?? "";
43
42
  }
44
- set valueAsDate(e) {
45
- if (e = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e)), !e)
43
+ set valueAsDate(t) {
44
+ if (t = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)), !t)
46
45
  this._valueAsDate = null, this._valueCache = ["", null], this.value = "";
47
- else if (!this._dateAdapter.isDateInstance(this._valueAsDate) || this._dateAdapter.compareDate(this._valueAsDate, e) !== 0) {
48
- this._valueAsDate = this._dateAdapter.createDate(this._dateAdapter.getYear(e), this._dateAdapter.getMonth(e), this._dateAdapter.getDate(e));
49
- const t = this._formatDate();
50
- this._valueCache = [t, this._valueAsDate], this.value = t;
46
+ else if (!this._dateAdapter.isDateInstance(this._valueAsDate) || this._dateAdapter.compareDate(this._valueAsDate, t) !== 0) {
47
+ this._valueAsDate = this._dateAdapter.createDate(this._dateAdapter.getYear(t), this._dateAdapter.getMonth(t), this._dateAdapter.getDate(t));
48
+ const e = this._formatDate();
49
+ this._valueCache = [e, this._valueAsDate], this.value = e;
51
50
  }
52
51
  }
53
52
  get valueAsDate() {
@@ -58,24 +57,28 @@ let ae = (() => {
58
57
  * Accepts an ISO8601 formatted string (e.g. 2024-12-24) as attribute.
59
58
  */
60
59
  get min() {
61
- return p(this, o);
60
+ return _(this, h);
62
61
  }
63
- set min(e) {
64
- n(this, o, e);
62
+ set min(t) {
63
+ o(this, h, t);
65
64
  }
66
65
  /**
67
66
  * The maximum valid date. Accepts a date object or null.
68
67
  * Accepts an ISO8601 formatted string (e.g. 2024-12-24) as attribute.
69
68
  */
70
69
  get max() {
71
- return p(this, u);
70
+ return _(this, u);
72
71
  }
73
- set max(e) {
74
- n(this, u, e);
72
+ set max(t) {
73
+ o(this, u, t);
75
74
  }
76
- /** A function used to filter out dates. */
77
- set dateFilter(e) {
78
- this._dateFilter = e, this.datepicker && (this.datepicker.dateFilter = e);
75
+ /**
76
+ * A function used to filter out dates.
77
+ * It is strongly recommended to use min and max dates alongside
78
+ * this filter.
79
+ */
80
+ set dateFilter(t) {
81
+ this._dateFilter = t;
79
82
  }
80
83
  get dateFilter() {
81
84
  return this._dateFilter;
@@ -86,10 +89,10 @@ let ae = (() => {
86
89
  * `none`: The weekday is not displayed.
87
90
  */
88
91
  get weekdayStyle() {
89
- return p(this, c);
92
+ return _(this, c);
90
93
  }
91
- set weekdayStyle(e) {
92
- n(this, c, e);
94
+ set weekdayStyle(t) {
95
+ o(this, c, t);
93
96
  }
94
97
  /**
95
98
  * Gets the associated datepicker, if any.
@@ -98,54 +101,64 @@ let ae = (() => {
98
101
  get datepicker() {
99
102
  return this.parentElement.querySelector("sbb-datepicker");
100
103
  }
104
+ /**
105
+ * Attempts to resolve the associated date input with the given element.
106
+ */
107
+ static resolveAssociation(t) {
108
+ if (t.hasAttribute("input") || t.input)
109
+ return;
110
+ const e = t.closest("sbb-form-field")?.querySelector("sbb-date-input");
111
+ e && (t.input = e);
112
+ }
101
113
  connectedCallback() {
102
114
  super.connectedCallback(), this.placeholder || (this._placeholderMutable = !0, this.placeholder = O[this.language.current]);
115
+ for (const t of Array.from(this.closest("sbb-form-field")?.children ?? []))
116
+ customElements.upgrade?.(t), t.constructor.sbbDateInputAssociated && !t.hasAttribute("input") && !t.input && (t.input = this);
103
117
  }
104
- requestUpdate(e, t, l) {
105
- super.requestUpdate(e, t, l), this.hasUpdated && !e ? (this._updateValueDateFormat(), this._placeholderMutable && (this.placeholder = O[this.language.current])) : e === "weekdayStyle" && this._updateValueDateFormat(), this.hasUpdated && this.dispatchEvent(new Event("ɵchange"));
118
+ requestUpdate(t, e, l) {
119
+ super.requestUpdate(t, e, l), this.hasUpdated && !t ? (this._updateValueDateFormat(), this._placeholderMutable && (this.placeholder = O[this.language.current])) : t === "weekdayStyle" && this._updateValueDateFormat(), this.isConnected && this.dispatchEvent(new Event("ɵchange"));
106
120
  }
107
121
  updateFormValue() {
108
122
  this._tryParseValue();
109
- const e = this.valueAsDate !== null ? this._dateAdapter.toIso8601(this.valueAsDate) : null;
110
- this.internals.setFormValue(e, this.value);
123
+ const t = this.valueAsDate !== null ? this._dateAdapter.toIso8601(this.valueAsDate) : null;
124
+ this.internals.setFormValue(t, this.value);
111
125
  }
112
- _tryParseValue(e = this.value) {
113
- var t;
114
- ((t = this._valueCache) == null ? void 0 : t[0]) !== e && (this._valueAsDate = this._dateAdapter.parse(e), this._valueCache = [e, this._valueAsDate]);
126
+ _tryParseValue(t = this.value) {
127
+ this._valueCache?.[0] !== t && (this._valueAsDate = this._dateAdapter.parse(t), this._valueCache = [t, this._valueAsDate]);
115
128
  }
116
129
  _updateValueDateFormat() {
117
130
  if (this.valueAsDate) {
118
- const e = this._formatDate();
119
- this.value !== e && (super.value = e);
131
+ const t = this._formatDate();
132
+ this.value !== t && (super.value = t);
120
133
  }
121
134
  }
122
135
  _formatDate() {
123
136
  return this._dateAdapter.format(this.valueAsDate, { weekdayStyle: this.weekdayStyle });
124
137
  }
125
- shouldValidate(e) {
126
- return super.shouldValidate(e) || ["valueAsDate", "min", "max", "dateFilter"].includes(e);
138
+ shouldValidate(t) {
139
+ return super.shouldValidate(t) || ["valueAsDate", "min", "max", "dateFilter"].includes(t);
127
140
  }
128
141
  validate() {
129
142
  super.validate(), this.value ? this._dateAdapter.isValid(this.valueAsDate) ? this._dateAdapter.isValid(this.min) && this._dateAdapter.compareDate(this.min, this.valueAsDate) > 0 ? this.setValidityFlag("rangeUnderflow", N(this._dateAdapter.format(this.min, { weekdayStyle: "none" }))[this.language.current]) : this._dateAdapter.isValid(this.max) && this._dateAdapter.compareDate(this.valueAsDate, this.max) > 0 ? this.setValidityFlag("rangeOverflow", Y(this._dateAdapter.format(this.max, { weekdayStyle: "none" }))[this.language.current]) : this.dateFilter && !this.dateFilter(this.valueAsDate) ? this.setValidityFlag("sbbDateFilter", P[this.language.current]) : this._removeValidityErrors() : this.setValidityFlag("badInput", P[this.language.current]) : this._removeValidityErrors();
130
143
  }
131
144
  _removeValidityErrors() {
132
- ["badInput", "rangeUnderflow", "rangeOverflow", "sbbDateFilter"].forEach((e) => this.removeValidityFlag(e));
133
- }
134
- }, o = new WeakMap(), u = new WeakMap(), c = new WeakMap(), d = r, (() => {
135
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
136
- D = [_({ attribute: !1 })], A = [C(), _({ converter: M, reflect: !0 })], k = [C(), _({ converter: M, reflect: !0 })], w = [_({ attribute: !1 })], V = [_({ attribute: "weekday-style" })], m(r, null, D, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (t) => "valueAsDate" in t, set: (t, l) => {
137
- t.valueAsDate = l;
138
- } }, metadata: e }, null, v), m(r, null, A, { kind: "accessor", name: "min", static: !1, private: !1, access: { has: (t) => "min" in t, get: (t) => t.min, set: (t, l) => {
139
- t.min = l;
140
- } }, metadata: e }, g, b), m(r, null, k, { kind: "accessor", name: "max", static: !1, private: !1, access: { has: (t) => "max" in t, get: (t) => t.max, set: (t, l) => {
141
- t.max = l;
142
- } }, metadata: e }, x, F), m(r, null, w, { kind: "setter", name: "dateFilter", static: !1, private: !1, access: { has: (t) => "dateFilter" in t, set: (t, l) => {
143
- t.dateFilter = l;
144
- } }, metadata: e }, null, v), m(r, null, V, { kind: "accessor", name: "weekdayStyle", static: !1, private: !1, access: { has: (t) => "weekdayStyle" in t, get: (t) => t.weekdayStyle, set: (t, l) => {
145
- t.weekdayStyle = l;
146
- } }, metadata: e }, S, E), m(null, s = { value: d }, a, { kind: "class", name: d.name, metadata: e }, null, i), d = s.value, e && Object.defineProperty(d, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
147
- })(), r.styles = H, h(d, i), d;
145
+ ["badInput", "rangeUnderflow", "rangeOverflow", "sbbDateFilter"].forEach((t) => this.removeValidityFlag(t));
146
+ }
147
+ }, h = new WeakMap(), u = new WeakMap(), c = new WeakMap(), n = r, (() => {
148
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
149
+ D = [p({ attribute: !1 })], A = [C(), p({ converter: M, reflect: !0 })], x = [C(), p({ converter: M, reflect: !0 })], w = [p({ attribute: !1 })], S = [p({ attribute: "weekday-style" })], m(r, null, D, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (e) => "valueAsDate" in e, set: (e, l) => {
150
+ e.valueAsDate = l;
151
+ } }, metadata: t }, null, v), m(r, null, A, { kind: "accessor", name: "min", static: !1, private: !1, access: { has: (e) => "min" in e, get: (e) => e.min, set: (e, l) => {
152
+ e.min = l;
153
+ } }, metadata: t }, b, g), m(r, null, x, { kind: "accessor", name: "max", static: !1, private: !1, access: { has: (e) => "max" in e, get: (e) => e.max, set: (e, l) => {
154
+ e.max = l;
155
+ } }, metadata: t }, k, F), m(r, null, w, { kind: "setter", name: "dateFilter", static: !1, private: !1, access: { has: (e) => "dateFilter" in e, set: (e, l) => {
156
+ e.dateFilter = l;
157
+ } }, metadata: t }, null, v), m(r, null, S, { kind: "accessor", name: "weekdayStyle", static: !1, private: !1, access: { has: (e) => "weekdayStyle" in e, get: (e) => e.weekdayStyle, set: (e, l) => {
158
+ e.weekdayStyle = l;
159
+ } }, metadata: t }, V, E), m(null, s = { value: n }, a, { kind: "class", name: n.name, metadata: t }, null, i), n = s.value, t && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
160
+ })(), r.styles = H, d(n, i), n;
148
161
  })();
149
162
  export {
150
- ae as SbbDateInputElement
163
+ at as SbbDateInputElement
151
164
  };
@@ -1,31 +1,42 @@
1
- import { PropertyValues, TemplateResult } from 'lit';
1
+ import { PropertyDeclaration, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
- import { SbbDatepickerElement } from '../datepicker.js';
4
- import { SbbDatepickerControl } from './datepicker-association-controllers.js';
5
- declare const SbbDatepickerButton_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof SbbButtonBaseElement;
6
- export declare abstract class SbbDatepickerButton<T = Date> extends SbbDatepickerButton_base implements SbbDatepickerControl<T> {
7
- /** Datepicker reference. */
8
- set datepicker(value: SbbDatepickerElement<T> | null);
9
- get datepicker(): SbbDatepickerElement<T> | null;
10
- private _datepicker?;
11
- /** The boundary date (min/max) as set in the date-picker's input. */
12
- protected accessor boundary: string | number | null;
13
- /** Whether the component is disabled due date equals to boundary date. */
14
- private _disabled;
3
+ import { SbbLanguageController } from '../../core/controllers.js';
4
+ import { DateAdapter } from '../../core/datetime.js';
5
+ import { SbbDateInputElement, SbbDateInputAssociated } from '../../date-input.js';
6
+ declare const SbbDatepickerButtonBase_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof SbbButtonBaseElement;
7
+ export declare abstract class SbbDatepickerButtonBase<T = Date> extends SbbDatepickerButtonBase_base implements SbbDateInputAssociated<T> {
8
+ static readonly sbbDateInputAssociated = true;
9
+ /**
10
+ * The associated date input element.
11
+ *
12
+ * For attribute usage, provide an id reference.
13
+ */
14
+ accessor input: SbbDateInputElement<T> | null;
15
+ /** Whether this button is disabled. */
16
+ get disabled(): boolean;
15
17
  /** Whether the component is disabled due date-picker's input disabled. */
16
18
  private _inputDisabled;
17
- private _dateAdapter;
18
- private _language;
19
+ private _inputAbortController?;
20
+ protected dateAdapter: DateAdapter<T>;
21
+ protected language: SbbLanguageController;
19
22
  protected abstract iconName: string;
23
+ connectedCallback(): void;
24
+ requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
25
+ private _findSlotPosition;
26
+ private _sync;
27
+ protected syncDateInputState(): void;
28
+ protected renderTemplate(): TemplateResult;
29
+ }
30
+ export declare abstract class SbbDatepickerButton<T = Date> extends SbbDatepickerButtonBase<T> {
31
+ /** Whether the component is disabled due date equals to boundary date. */
32
+ private _disabled;
20
33
  protected abstract i18nOffBoundaryDay: Record<string, string>;
21
34
  protected abstract i18nSelectOffBoundaryDay: (_currentDate: string) => Record<string, string>;
35
+ get disabled(): boolean;
22
36
  constructor();
23
- protected abstract findAvailableDate(_date: T): T;
24
- connectedCallback(): void;
25
- protected willUpdate(changedProperties: PropertyValues<this>): void;
37
+ protected abstract findAvailableDate(_date: T): T | null;
26
38
  private _handleClick;
27
- private _setDisabledRenderAttributes;
28
- protected renderTemplate(): TemplateResult;
39
+ protected syncDateInputState(): void;
29
40
  }
30
41
  export {};
31
42
  //# sourceMappingURL=datepicker-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-button.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/common/datepicker-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,eAAe,CAAC;;AAMvB,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAChD,SAAQ,wBACR,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAElC,4BAA4B;IAC5B,IACW,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAO1D;IACD,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;IACD,OAAO,CAAC,WAAW,CAAC,CAAiC;IAErD,qEAAqE;IAC5D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IAEpE,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAS;IAE1B,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,SAAS,CAAmC;IAEpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;IAQ9F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;IAEjC,iBAAiB,IAAI,IAAI;cAQtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA2B5E,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,4BAA4B;cAYjB,cAAc,IAAI,cAAc;CAGpD"}
1
+ {"version":3,"file":"datepicker-button.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/common/datepicker-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AAI9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,eAAe,CAAC;;AAEvB,8BAAsB,uBAAuB,CAAC,CAAC,GAAG,IAAI,CACpD,SAAQ,4BACR,YAAW,sBAAsB,CAAC,CAAC,CAAC;IAEpC,gBAAuB,sBAAsB,QAAQ;IAErD;;;;OAIG;IACH,SAEgB,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAE5D,uCAAuC;IACvC,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAA4D;IACjG,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEpB,iBAAiB,IAAI,IAAI;IAYzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAuBP,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,KAAK;IAUb,SAAS,CAAC,kBAAkB,IAAI,IAAI;cAIjB,cAAc,IAAI,cAAc;CAGpD;AAED,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IACpF,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAQ;IAEzB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9F,IAAoB,QAAQ,IAAI,OAAO,CAEtC;;IAOD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAExD,OAAO,CAAC,YAAY;cAgBD,kBAAkB,IAAI,IAAI;CAmB9C"}
@@ -1,91 +1,96 @@
1
- var m = (a) => {
2
- throw TypeError(a);
1
+ var l = (e) => {
2
+ throw TypeError(e);
3
3
  };
4
- var f = (a, s, r) => s.has(a) || m("Cannot " + r);
5
- var _ = (a, s, r) => (f(a, s, "read from private field"), r ? r.call(a) : s.get(a)), A = (a, s, r) => s.has(a) ? m("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(a) : s.set(a, r), c = (a, s, r, l) => (f(a, s, "write to private field"), l ? l.call(a, r) : s.set(a, r), r);
6
- import { __esDecorate as k, __runInitializers as u } from "tslib";
7
- import { html as D } from "lit";
8
- import { property as g, state as y } from "lit/decorators.js";
9
- import { SbbButtonBaseElement as v } from "../../core/base-elements.js";
10
- import { readConfig as E } from "../../core/config.js";
11
- import { SbbLanguageController as w } from "../../core/controllers.js";
12
- import { defaultDateAdapter as S } from "../../core/datetime.js";
13
- import { i18nToday as C } from "../../core/i18n.js";
14
- import { SbbNegativeMixin as x } from "../../core/mixins.js";
15
- import { SbbDatepickerAssociationControlController as I } from "./datepicker-association-controllers.js";
4
+ var p = (e, t, i) => t.has(e) || l("Cannot " + i);
5
+ var h = (e, t, i) => (p(e, t, "read from private field"), i ? i.call(e) : t.get(e)), c = (e, t, i) => t.has(e) ? l("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, i), o = (e, t, i, u) => (p(e, t, "write to private field"), u ? u.call(e, i) : t.set(e, i), i);
6
+ import { __runInitializers as b, __esDecorate as m } from "tslib";
7
+ import { html as f } from "lit";
8
+ import { property as g } from "lit/decorators.js";
9
+ import { SbbButtonBaseElement as A } from "../../core/base-elements.js";
10
+ import { readConfig as D } from "../../core/config.js";
11
+ import { SbbLanguageController as _ } from "../../core/controllers.js";
12
+ import { defaultDateAdapter as v } from "../../core/datetime.js";
13
+ import { idReference as y } from "../../core/decorators.js";
14
+ import { i18nToday as S } from "../../core/i18n.js";
15
+ import { SbbNegativeMixin as E } from "../../core/mixins.js";
16
+ import { SbbDateInputElement as I } from "../../date-input.js";
16
17
  import "../../icon.js";
17
- const O = (a) => (a == null ? void 0 : a.localName) === "sbb-date-input";
18
- let V = (() => {
19
- var n, d;
20
- let a = x(v), s = [], r, l, b = [], h = [];
21
- return d = class extends a {
18
+ let C = (() => {
19
+ var r, a;
20
+ let e = E(A), t, i = [], u = [];
21
+ return a = class extends e {
22
22
  constructor() {
23
- var t, e;
24
- super();
25
- A(this, n);
26
- this._datepicker = u(this, s), c(this, n, u(this, b, null)), this._disabled = (u(this, h), !1), this._inputDisabled = !1, this._dateAdapter = ((t = E().datetime) == null ? void 0 : t.dateAdapter) ?? S, this._language = new w(this), this.addController(new I(this)), (e = this.addEventListener) == null || e.call(this, "click", () => this._handleClick());
23
+ super(...arguments);
24
+ c(this, r);
25
+ o(this, r, b(this, i, null)), this._inputDisabled = (b(this, u), !0), this.dateAdapter = D().datetime?.dateAdapter ?? v, this.language = new _(this);
27
26
  }
28
- /** Datepicker reference. */
29
- set datepicker(t) {
30
- var e, i, o;
31
- this._datepicker = typeof t == "string" ? (
32
- // In case the value is a string, it should be treated as an id reference
33
- // and attempt to be resolved.
34
- ((o = (i = (e = this.getRootNode) == null ? void 0 : e.call(this)) == null ? void 0 : i.querySelector) == null ? void 0 : o.call(i, `#${t}`)) ?? null
35
- ) : t;
27
+ /**
28
+ * The associated date input element.
29
+ *
30
+ * For attribute usage, provide an id reference.
31
+ */
32
+ get input() {
33
+ return h(this, r);
36
34
  }
37
- get datepicker() {
38
- return this._datepicker ?? null;
35
+ set input(s) {
36
+ o(this, r, s);
39
37
  }
40
- /** The boundary date (min/max) as set in the date-picker's input. */
41
- get boundary() {
42
- return _(this, n);
43
- }
44
- set boundary(t) {
45
- c(this, n, t);
38
+ /** Whether this button is disabled. */
39
+ get disabled() {
40
+ return !!this._inputDisabled;
46
41
  }
47
42
  connectedCallback() {
48
- var e, i;
49
- super.connectedCallback();
50
- const t = ((e = this.closest) == null ? void 0 : e.call(this, "sbb-form-field")) ?? ((i = this.closest) == null ? void 0 : i.call(this, "[data-form-field]"));
51
- t && (this.negative = t.hasAttribute("negative"));
43
+ super.connectedCallback(), this.toggleAttribute("disabled", this.disabled);
44
+ const s = this.closest?.("sbb-form-field");
45
+ s && (customElements.upgrade?.(s), this.negative = s.negative, I.resolveAssociation(this), this.slot ||= this._findSlotPosition());
46
+ }
47
+ requestUpdate(s, n, d) {
48
+ super.requestUpdate(s, n, d), s === "input" && this.input !== n ? (this._inputAbortController?.abort(), this._inputDisabled = !0, this.input && (this._inputAbortController = new AbortController(), this.slot = this._findSlotPosition(), customElements.upgrade?.(this.input), this._sync(), this.input.addEventListener("ɵchange", () => this._sync())), this.hasUpdated && this.toggleAttribute("disabled", this.disabled)) : !s && this.hasUpdated && this.input && this._sync();
52
49
  }
53
- willUpdate(t) {
54
- var o, p;
55
- if (super.willUpdate(t), !this.datepicker || !this._dateAdapter.isValid(this.datepicker.valueAsDate)) {
56
- this._disabled = !0, this.setAttribute("aria-label", this.i18nOffBoundaryDay[this._language.current]), this._setDisabledRenderAttributes();
57
- return;
58
- }
59
- const e = this.findAvailableDate(this.datepicker.valueAsDate);
60
- this._disabled = this._dateAdapter.compareDate(e, this.datepicker.valueAsDate) === 0, this._inputDisabled = (((o = this.datepicker.inputElement) == null ? void 0 : o.disabled) || ((p = this.datepicker.inputElement) == null ? void 0 : p.readOnly)) ?? !0, this._setDisabledRenderAttributes();
61
- const i = this._dateAdapter.compareDate(this.datepicker.now, this.datepicker.valueAsDate) === 0 ? C[this._language.current].toLowerCase() : this._dateAdapter.getAccessibilityFormatDate(this.datepicker.valueAsDate);
62
- this.setAttribute("aria-label", this.i18nSelectOffBoundaryDay(i)[this._language.current]);
50
+ _findSlotPosition() {
51
+ return !this.input || this.compareDocumentPosition(this.input) & Node.DOCUMENT_POSITION_FOLLOWING ? "prefix" : "suffix";
63
52
  }
64
- _handleClick() {
65
- if (!this.datepicker || this.hasAttribute("data-disabled"))
66
- return;
67
- const t = this.datepicker.valueAsDate ?? this.datepicker.now, e = this.findAvailableDate(t);
68
- if (this._dateAdapter.compareDate(e, t) !== 0) {
69
- const i = this.datepicker.inputElement;
70
- O(i) ? (i.valueAsDate = e, i.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), i.dispatchEvent(new Event("change", { bubbles: !0, composed: !0 })), i.dispatchEvent(new Event("blur", { composed: !0 }))) : this.datepicker.valueAsDate = e;
71
- }
53
+ _sync() {
54
+ this.syncDateInputState(), this.toggleAttribute("disabled", this.disabled), this.disabled ? this.removeAttribute("tabindex") : this.setAttribute("tabindex", "0");
72
55
  }
73
- _setDisabledRenderAttributes() {
74
- const t = this._disabled || this._inputDisabled;
75
- this.toggleAttribute("data-disabled", t), t ? (this.setAttribute("aria-disabled", "true"), this.removeAttribute("tabindex")) : (this.removeAttribute("aria-disabled"), this.setAttribute("tabindex", "0"));
56
+ syncDateInputState() {
57
+ this._inputDisabled = this.input.disabled || this.input.readOnly;
76
58
  }
77
59
  renderTemplate() {
78
- return D`<sbb-icon name=${this.iconName}></sbb-icon>`;
60
+ return f`<sbb-icon name=${this.iconName}></sbb-icon>`;
79
61
  }
80
- }, n = new WeakMap(), (() => {
81
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(a[Symbol.metadata] ?? null) : void 0;
82
- r = [g({ attribute: "datepicker" })], l = [y()], k(d, null, r, { kind: "setter", name: "datepicker", static: !1, private: !1, access: { has: (e) => "datepicker" in e, set: (e, i) => {
83
- e.datepicker = i;
84
- } }, metadata: t }, null, s), k(d, null, l, { kind: "accessor", name: "boundary", static: !1, private: !1, access: { has: (e) => "boundary" in e, get: (e) => e.boundary, set: (e, i) => {
85
- e.boundary = i;
86
- } }, metadata: t }, b, h), t && Object.defineProperty(d, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
87
- })(), d;
62
+ }, r = new WeakMap(), (() => {
63
+ const s = typeof Symbol == "function" && Symbol.metadata ? Object.create(e[Symbol.metadata] ?? null) : void 0;
64
+ t = [y(), g()], m(a, null, t, { kind: "accessor", name: "input", static: !1, private: !1, access: { has: (n) => "input" in n, get: (n) => n.input, set: (n, d) => {
65
+ n.input = d;
66
+ } }, metadata: s }, i, u), s && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: s });
67
+ })(), a.sbbDateInputAssociated = !0, a;
88
68
  })();
69
+ class M extends C {
70
+ get disabled() {
71
+ return this._disabled || super.disabled;
72
+ }
73
+ constructor() {
74
+ super(), this._disabled = !0, this.addEventListener?.("click", () => this._handleClick());
75
+ }
76
+ _handleClick() {
77
+ if (!this.input || this.disabled)
78
+ return;
79
+ const t = this.input.valueAsDate ?? this.dateAdapter.today(), i = this.findAvailableDate(t);
80
+ this.dateAdapter.isValid(i) && this.dateAdapter.compareDate(i, t) !== 0 && (this.input.valueAsDate = i, this.input.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), this.input.dispatchEvent(new Event("change", { bubbles: !0, composed: !0 })), this.input.dispatchEvent(new Event("blur", { composed: !0 })));
81
+ }
82
+ syncDateInputState() {
83
+ if (super.syncDateInputState(), !this.dateAdapter.isValid(this.input.valueAsDate)) {
84
+ this._disabled = !0, this.internals.ariaLabel = this.i18nOffBoundaryDay[this.language.current];
85
+ return;
86
+ }
87
+ const t = this.findAvailableDate(this.input.valueAsDate);
88
+ this._disabled = !this.dateAdapter.isValid(t) || this.dateAdapter.compareDate(t, this.input.valueAsDate) === 0;
89
+ const i = this.dateAdapter.compareDate(this.dateAdapter.today(), this.input.valueAsDate) === 0 ? S[this.language.current].toLowerCase() : this.dateAdapter.getAccessibilityFormatDate(this.input.valueAsDate);
90
+ this.internals.ariaLabel = this.i18nSelectOffBoundaryDay(i)[this.language.current];
91
+ }
92
+ }
89
93
  export {
90
- V as SbbDatepickerButton
94
+ M as SbbDatepickerButton,
95
+ C as SbbDatepickerButtonBase
91
96
  };
@@ -2,5 +2,4 @@
2
2
  * @entrypoint
3
3
  */
4
4
  export * from './common/datepicker-button.js';
5
- export * from './common/datepicker-association-controllers.js';
6
5
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/elements/datepicker/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gDAAgD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/elements/datepicker/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,+BAA+B,CAAC"}
@@ -1,7 +1,5 @@
1
- import { SbbDatepickerButton as r } from "./common/datepicker-button.js";
2
- import { SbbDatepickerAssociationControlController as i, SbbDatepickerAssociationHostController as b } from "./common/datepicker-association-controllers.js";
1
+ import { SbbDatepickerButton as b, SbbDatepickerButtonBase as o } from "./common/datepicker-button.js";
3
2
  export {
4
- i as SbbDatepickerAssociationControlController,
5
- b as SbbDatepickerAssociationHostController,
6
- r as SbbDatepickerButton
3
+ b as SbbDatepickerButton,
4
+ o as SbbDatepickerButtonBase
7
5
  };