@sbb-esta/lyne-elements 2.5.1 → 2.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 (1941) hide show
  1. package/a11y.css +2 -2
  2. package/accordion/accordion.js +101 -0
  3. package/accordion.d.ts +3 -0
  4. package/accordion.d.ts.map +1 -1
  5. package/accordion.js +2 -99
  6. package/action-group/action-group.js +110 -0
  7. package/action-group.d.ts +3 -0
  8. package/action-group.d.ts.map +1 -1
  9. package/action-group.js +2 -108
  10. package/alert/alert/alert.js +176 -0
  11. package/alert/alert-group/alert-group.js +104 -0
  12. package/alert/alert-group.d.ts +3 -0
  13. package/alert/alert-group.d.ts.map +1 -1
  14. package/alert/alert-group.js +2 -102
  15. package/alert/alert.d.ts +3 -0
  16. package/alert/alert.d.ts.map +1 -1
  17. package/alert/alert.js +2 -174
  18. package/alert.d.ts +3 -0
  19. package/alert.d.ts.map +1 -1
  20. package/alert.js +6 -2
  21. package/autocomplete/autocomplete-base-element.d.ts +19 -20
  22. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  23. package/autocomplete/autocomplete-base-element.js +262 -0
  24. package/autocomplete/autocomplete.js +70 -0
  25. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +109 -0
  26. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +63 -0
  28. package/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  29. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  30. package/autocomplete-grid/autocomplete-grid-button.js +2 -61
  31. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +26 -0
  32. package/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  33. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  34. package/autocomplete-grid/autocomplete-grid-cell.js +2 -24
  35. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  36. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  37. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +33 -0
  38. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  39. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  40. package/autocomplete-grid/autocomplete-grid-optgroup.js +2 -31
  41. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +49 -0
  42. package/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  43. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  44. package/autocomplete-grid/autocomplete-grid-option.js +3 -47
  45. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +29 -0
  46. package/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  47. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  48. package/autocomplete-grid/autocomplete-grid-row.js +2 -27
  49. package/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  50. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  51. package/autocomplete-grid/autocomplete-grid.js +2 -107
  52. package/autocomplete-grid.d.ts +3 -0
  53. package/autocomplete-grid.d.ts.map +1 -1
  54. package/autocomplete-grid.js +15 -6
  55. package/autocomplete.d.ts +3 -0
  56. package/autocomplete.d.ts.map +1 -1
  57. package/autocomplete.js +5 -312
  58. package/breadcrumb/breadcrumb/breadcrumb.js +52 -0
  59. package/breadcrumb/breadcrumb-group/breadcrumb-group.js +141 -0
  60. package/breadcrumb/breadcrumb-group.d.ts +3 -0
  61. package/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  62. package/breadcrumb/breadcrumb-group.js +2 -139
  63. package/breadcrumb/breadcrumb.d.ts +3 -0
  64. package/breadcrumb/breadcrumb.d.ts.map +1 -1
  65. package/breadcrumb/breadcrumb.js +2 -50
  66. package/breadcrumb.d.ts +3 -0
  67. package/breadcrumb.d.ts.map +1 -1
  68. package/breadcrumb.js +6 -2
  69. package/button/accent-button/accent-button.js +17 -0
  70. package/button/accent-button-link/accent-button-link.js +17 -0
  71. package/button/accent-button-link.d.ts +3 -0
  72. package/button/accent-button-link.d.ts.map +1 -1
  73. package/button/accent-button-link.js +2 -15
  74. package/button/accent-button-static/accent-button-static.js +17 -0
  75. package/button/accent-button-static.d.ts +3 -0
  76. package/button/accent-button-static.d.ts.map +1 -1
  77. package/button/accent-button-static.js +2 -15
  78. package/button/accent-button.d.ts +3 -0
  79. package/button/accent-button.d.ts.map +1 -1
  80. package/button/accent-button.js +2 -15
  81. package/button/button/button.js +17 -0
  82. package/button/button-link/button-link.js +17 -0
  83. package/button/button-link.d.ts +3 -0
  84. package/button/button-link.d.ts.map +1 -1
  85. package/button/button-link.js +2 -15
  86. package/button/button-static/button-static.js +17 -0
  87. package/button/button-static.d.ts +3 -0
  88. package/button/button-static.d.ts.map +1 -1
  89. package/button/button-static.js +2 -15
  90. package/button/button.d.ts +3 -0
  91. package/button/button.d.ts.map +1 -1
  92. package/button/button.js +2 -15
  93. package/button/common/button-common.js +51 -0
  94. package/button/common.d.ts +3 -0
  95. package/button/common.d.ts.map +1 -1
  96. package/button/common.js +8 -55
  97. package/button/mini-button/mini-button.js +23 -0
  98. package/button/mini-button-group/mini-button-group.js +63 -0
  99. package/button/mini-button-group.d.ts +3 -0
  100. package/button/mini-button-group.d.ts.map +1 -1
  101. package/button/mini-button-group.js +2 -61
  102. package/button/mini-button.d.ts +3 -0
  103. package/button/mini-button.d.ts.map +1 -1
  104. package/button/mini-button.js +2 -21
  105. package/button/secondary-button/secondary-button.js +17 -0
  106. package/button/secondary-button-link/secondary-button-link.js +17 -0
  107. package/button/secondary-button-link.d.ts +3 -0
  108. package/button/secondary-button-link.d.ts.map +1 -1
  109. package/button/secondary-button-link.js +2 -15
  110. package/button/secondary-button-static/secondary-button-static.js +17 -0
  111. package/button/secondary-button-static.d.ts +3 -0
  112. package/button/secondary-button-static.d.ts.map +1 -1
  113. package/button/secondary-button-static.js +2 -15
  114. package/button/secondary-button.d.ts +3 -0
  115. package/button/secondary-button.d.ts.map +1 -1
  116. package/button/secondary-button.js +2 -15
  117. package/button/transparent-button/transparent-button.js +17 -0
  118. package/button/transparent-button-link/transparent-button-link.js +17 -0
  119. package/button/transparent-button-link.d.ts +3 -0
  120. package/button/transparent-button-link.d.ts.map +1 -1
  121. package/button/transparent-button-link.js +2 -15
  122. package/button/transparent-button-static/transparent-button-static.js +17 -0
  123. package/button/transparent-button-static.d.ts +3 -0
  124. package/button/transparent-button-static.d.ts.map +1 -1
  125. package/button/transparent-button-static.js +2 -15
  126. package/button/transparent-button.d.ts +3 -0
  127. package/button/transparent-button.d.ts.map +1 -1
  128. package/button/transparent-button.js +2 -15
  129. package/button.d.ts +3 -0
  130. package/button.d.ts.map +1 -1
  131. package/button.js +38 -15
  132. package/calendar/calendar.js +939 -0
  133. package/calendar.d.ts +3 -0
  134. package/calendar.d.ts.map +1 -1
  135. package/calendar.js +2 -937
  136. package/card/card/card.js +70 -0
  137. package/card/card-badge/card-badge.js +57 -0
  138. package/card/card-badge.d.ts +3 -0
  139. package/card/card-badge.d.ts.map +1 -1
  140. package/card/card-badge.js +2 -55
  141. package/card/card-button/card-button.js +19 -0
  142. package/card/card-button.d.ts +3 -0
  143. package/card/card-button.d.ts.map +1 -1
  144. package/card/card-button.js +2 -17
  145. package/card/card-link/card-link.js +19 -0
  146. package/card/card-link.d.ts +3 -0
  147. package/card/card-link.d.ts.map +1 -1
  148. package/card/card-link.js +2 -17
  149. package/card/card.d.ts +3 -0
  150. package/card/card.d.ts.map +1 -1
  151. package/card/card.js +2 -68
  152. package/card/common/card-action-common.js +60 -0
  153. package/card/common.d.ts +3 -0
  154. package/card/common.d.ts.map +1 -1
  155. package/card/common.js +2 -58
  156. package/card.d.ts +3 -0
  157. package/card.d.ts.map +1 -1
  158. package/card.js +12 -5
  159. package/checkbox/checkbox/checkbox.js +80 -0
  160. package/checkbox/checkbox-group/checkbox-group.js +113 -0
  161. package/checkbox/checkbox-group.d.ts +3 -0
  162. package/checkbox/checkbox-group.d.ts.map +1 -1
  163. package/checkbox/checkbox-group.js +2 -111
  164. package/checkbox/checkbox-panel/checkbox-panel.js +82 -0
  165. package/checkbox/checkbox-panel.d.ts +3 -0
  166. package/checkbox/checkbox-panel.d.ts.map +1 -1
  167. package/checkbox/checkbox-panel.js +2 -80
  168. package/checkbox/checkbox.d.ts +3 -0
  169. package/checkbox/checkbox.d.ts.map +1 -1
  170. package/checkbox/checkbox.js +2 -78
  171. package/checkbox/common/checkbox-common.js +56 -0
  172. package/checkbox/common.d.ts +3 -0
  173. package/checkbox/common.d.ts.map +1 -1
  174. package/checkbox/common.js +4 -56
  175. package/checkbox-common-CDzcyq8p.js +5 -0
  176. package/checkbox.d.ts +3 -0
  177. package/checkbox.d.ts.map +1 -1
  178. package/checkbox.js +12 -4
  179. package/chip/chip/chip.d.ts +32 -0
  180. package/chip/chip/chip.d.ts.map +1 -0
  181. package/chip/chip/chip.js +85 -0
  182. package/chip/chip-group/chip-group.d.ts +100 -0
  183. package/chip/chip-group/chip-group.d.ts.map +1 -0
  184. package/chip/chip-group/chip-group.js +226 -0
  185. package/chip/chip-group.d.ts +5 -0
  186. package/chip/chip-group.d.ts.map +1 -0
  187. package/chip/chip-group.js +4 -0
  188. package/chip/chip.d.ts +5 -0
  189. package/chip/chip.d.ts.map +1 -0
  190. package/chip/chip.js +4 -0
  191. package/chip-label/chip-label.js +54 -0
  192. package/chip-label.d.ts +3 -0
  193. package/chip-label.d.ts.map +1 -1
  194. package/chip-label.js +2 -52
  195. package/chip.d.ts +6 -0
  196. package/chip.d.ts.map +1 -0
  197. package/chip.js +6 -0
  198. package/clock/clock.d.ts.map +1 -1
  199. package/clock/clock.js +163 -0
  200. package/clock.d.ts +3 -0
  201. package/clock.d.ts.map +1 -1
  202. package/clock.js +2 -161
  203. package/container/container/container.js +71 -0
  204. package/container/container.d.ts +3 -0
  205. package/container/container.d.ts.map +1 -1
  206. package/container/container.js +2 -69
  207. package/container/sticky-bar/sticky-bar.js +111 -0
  208. package/container/sticky-bar.d.ts +3 -0
  209. package/container/sticky-bar.d.ts.map +1 -1
  210. package/container/sticky-bar.js +2 -109
  211. package/container.d.ts +3 -0
  212. package/container.d.ts.map +1 -1
  213. package/container.js +6 -2
  214. package/core/a11y/arrow-navigation.js +33 -0
  215. package/core/a11y/fake-event-detection.js +11 -0
  216. package/core/a11y/focus-trap-controller.d.ts +35 -0
  217. package/core/a11y/focus-trap-controller.d.ts.map +1 -0
  218. package/core/a11y/focus-trap-controller.js +95 -0
  219. package/core/a11y/focus-visible-within-controller.js +19 -0
  220. package/core/a11y/focus.d.ts +12 -0
  221. package/core/a11y/focus.d.ts.map +1 -1
  222. package/core/a11y/focus.js +75 -0
  223. package/core/a11y/input-modality-detector.d.ts +5 -0
  224. package/core/a11y/input-modality-detector.d.ts.map +1 -1
  225. package/core/a11y/input-modality-detector.js +59 -0
  226. package/core/a11y/interactivity-checker.d.ts +49 -3
  227. package/core/a11y/interactivity-checker.d.ts.map +1 -1
  228. package/core/a11y/interactivity-checker.js +104 -0
  229. package/core/a11y.d.ts +4 -0
  230. package/core/a11y.d.ts.map +1 -1
  231. package/core/a11y.js +26 -201
  232. package/core/base-elements/action-base-element.js +46 -0
  233. package/core/base-elements/button-base-element.d.ts.map +1 -1
  234. package/core/base-elements/button-base-element.js +120 -0
  235. package/core/base-elements/link-base-element.js +130 -0
  236. package/core/base-elements/open-close-base-element.js +33 -0
  237. package/core/base-elements.d.ts +3 -0
  238. package/core/base-elements.d.ts.map +1 -1
  239. package/core/base-elements.js +8 -308
  240. package/core/config/config.js +11 -0
  241. package/core/config.d.ts +3 -0
  242. package/core/config.d.ts.map +1 -1
  243. package/core/config.js +3 -9
  244. package/core/controllers/connected-abort-controller.js +19 -0
  245. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  246. package/core/controllers/escapable-overlay-controller.js +29 -0
  247. package/core/controllers/id-observer-controller.d.ts +21 -0
  248. package/core/controllers/id-observer-controller.d.ts.map +1 -0
  249. package/core/controllers/id-observer-controller.js +61 -0
  250. package/core/controllers/inert-controller.d.ts +3 -1
  251. package/core/controllers/inert-controller.d.ts.map +1 -1
  252. package/core/controllers/inert-controller.js +48 -0
  253. package/core/controllers/language-controller.js +39 -0
  254. package/core/controllers/media-matchers-controller.d.ts +1 -0
  255. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  256. package/core/controllers/media-matchers-controller.js +43 -0
  257. package/core/controllers/slot-state-controller.js +30 -0
  258. package/core/controllers.d.ts +5 -1
  259. package/core/controllers.d.ts.map +1 -1
  260. package/core/controllers.js +20 -193
  261. package/core/datetime/date-adapter.js +102 -0
  262. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  263. package/core/datetime/native-date-adapter.js +169 -0
  264. package/core/datetime.d.ts +3 -0
  265. package/core/datetime.d.ts.map +1 -1
  266. package/core/datetime.js +12 -261
  267. package/core/decorators/base.js +1 -0
  268. package/core/decorators/date-converter.js +17 -0
  269. package/core/decorators/date-only-type.js +10 -0
  270. package/core/decorators/force-type.js +18 -0
  271. package/core/decorators/get-override.js +14 -0
  272. package/core/decorators/handle-distinct-change.js +16 -0
  273. package/core/decorators/host-attributes.js +18 -0
  274. package/core/decorators/omit-empty-converter.js +9 -0
  275. package/core/decorators/slot-state.js +8 -0
  276. package/core/decorators.d.ts +3 -0
  277. package/core/decorators.d.ts.map +1 -1
  278. package/core/decorators.js +16 -86
  279. package/core/dom/animation.js +10 -0
  280. package/core/dom/breakpoint.d.ts +1 -1
  281. package/core/dom/breakpoint.js +12 -0
  282. package/core/dom/find-referenced-element.d.ts +1 -0
  283. package/core/dom/find-referenced-element.d.ts.map +1 -1
  284. package/core/dom/find-referenced-element.js +7 -0
  285. package/core/dom/host-context.js +17 -0
  286. package/core/dom/input-element.d.ts +3 -1
  287. package/core/dom/input-element.d.ts.map +1 -1
  288. package/core/dom/input-element.js +12 -0
  289. package/core/dom/lean-context.js +7 -0
  290. package/core/dom/platform.js +21 -0
  291. package/core/dom/scroll.js +19 -0
  292. package/core/dom/set-or-remove-attribute.js +6 -0
  293. package/core/dom.d.ts +3 -0
  294. package/core/dom.d.ts.map +1 -1
  295. package/core/dom.js +31 -87
  296. package/core/eventing/composed-path-has-attribute.js +8 -0
  297. package/core/eventing/event-emitter.js +23 -0
  298. package/core/eventing/event-target.js +6 -0
  299. package/core/eventing/form-element-handlers.js +6 -0
  300. package/core/eventing/forward-event.js +9 -0
  301. package/core/eventing/is-event-prevented.js +6 -0
  302. package/core/eventing/throttle.js +11 -0
  303. package/core/eventing.d.ts +3 -0
  304. package/core/eventing.d.ts.map +1 -1
  305. package/core/eventing.js +15 -55
  306. package/core/i18n/i18n.d.ts +3 -0
  307. package/core/i18n/i18n.d.ts.map +1 -1
  308. package/core/i18n/i18n.js +700 -0
  309. package/core/i18n.d.ts +3 -0
  310. package/core/i18n.d.ts.map +1 -1
  311. package/core/i18n.js +89 -680
  312. package/core/images.js +15 -0
  313. package/core/interfaces.d.ts +3 -0
  314. package/core/interfaces.d.ts.map +1 -1
  315. package/core/mixins/animation-complete-mixin.js +43 -0
  316. package/core/mixins/constructor.js +1 -0
  317. package/core/mixins/disabled-mixin.js +72 -0
  318. package/core/mixins/form-associated-checkbox-mixin.js +92 -0
  319. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  320. package/core/mixins/form-associated-input-mixin.js +182 -0
  321. package/core/mixins/form-associated-mixin.js +219 -0
  322. package/core/mixins/form-associated-radio-button-mixin.js +159 -0
  323. package/core/mixins/hydration-mixin.js +39 -0
  324. package/core/mixins/named-slot-list-mixin.js +107 -0
  325. package/core/mixins/negative-mixin.js +34 -0
  326. package/core/mixins/panel-mixin.js +61 -0
  327. package/core/mixins/required-mixin.js +36 -0
  328. package/core/mixins/update-scheduler-mixin.js +22 -0
  329. package/core/mixins.d.ts +3 -0
  330. package/core/mixins.d.ts.map +1 -1
  331. package/core/mixins.js +29 -968
  332. package/core/overlay/overlay-option-panel.js +11 -0
  333. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  334. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  335. package/core/overlay/overlay-trigger-attributes.js +18 -0
  336. package/core/overlay/overlay.js +14 -0
  337. package/core/overlay/position.d.ts +1 -1
  338. package/core/overlay/position.d.ts.map +1 -1
  339. package/core/overlay/position.js +40 -0
  340. package/core/overlay.d.ts +3 -0
  341. package/core/overlay.d.ts.map +1 -1
  342. package/core/overlay.js +12 -73
  343. package/core/styles/core.scss +97 -24
  344. package/core/styles/image.scss +1 -1
  345. package/core/styles/mixins/a11y.scss +2 -1
  346. package/core/styles/mixins/buttons.scss +7 -6
  347. package/core/styles/mixins/link.scss +1 -2
  348. package/core/styles/mixins/table.scss +66 -26
  349. package/core/styles/table.scss +61 -0
  350. package/core/testing/event-spy.js +53 -0
  351. package/core/testing/mocha-extensions.js +11 -0
  352. package/core/testing/scroll.d.ts +1 -0
  353. package/core/testing/scroll.d.ts.map +1 -1
  354. package/core/testing/scroll.js +6 -0
  355. package/core/testing/wait-for-condition.js +13 -0
  356. package/core/testing/wait-for-image-ready.d.ts.map +1 -1
  357. package/core/testing/wait-for-image-ready.js +18 -0
  358. package/core/testing/wait-for-render.js +15 -0
  359. package/core/testing.d.ts +3 -0
  360. package/core/testing.d.ts.map +1 -1
  361. package/core/testing.js +14 -106
  362. package/core.css +93 -34
  363. package/custom-elements.json +55418 -50282
  364. package/date-input/date-input.d.ts.map +1 -1
  365. package/date-input/date-input.js +155 -0
  366. package/date-input.d.ts +3 -0
  367. package/date-input.d.ts.map +1 -1
  368. package/date-input.js +2 -153
  369. package/datepicker/common/datepicker-association-controllers.js +58 -0
  370. package/datepicker/common/datepicker-button.js +105 -0
  371. package/datepicker/common.d.ts +3 -0
  372. package/datepicker/common.d.ts.map +1 -1
  373. package/datepicker/common.js +5 -158
  374. package/datepicker/datepicker/datepicker.d.ts +4 -4
  375. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  376. package/datepicker/datepicker/datepicker.js +266 -0
  377. package/datepicker/datepicker-next-day/datepicker-next-day.js +27 -0
  378. package/datepicker/datepicker-next-day.d.ts +3 -0
  379. package/datepicker/datepicker-next-day.d.ts.map +1 -1
  380. package/datepicker/datepicker-next-day.js +2 -25
  381. package/datepicker/datepicker-previous-day/datepicker-previous-day.js +27 -0
  382. package/datepicker/datepicker-previous-day.d.ts +3 -0
  383. package/datepicker/datepicker-previous-day.d.ts.map +1 -1
  384. package/datepicker/datepicker-previous-day.js +2 -25
  385. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  386. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  387. package/datepicker/datepicker-toggle/datepicker-toggle.js +171 -0
  388. package/datepicker/datepicker-toggle.d.ts +3 -0
  389. package/datepicker/datepicker-toggle.d.ts.map +1 -1
  390. package/datepicker/datepicker-toggle.js +2 -173
  391. package/datepicker/datepicker.d.ts +3 -0
  392. package/datepicker/datepicker.d.ts.map +1 -1
  393. package/datepicker/datepicker.js +4 -263
  394. package/datepicker.d.ts +3 -0
  395. package/datepicker.d.ts.map +1 -1
  396. package/datepicker.js +17 -5
  397. package/development/accordion/accordion.js +149 -0
  398. package/development/accordion.d.ts +3 -0
  399. package/development/accordion.d.ts.map +1 -1
  400. package/development/accordion.js +2 -146
  401. package/development/action-group/action-group.js +405 -0
  402. package/development/action-group.d.ts +3 -0
  403. package/development/action-group.d.ts.map +1 -1
  404. package/development/action-group.js +2 -402
  405. package/development/alert/alert/alert.js +434 -0
  406. package/development/alert/alert-group/alert-group.js +183 -0
  407. package/development/alert/alert-group.d.ts +3 -0
  408. package/development/alert/alert-group.d.ts.map +1 -1
  409. package/development/alert/alert-group.js +2 -180
  410. package/development/alert/alert.d.ts +3 -0
  411. package/development/alert/alert.d.ts.map +1 -1
  412. package/development/alert/alert.js +2 -431
  413. package/development/alert.d.ts +3 -0
  414. package/development/alert.d.ts.map +1 -1
  415. package/development/alert.js +6 -2
  416. package/development/autocomplete/autocomplete-base-element.d.ts +19 -20
  417. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  418. package/development/autocomplete/autocomplete-base-element.js +700 -0
  419. package/development/autocomplete/autocomplete.js +99 -0
  420. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +157 -0
  421. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  422. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +208 -0
  423. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  424. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  425. package/development/autocomplete-grid/autocomplete-grid-button.js +2 -202
  426. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +47 -0
  427. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  428. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  429. package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -44
  430. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  431. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  432. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +44 -0
  433. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  434. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  435. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +2 -41
  436. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +139 -0
  437. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  438. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  439. package/development/autocomplete-grid/autocomplete-grid-option.js +2 -134
  440. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +123 -0
  441. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  442. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  443. package/development/autocomplete-grid/autocomplete-grid-row.js +2 -120
  444. package/development/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  445. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  446. package/development/autocomplete-grid/autocomplete-grid.js +2 -154
  447. package/development/autocomplete-grid.d.ts +3 -0
  448. package/development/autocomplete-grid.d.ts.map +1 -1
  449. package/development/autocomplete-grid.js +15 -6
  450. package/development/autocomplete.d.ts +3 -0
  451. package/development/autocomplete.d.ts.map +1 -1
  452. package/development/autocomplete.js +5 -763
  453. package/development/breadcrumb/breadcrumb/breadcrumb.js +136 -0
  454. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.js +281 -0
  455. package/development/breadcrumb/breadcrumb-group.d.ts +3 -0
  456. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  457. package/development/breadcrumb/breadcrumb-group.js +2 -278
  458. package/development/breadcrumb/breadcrumb.d.ts +3 -0
  459. package/development/breadcrumb/breadcrumb.d.ts.map +1 -1
  460. package/development/breadcrumb/breadcrumb.js +2 -133
  461. package/development/breadcrumb.d.ts +3 -0
  462. package/development/breadcrumb.d.ts.map +1 -1
  463. package/development/breadcrumb.js +6 -2
  464. package/development/button/accent-button/accent-button.js +25 -0
  465. package/development/button/accent-button-link/accent-button-link.js +25 -0
  466. package/development/button/accent-button-link.d.ts +3 -0
  467. package/development/button/accent-button-link.d.ts.map +1 -1
  468. package/development/button/accent-button-link.js +2 -22
  469. package/development/button/accent-button-static/accent-button-static.js +25 -0
  470. package/development/button/accent-button-static.d.ts +3 -0
  471. package/development/button/accent-button-static.d.ts.map +1 -1
  472. package/development/button/accent-button-static.js +2 -22
  473. package/development/button/accent-button.d.ts +3 -0
  474. package/development/button/accent-button.d.ts.map +1 -1
  475. package/development/button/accent-button.js +2 -22
  476. package/development/button/button/button.js +25 -0
  477. package/development/button/button-link/button-link.js +25 -0
  478. package/development/button/button-link.d.ts +3 -0
  479. package/development/button/button-link.d.ts.map +1 -1
  480. package/development/button/button-link.js +2 -22
  481. package/development/button/button-static/button-static.js +25 -0
  482. package/development/button/button-static.d.ts +3 -0
  483. package/development/button/button-static.d.ts.map +1 -1
  484. package/development/button/button-static.js +2 -22
  485. package/development/button/button.d.ts +3 -0
  486. package/development/button/button.d.ts.map +1 -1
  487. package/development/button/button.js +2 -22
  488. package/development/button/common/button-common.js +70 -0
  489. package/development/button/common.d.ts +3 -0
  490. package/development/button/common.d.ts.map +1 -1
  491. package/development/button/common.js +8 -407
  492. package/development/button/mini-button/mini-button.js +143 -0
  493. package/development/button/mini-button-group/mini-button-group.js +153 -0
  494. package/development/button/mini-button-group.d.ts +3 -0
  495. package/development/button/mini-button-group.d.ts.map +1 -1
  496. package/development/button/mini-button-group.js +2 -150
  497. package/development/button/mini-button.d.ts +3 -0
  498. package/development/button/mini-button.d.ts.map +1 -1
  499. package/development/button/mini-button.js +2 -137
  500. package/development/button/secondary-button/secondary-button.js +25 -0
  501. package/development/button/secondary-button-link/secondary-button-link.js +25 -0
  502. package/development/button/secondary-button-link.d.ts +3 -0
  503. package/development/button/secondary-button-link.d.ts.map +1 -1
  504. package/development/button/secondary-button-link.js +2 -22
  505. package/development/button/secondary-button-static/secondary-button-static.js +25 -0
  506. package/development/button/secondary-button-static.d.ts +3 -0
  507. package/development/button/secondary-button-static.d.ts.map +1 -1
  508. package/development/button/secondary-button-static.js +2 -22
  509. package/development/button/secondary-button.d.ts +3 -0
  510. package/development/button/secondary-button.d.ts.map +1 -1
  511. package/development/button/secondary-button.js +2 -22
  512. package/development/button/transparent-button/transparent-button.js +25 -0
  513. package/development/button/transparent-button-link/transparent-button-link.js +25 -0
  514. package/development/button/transparent-button-link.d.ts +3 -0
  515. package/development/button/transparent-button-link.d.ts.map +1 -1
  516. package/development/button/transparent-button-link.js +2 -22
  517. package/development/button/transparent-button-static/transparent-button-static.js +25 -0
  518. package/development/button/transparent-button-static.d.ts +3 -0
  519. package/development/button/transparent-button-static.d.ts.map +1 -1
  520. package/development/button/transparent-button-static.js +2 -22
  521. package/development/button/transparent-button.d.ts +3 -0
  522. package/development/button/transparent-button.d.ts.map +1 -1
  523. package/development/button/transparent-button.js +2 -22
  524. package/development/button.d.ts +3 -0
  525. package/development/button.d.ts.map +1 -1
  526. package/development/button.js +39 -16
  527. package/development/calendar/calendar.js +1547 -0
  528. package/development/calendar.d.ts +3 -0
  529. package/development/calendar.d.ts.map +1 -1
  530. package/development/calendar.js +2 -1542
  531. package/development/card/card/card.js +287 -0
  532. package/development/card/card-badge/card-badge.js +169 -0
  533. package/development/card/card-badge.d.ts +3 -0
  534. package/development/card/card-badge.d.ts.map +1 -1
  535. package/development/card/card-badge.js +2 -166
  536. package/development/card/card-button/card-button.js +29 -0
  537. package/development/card/card-button.d.ts +3 -0
  538. package/development/card/card-button.d.ts.map +1 -1
  539. package/development/card/card-button.js +2 -26
  540. package/development/card/card-link/card-link.js +29 -0
  541. package/development/card/card-link.d.ts +3 -0
  542. package/development/card/card-link.d.ts.map +1 -1
  543. package/development/card/card-link.js +2 -26
  544. package/development/card/card.d.ts +3 -0
  545. package/development/card/card.d.ts.map +1 -1
  546. package/development/card/card.js +2 -284
  547. package/development/card/common/card-action-common.js +119 -0
  548. package/development/card/common.d.ts +3 -0
  549. package/development/card/common.d.ts.map +1 -1
  550. package/development/card/common.js +2 -116
  551. package/development/card.d.ts +3 -0
  552. package/development/card.d.ts.map +1 -1
  553. package/development/card.js +12 -5
  554. package/development/checkbox/checkbox/checkbox.js +134 -0
  555. package/development/checkbox/checkbox-group/checkbox-group.js +294 -0
  556. package/development/checkbox/checkbox-group.d.ts +3 -0
  557. package/development/checkbox/checkbox-group.d.ts.map +1 -1
  558. package/development/checkbox/checkbox-group.js +2 -291
  559. package/development/checkbox/checkbox-panel/checkbox-panel.js +108 -0
  560. package/development/checkbox/checkbox-panel.d.ts +3 -0
  561. package/development/checkbox/checkbox-panel.d.ts.map +1 -1
  562. package/development/checkbox/checkbox-panel.js +2 -105
  563. package/development/checkbox/checkbox.d.ts +3 -0
  564. package/development/checkbox/checkbox.d.ts.map +1 -1
  565. package/development/checkbox/checkbox.js +2 -131
  566. package/development/checkbox/common/checkbox-common.js +75 -0
  567. package/development/checkbox/common.d.ts +3 -0
  568. package/development/checkbox/common.d.ts.map +1 -1
  569. package/development/checkbox/common.js +4 -152
  570. package/development/checkbox-common-aMPOsPVA.js +83 -0
  571. package/development/checkbox.d.ts +3 -0
  572. package/development/checkbox.d.ts.map +1 -1
  573. package/development/checkbox.js +13 -5
  574. package/development/chip/chip/chip.d.ts +32 -0
  575. package/development/chip/chip/chip.d.ts.map +1 -0
  576. package/development/chip/chip/chip.js +213 -0
  577. package/development/chip/chip-group/chip-group.d.ts +100 -0
  578. package/development/chip/chip-group/chip-group.d.ts.map +1 -0
  579. package/development/chip/chip-group/chip-group.js +350 -0
  580. package/development/chip/chip-group.d.ts +5 -0
  581. package/development/chip/chip-group.d.ts.map +1 -0
  582. package/development/chip/chip-group.js +5 -0
  583. package/development/chip/chip.d.ts +5 -0
  584. package/development/chip/chip.d.ts.map +1 -0
  585. package/development/chip/chip.js +5 -0
  586. package/development/chip-label/chip-label.js +154 -0
  587. package/development/chip-label.d.ts +3 -0
  588. package/development/chip-label.d.ts.map +1 -1
  589. package/development/chip-label.js +2 -151
  590. package/development/chip.d.ts +6 -0
  591. package/development/chip.d.ts.map +1 -0
  592. package/development/chip.js +7 -0
  593. package/development/clock/clock.d.ts.map +1 -1
  594. package/development/clock/clock.js +390 -0
  595. package/development/clock.d.ts +3 -0
  596. package/development/clock.d.ts.map +1 -1
  597. package/development/clock.js +2 -384
  598. package/development/container/container/container.js +194 -0
  599. package/development/container/container.d.ts +3 -0
  600. package/development/container/container.d.ts.map +1 -1
  601. package/development/container/container.js +2 -191
  602. package/development/container/sticky-bar/sticky-bar.js +349 -0
  603. package/development/container/sticky-bar.d.ts +3 -0
  604. package/development/container/sticky-bar.d.ts.map +1 -1
  605. package/development/container/sticky-bar.js +2 -346
  606. package/development/container.d.ts +3 -0
  607. package/development/container.d.ts.map +1 -1
  608. package/development/container.js +6 -2
  609. package/development/core/a11y/arrow-navigation.js +43 -0
  610. package/development/core/a11y/fake-event-detection.js +12 -0
  611. package/development/core/a11y/focus-trap-controller.d.ts +35 -0
  612. package/development/core/a11y/focus-trap-controller.d.ts.map +1 -0
  613. package/development/core/a11y/focus-trap-controller.js +127 -0
  614. package/development/core/a11y/focus-visible-within-controller.js +25 -0
  615. package/development/core/a11y/focus.d.ts +12 -0
  616. package/development/core/a11y/focus.d.ts.map +1 -1
  617. package/development/core/a11y/focus.js +94 -0
  618. package/development/core/a11y/input-modality-detector.d.ts +5 -0
  619. package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
  620. package/development/core/a11y/input-modality-detector.js +96 -0
  621. package/development/core/a11y/interactivity-checker.d.ts +49 -3
  622. package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
  623. package/development/core/a11y/interactivity-checker.js +137 -0
  624. package/development/core/a11y.d.ts +4 -0
  625. package/development/core/a11y.d.ts.map +1 -1
  626. package/development/core/a11y.js +10 -253
  627. package/development/core/base-elements/action-base-element.js +62 -0
  628. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  629. package/development/core/base-elements/button-base-element.js +179 -0
  630. package/development/core/base-elements/link-base-element.js +183 -0
  631. package/development/core/base-elements/open-close-base-element.js +39 -0
  632. package/development/core/base-elements.d.ts +3 -0
  633. package/development/core/base-elements.d.ts.map +1 -1
  634. package/development/core/base-elements.js +5 -437
  635. package/development/core/config/config.js +15 -0
  636. package/development/core/config.d.ts +3 -0
  637. package/development/core/config.d.ts.map +1 -1
  638. package/development/core/config.js +2 -11
  639. package/development/core/controllers/connected-abort-controller.js +25 -0
  640. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  641. package/development/core/controllers/escapable-overlay-controller.js +40 -0
  642. package/development/core/controllers/id-observer-controller.d.ts +21 -0
  643. package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
  644. package/development/core/controllers/id-observer-controller.js +84 -0
  645. package/development/core/controllers/inert-controller.d.ts +3 -1
  646. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  647. package/development/core/controllers/inert-controller.js +91 -0
  648. package/development/core/controllers/language-controller.js +69 -0
  649. package/development/core/controllers/media-matchers-controller.d.ts +1 -0
  650. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  651. package/development/core/controllers/media-matchers-controller.js +62 -0
  652. package/development/core/controllers/slot-state-controller.js +48 -0
  653. package/development/core/controllers.d.ts +5 -1
  654. package/development/core/controllers.d.ts.map +1 -1
  655. package/development/core/controllers.js +10 -305
  656. package/development/core/datetime/date-adapter.js +129 -0
  657. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  658. package/development/core/datetime/native-date-adapter.js +185 -0
  659. package/development/core/datetime.d.ts +3 -0
  660. package/development/core/datetime.d.ts.map +1 -1
  661. package/development/core/datetime.js +3 -294
  662. package/development/core/decorators/base.js +2 -0
  663. package/development/core/decorators/date-converter.js +18 -0
  664. package/development/core/decorators/date-only-type.js +11 -0
  665. package/development/core/decorators/force-type.js +29 -0
  666. package/development/core/decorators/get-override.js +18 -0
  667. package/development/core/decorators/handle-distinct-change.js +22 -0
  668. package/development/core/decorators/host-attributes.js +30 -0
  669. package/development/core/decorators/omit-empty-converter.js +10 -0
  670. package/development/core/decorators/slot-state.js +11 -0
  671. package/development/core/decorators.d.ts +3 -0
  672. package/development/core/decorators.d.ts.map +1 -1
  673. package/development/core/decorators.js +9 -114
  674. package/development/core/dom/animation.js +12 -0
  675. package/development/core/dom/breakpoint.d.ts +1 -1
  676. package/development/core/dom/breakpoint.js +19 -0
  677. package/development/core/dom/find-referenced-element.d.ts +1 -0
  678. package/development/core/dom/find-referenced-element.d.ts.map +1 -1
  679. package/development/core/dom/find-referenced-element.js +15 -0
  680. package/development/core/dom/host-context.js +21 -0
  681. package/development/core/dom/input-element.d.ts +3 -1
  682. package/development/core/dom/input-element.d.ts.map +1 -1
  683. package/development/core/dom/input-element.js +13 -0
  684. package/development/core/dom/lean-context.js +8 -0
  685. package/development/core/dom/platform.js +32 -0
  686. package/development/core/dom/scroll.js +37 -0
  687. package/development/core/dom/set-or-remove-attribute.js +11 -0
  688. package/development/core/dom.d.ts +3 -0
  689. package/development/core/dom.d.ts.map +1 -1
  690. package/development/core/dom.js +10 -114
  691. package/development/core/eventing/composed-path-has-attribute.js +12 -0
  692. package/development/core/eventing/event-emitter.js +26 -0
  693. package/development/core/eventing/event-target.js +7 -0
  694. package/development/core/eventing/form-element-handlers.js +9 -0
  695. package/development/core/eventing/forward-event.js +11 -0
  696. package/development/core/eventing/is-event-prevented.js +8 -0
  697. package/development/core/eventing/throttle.js +18 -0
  698. package/development/core/eventing.d.ts +3 -0
  699. package/development/core/eventing.d.ts.map +1 -1
  700. package/development/core/eventing.js +8 -63
  701. package/development/core/i18n/i18n.d.ts +3 -0
  702. package/development/core/i18n/i18n.d.ts.map +1 -1
  703. package/development/core/i18n/i18n.js +793 -0
  704. package/development/core/i18n.d.ts +3 -0
  705. package/development/core/i18n.d.ts.map +1 -1
  706. package/development/core/i18n.js +5 -685
  707. package/development/core/images.js +16 -0
  708. package/development/core/interfaces.d.ts +3 -0
  709. package/development/core/interfaces.d.ts.map +1 -1
  710. package/development/core/mixins/animation-complete-mixin.js +52 -0
  711. package/development/core/mixins/constructor.js +2 -0
  712. package/development/core/mixins/disabled-mixin.js +104 -0
  713. package/development/core/mixins/form-associated-checkbox-mixin.js +148 -0
  714. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  715. package/development/core/mixins/form-associated-input-mixin.js +294 -0
  716. package/development/core/mixins/form-associated-mixin.js +268 -0
  717. package/development/core/mixins/form-associated-radio-button-mixin.js +242 -0
  718. package/development/core/mixins/hydration-mixin.js +57 -0
  719. package/development/core/mixins/named-slot-list-mixin.js +136 -0
  720. package/development/core/mixins/negative-mixin.js +45 -0
  721. package/development/core/mixins/panel-mixin.js +87 -0
  722. package/development/core/mixins/required-mixin.js +48 -0
  723. package/development/core/mixins/update-scheduler-mixin.js +26 -0
  724. package/development/core/mixins.d.ts +3 -0
  725. package/development/core/mixins.d.ts.map +1 -1
  726. package/development/core/mixins.js +15 -1383
  727. package/development/core/overlay/overlay-option-panel.js +18 -0
  728. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  729. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  730. package/development/core/overlay/overlay-trigger-attributes.js +47 -0
  731. package/development/core/overlay/overlay.js +15 -0
  732. package/development/core/overlay/position.d.ts +1 -1
  733. package/development/core/overlay/position.d.ts.map +1 -1
  734. package/development/core/overlay/position.js +84 -0
  735. package/development/core/overlay.d.ts +3 -0
  736. package/development/core/overlay.d.ts.map +1 -1
  737. package/development/core/overlay.js +5 -143
  738. package/development/core/testing/event-spy.js +70 -0
  739. package/development/core/testing/mocha-extensions.js +15 -0
  740. package/development/core/testing/scroll.d.ts +1 -0
  741. package/development/core/testing/scroll.d.ts.map +1 -1
  742. package/development/core/testing/scroll.js +8 -0
  743. package/development/core/testing/wait-for-condition.js +19 -0
  744. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
  745. package/development/core/testing/wait-for-image-ready.js +31 -0
  746. package/development/core/testing/wait-for-render.js +21 -0
  747. package/development/core/testing.d.ts +3 -0
  748. package/development/core/testing.d.ts.map +1 -1
  749. package/development/core/testing.js +7 -141
  750. package/development/date-input/date-input.d.ts.map +1 -1
  751. package/development/date-input/date-input.js +270 -0
  752. package/development/date-input.d.ts +3 -0
  753. package/development/date-input.d.ts.map +1 -1
  754. package/development/date-input.js +2 -264
  755. package/development/datepicker/common/datepicker-association-controllers.js +82 -0
  756. package/development/datepicker/common/datepicker-button.js +155 -0
  757. package/development/datepicker/common.d.ts +3 -0
  758. package/development/datepicker/common.d.ts.map +1 -1
  759. package/development/datepicker/common.js +3 -228
  760. package/development/datepicker/datepicker/datepicker.d.ts +4 -4
  761. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  762. package/development/datepicker/datepicker/datepicker.js +427 -0
  763. package/development/datepicker/datepicker-next-day/datepicker-next-day.js +150 -0
  764. package/development/datepicker/datepicker-next-day.d.ts +3 -0
  765. package/development/datepicker/datepicker-next-day.d.ts.map +1 -1
  766. package/development/datepicker/datepicker-next-day.js +2 -144
  767. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.js +150 -0
  768. package/development/datepicker/datepicker-previous-day.d.ts +3 -0
  769. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -1
  770. package/development/datepicker/datepicker-previous-day.js +2 -144
  771. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  772. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  773. package/development/datepicker/datepicker-toggle/datepicker-toggle.js +299 -0
  774. package/development/datepicker/datepicker-toggle.d.ts +3 -0
  775. package/development/datepicker/datepicker-toggle.d.ts.map +1 -1
  776. package/development/datepicker/datepicker-toggle.js +2 -304
  777. package/development/datepicker/datepicker.d.ts +3 -0
  778. package/development/datepicker/datepicker.d.ts.map +1 -1
  779. package/development/datepicker/datepicker.js +2 -415
  780. package/development/datepicker.d.ts +3 -0
  781. package/development/datepicker.d.ts.map +1 -1
  782. package/development/datepicker.js +18 -6
  783. package/development/dialog/dialog/dialog.d.ts +0 -1
  784. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  785. package/development/dialog/dialog/dialog.js +460 -0
  786. package/development/dialog/dialog-actions/dialog-actions.js +52 -0
  787. package/development/dialog/dialog-actions.d.ts +3 -0
  788. package/development/dialog/dialog-actions.d.ts.map +1 -1
  789. package/development/dialog/dialog-actions.js +2 -49
  790. package/development/dialog/dialog-content/dialog-content.js +78 -0
  791. package/development/dialog/dialog-content.d.ts +3 -0
  792. package/development/dialog/dialog-content.d.ts.map +1 -1
  793. package/development/dialog/dialog-content.js +2 -75
  794. package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
  795. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  796. package/development/dialog/dialog-title/dialog-title.js +211 -0
  797. package/development/dialog/dialog-title.d.ts +3 -0
  798. package/development/dialog/dialog-title.d.ts.map +1 -1
  799. package/development/dialog/dialog-title.js +2 -211
  800. package/development/dialog/dialog.d.ts +3 -0
  801. package/development/dialog/dialog.d.ts.map +1 -1
  802. package/development/dialog/dialog.js +2 -465
  803. package/development/dialog.d.ts +3 -0
  804. package/development/dialog.d.ts.map +1 -1
  805. package/development/dialog.js +10 -4
  806. package/development/divider/divider.js +89 -0
  807. package/development/divider.d.ts +3 -0
  808. package/development/divider.d.ts.map +1 -1
  809. package/development/divider.js +2 -86
  810. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  811. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  812. package/development/expansion-panel/expansion-panel/expansion-panel.js +434 -0
  813. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.js +69 -0
  814. package/development/expansion-panel/expansion-panel-content.d.ts +3 -0
  815. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  816. package/development/expansion-panel/expansion-panel-content.js +2 -66
  817. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.js +173 -0
  818. package/development/expansion-panel/expansion-panel-header.d.ts +3 -0
  819. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  820. package/development/expansion-panel/expansion-panel-header.js +2 -170
  821. package/development/expansion-panel/expansion-panel.d.ts +3 -0
  822. package/development/expansion-panel/expansion-panel.d.ts.map +1 -1
  823. package/development/expansion-panel/expansion-panel.js +2 -436
  824. package/development/expansion-panel.d.ts +3 -0
  825. package/development/expansion-panel.d.ts.map +1 -1
  826. package/development/expansion-panel.js +8 -3
  827. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  828. package/development/file-selector/common/file-selector-common.js +279 -0
  829. package/development/file-selector/common.d.ts +3 -0
  830. package/development/file-selector/common.d.ts.map +1 -1
  831. package/development/file-selector/common.js +4 -379
  832. package/development/file-selector/file-selector/file-selector.js +52 -0
  833. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.js +181 -0
  834. package/development/file-selector/file-selector-dropzone.d.ts +3 -0
  835. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -1
  836. package/development/file-selector/file-selector-dropzone.js +2 -178
  837. package/development/file-selector/file-selector.d.ts +3 -0
  838. package/development/file-selector/file-selector.d.ts.map +1 -1
  839. package/development/file-selector/file-selector.js +2 -49
  840. package/development/file-selector-common-csww18o8.js +105 -0
  841. package/development/file-selector.d.ts +3 -0
  842. package/development/file-selector.d.ts.map +1 -1
  843. package/development/file-selector.js +11 -4
  844. package/development/flip-card/flip-card/flip-card.js +320 -0
  845. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  846. package/development/flip-card/flip-card-details/flip-card-details.js +92 -0
  847. package/development/flip-card/flip-card-details.d.ts +3 -0
  848. package/development/flip-card/flip-card-details.d.ts.map +1 -1
  849. package/development/flip-card/flip-card-details.js +2 -89
  850. package/development/flip-card/flip-card-summary/flip-card-summary.js +148 -0
  851. package/development/flip-card/flip-card-summary.d.ts +3 -0
  852. package/development/flip-card/flip-card-summary.d.ts.map +1 -1
  853. package/development/flip-card/flip-card-summary.js +2 -145
  854. package/development/flip-card/flip-card.d.ts +3 -0
  855. package/development/flip-card/flip-card.d.ts.map +1 -1
  856. package/development/flip-card/flip-card.js +2 -317
  857. package/development/flip-card.d.ts +3 -0
  858. package/development/flip-card.d.ts.map +1 -1
  859. package/development/flip-card.js +8 -3
  860. package/development/footer/footer.js +276 -0
  861. package/development/footer.d.ts +3 -0
  862. package/development/footer.d.ts.map +1 -1
  863. package/development/footer.js +2 -273
  864. package/development/form-error/form-error.js +107 -0
  865. package/development/form-error.d.ts +3 -0
  866. package/development/form-error.d.ts.map +1 -1
  867. package/development/form-error.js +2 -104
  868. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  869. package/development/form-field/form-field/form-field.js +936 -0
  870. package/development/form-field/form-field-clear/form-field-clear.js +175 -0
  871. package/development/form-field/form-field-clear.d.ts +3 -0
  872. package/development/form-field/form-field-clear.d.ts.map +1 -1
  873. package/development/form-field/form-field-clear.js +2 -169
  874. package/development/form-field/form-field.d.ts +3 -0
  875. package/development/form-field/form-field.d.ts.map +1 -1
  876. package/development/form-field/form-field.js +2 -1062
  877. package/development/form-field.d.ts +3 -0
  878. package/development/form-field.d.ts.map +1 -1
  879. package/development/form-field.js +6 -2
  880. package/development/header/common/header-action-common.js +413 -0
  881. package/development/header/common.d.ts +3 -0
  882. package/development/header/common.d.ts.map +1 -1
  883. package/development/header/common.js +2 -410
  884. package/development/header/header/header.d.ts +6 -7
  885. package/development/header/header/header.d.ts.map +1 -1
  886. package/development/header/header/header.js +393 -0
  887. package/development/header/header-button/header-button.js +25 -0
  888. package/development/header/header-button.d.ts +3 -0
  889. package/development/header/header-button.d.ts.map +1 -1
  890. package/development/header/header-button.js +2 -22
  891. package/development/header/header-link/header-link.js +25 -0
  892. package/development/header/header-link.d.ts +3 -0
  893. package/development/header/header-link.d.ts.map +1 -1
  894. package/development/header/header-link.js +2 -22
  895. package/development/header/header.d.ts +3 -0
  896. package/development/header/header.d.ts.map +1 -1
  897. package/development/header/header.js +2 -379
  898. package/development/header.d.ts +3 -0
  899. package/development/header.d.ts.map +1 -1
  900. package/development/header.js +10 -4
  901. package/development/icon/icon-base.js +182 -0
  902. package/development/icon/icon-name-mixin.js +58 -0
  903. package/development/icon/icon-request.js +42 -0
  904. package/development/icon/icon-validate.js +47 -0
  905. package/development/icon/icon.js +118 -0
  906. package/development/icon-sidebar-button-common-CA_8TnFu.js +110 -0
  907. package/development/icon.d.ts +3 -0
  908. package/development/icon.d.ts.map +1 -1
  909. package/development/icon.js +6 -400
  910. package/development/image/image.js +682 -0
  911. package/development/image.d.ts +3 -0
  912. package/development/image.d.ts.map +1 -1
  913. package/development/image.js +2 -679
  914. package/development/journey-header/journey-header.js +192 -0
  915. package/development/journey-header.d.ts +3 -0
  916. package/development/journey-header.d.ts.map +1 -1
  917. package/development/journey-header.js +2 -189
  918. package/development/lead-container/lead-container.js +150 -0
  919. package/development/lead-container.d.ts +3 -0
  920. package/development/lead-container.d.ts.map +1 -1
  921. package/development/lead-container.js +2 -147
  922. package/development/link/block-link/block-link.js +26 -0
  923. package/development/link/block-link-button/block-link-button.js +26 -0
  924. package/development/link/block-link-button.d.ts +3 -0
  925. package/development/link/block-link-button.d.ts.map +1 -1
  926. package/development/link/block-link-button.js +2 -23
  927. package/development/link/block-link-static/block-link-static.js +26 -0
  928. package/development/link/block-link-static.d.ts +3 -0
  929. package/development/link/block-link-static.d.ts.map +1 -1
  930. package/development/link/block-link-static.js +2 -23
  931. package/development/link/block-link.d.ts +3 -0
  932. package/development/link/block-link.d.ts.map +1 -1
  933. package/development/link/block-link.js +2 -23
  934. package/development/link/common/block-link-common.js +132 -0
  935. package/development/link/common/inline-link-common.js +45 -0
  936. package/development/link/common/link-common.js +11 -0
  937. package/development/link/common.d.ts +3 -0
  938. package/development/link/common.d.ts.map +1 -1
  939. package/development/link/common.js +5 -279
  940. package/development/link/link/link.js +26 -0
  941. package/development/link/link-button/link-button.js +26 -0
  942. package/development/link/link-button.d.ts +3 -0
  943. package/development/link/link-button.d.ts.map +1 -1
  944. package/development/link/link-button.js +2 -23
  945. package/development/link/link-static/link-static.js +26 -0
  946. package/development/link/link-static.d.ts +3 -0
  947. package/development/link/link-static.d.ts.map +1 -1
  948. package/development/link/link-static.js +2 -23
  949. package/development/link/link.d.ts +3 -0
  950. package/development/link/link.d.ts.map +1 -1
  951. package/development/link/link.js +2 -23
  952. package/development/link-common-CJEWffDZ.js +127 -0
  953. package/development/link-list/common/link-list-base.js +121 -0
  954. package/development/link-list/common.d.ts +3 -0
  955. package/development/link-list/common.d.ts.map +1 -1
  956. package/development/link-list/common.js +4 -141
  957. package/development/link-list/link-list/link-list.js +206 -0
  958. package/development/link-list/link-list-anchor/link-list-anchor.js +72 -0
  959. package/development/link-list/link-list-anchor.d.ts +3 -0
  960. package/development/link-list/link-list-anchor.d.ts.map +1 -1
  961. package/development/link-list/link-list-anchor.js +2 -69
  962. package/development/link-list/link-list.d.ts +3 -0
  963. package/development/link-list/link-list.d.ts.map +1 -1
  964. package/development/link-list/link-list.js +2 -203
  965. package/development/link-list-base-DC9sc7q5.js +27 -0
  966. package/development/link-list.d.ts +3 -0
  967. package/development/link-list.d.ts.map +1 -1
  968. package/development/link-list.js +11 -4
  969. package/development/link.d.ts +3 -0
  970. package/development/link.d.ts.map +1 -1
  971. package/development/link.js +21 -8
  972. package/development/loading-indicator/loading-indicator.js +260 -0
  973. package/development/loading-indicator-circle/loading-indicator-circle.js +146 -0
  974. package/development/loading-indicator-circle.d.ts +3 -0
  975. package/development/loading-indicator-circle.d.ts.map +1 -1
  976. package/development/loading-indicator-circle.js +2 -143
  977. package/development/loading-indicator.d.ts +3 -0
  978. package/development/loading-indicator.d.ts.map +1 -1
  979. package/development/loading-indicator.js +2 -257
  980. package/development/logo/logo.js +157 -0
  981. package/development/logo.d.ts +3 -0
  982. package/development/logo.d.ts.map +1 -1
  983. package/development/logo.js +2 -154
  984. package/development/map-container/map-container.js +285 -0
  985. package/development/map-container.d.ts +3 -0
  986. package/development/map-container.d.ts.map +1 -1
  987. package/development/map-container.js +2 -282
  988. package/development/menu/common/menu-action-common.js +203 -0
  989. package/development/menu/common.d.ts +3 -0
  990. package/development/menu/common.d.ts.map +1 -1
  991. package/development/menu/common.js +2 -200
  992. package/development/menu/menu/menu.d.ts +8 -10
  993. package/development/menu/menu/menu.d.ts.map +1 -1
  994. package/development/menu/menu/menu.js +573 -0
  995. package/development/menu/menu-button/menu-button.js +26 -0
  996. package/development/menu/menu-button.d.ts +3 -0
  997. package/development/menu/menu-button.d.ts.map +1 -1
  998. package/development/menu/menu-button.js +2 -23
  999. package/development/menu/menu-link/menu-link.js +26 -0
  1000. package/development/menu/menu-link.d.ts +3 -0
  1001. package/development/menu/menu-link.d.ts.map +1 -1
  1002. package/development/menu/menu-link.js +2 -23
  1003. package/development/menu/menu.d.ts +3 -0
  1004. package/development/menu/menu.d.ts.map +1 -1
  1005. package/development/menu/menu.js +2 -580
  1006. package/development/menu.d.ts +3 -0
  1007. package/development/menu.d.ts.map +1 -1
  1008. package/development/menu.js +10 -4
  1009. package/development/message/message.js +139 -0
  1010. package/development/message.d.ts +3 -0
  1011. package/development/message.d.ts.map +1 -1
  1012. package/development/message.js +2 -136
  1013. package/development/navigation/common/navigation-action-common.js +175 -0
  1014. package/development/navigation/common.d.ts +3 -0
  1015. package/development/navigation/common.d.ts.map +1 -1
  1016. package/development/navigation/common.js +2 -172
  1017. package/development/navigation/navigation/navigation.d.ts +19 -25
  1018. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  1019. package/development/navigation/navigation/navigation.js +597 -0
  1020. package/development/navigation/navigation-button/navigation-button.js +25 -0
  1021. package/development/navigation/navigation-button.d.ts +3 -0
  1022. package/development/navigation/navigation-button.d.ts.map +1 -1
  1023. package/development/navigation/navigation-button.js +2 -22
  1024. package/development/navigation/navigation-link/navigation-link.js +25 -0
  1025. package/development/navigation/navigation-link.d.ts +3 -0
  1026. package/development/navigation/navigation-link.d.ts.map +1 -1
  1027. package/development/navigation/navigation-link.js +2 -22
  1028. package/development/navigation/navigation-list/navigation-list.js +113 -0
  1029. package/development/navigation/navigation-list.d.ts +3 -0
  1030. package/development/navigation/navigation-list.d.ts.map +1 -1
  1031. package/development/navigation/navigation-list.js +2 -110
  1032. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  1033. package/development/navigation/navigation-marker/navigation-marker.js +215 -0
  1034. package/development/navigation/navigation-marker.d.ts +3 -0
  1035. package/development/navigation/navigation-marker.d.ts.map +1 -1
  1036. package/development/navigation/navigation-marker.js +2 -212
  1037. package/development/navigation/navigation-section/navigation-section.d.ts +11 -14
  1038. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  1039. package/development/navigation/navigation-section/navigation-section.js +622 -0
  1040. package/development/navigation/navigation-section.d.ts +3 -0
  1041. package/development/navigation/navigation-section.d.ts.map +1 -1
  1042. package/development/navigation/navigation-section.js +2 -629
  1043. package/development/navigation/navigation.d.ts +3 -0
  1044. package/development/navigation/navigation.d.ts.map +1 -1
  1045. package/development/navigation/navigation.js +2 -606
  1046. package/development/navigation.d.ts +3 -0
  1047. package/development/navigation.d.ts.map +1 -1
  1048. package/development/navigation.js +16 -7
  1049. package/development/notification/notification.js +527 -0
  1050. package/development/notification.d.ts +3 -0
  1051. package/development/notification.d.ts.map +1 -1
  1052. package/development/notification.js +2 -524
  1053. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1054. package/development/option/optgroup/optgroup-base-element.js +247 -0
  1055. package/development/option/optgroup/optgroup.d.ts +2 -2
  1056. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  1057. package/development/option/optgroup/optgroup.js +50 -0
  1058. package/development/option/optgroup.d.ts +3 -0
  1059. package/development/option/optgroup.d.ts.map +1 -1
  1060. package/development/option/optgroup.js +3 -287
  1061. package/development/option/option/option-base-element.d.ts.map +1 -1
  1062. package/development/option/option/option-base-element.js +320 -0
  1063. package/development/option/option/option.js +264 -0
  1064. package/development/option/option.d.ts +3 -0
  1065. package/development/option/option.d.ts.map +1 -1
  1066. package/development/option/option.js +3 -571
  1067. package/development/option.d.ts +3 -0
  1068. package/development/option.d.ts.map +1 -1
  1069. package/development/option.js +11 -3
  1070. package/development/overlay/overlay-base-element.d.ts +7 -3
  1071. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  1072. package/development/overlay/overlay-base-element.js +144 -0
  1073. package/development/overlay/overlay.d.ts +0 -1
  1074. package/development/overlay/overlay.d.ts.map +1 -1
  1075. package/development/overlay/overlay.js +424 -0
  1076. package/development/overlay.d.ts +3 -0
  1077. package/development/overlay.d.ts.map +1 -1
  1078. package/development/overlay.js +3 -549
  1079. package/development/paginator/common/paginator-common.js +193 -0
  1080. package/development/paginator/common.d.ts +3 -0
  1081. package/development/paginator/common.d.ts.map +1 -1
  1082. package/development/paginator/common.js +2 -190
  1083. package/development/paginator/compact-paginator/compact-paginator.js +96 -0
  1084. package/development/paginator/compact-paginator.d.ts +3 -0
  1085. package/development/paginator/compact-paginator.d.ts.map +1 -1
  1086. package/development/paginator/compact-paginator.js +2 -93
  1087. package/development/paginator/paginator/paginator.js +452 -0
  1088. package/development/paginator/paginator.d.ts +3 -0
  1089. package/development/paginator/paginator.d.ts.map +1 -1
  1090. package/development/paginator/paginator.js +2 -438
  1091. package/development/paginator.d.ts +3 -0
  1092. package/development/paginator.d.ts.map +1 -1
  1093. package/development/paginator.js +8 -3
  1094. package/development/popover/popover/popover.d.ts +9 -8
  1095. package/development/popover/popover/popover.d.ts.map +1 -1
  1096. package/development/popover/popover/popover.js +592 -0
  1097. package/development/popover/popover-trigger/popover-trigger.js +213 -0
  1098. package/development/popover/popover-trigger.d.ts +3 -0
  1099. package/development/popover/popover-trigger.d.ts.map +1 -1
  1100. package/development/popover/popover-trigger.js +2 -212
  1101. package/development/popover/popover.d.ts +3 -0
  1102. package/development/popover/popover.d.ts.map +1 -1
  1103. package/development/popover/popover.js +2 -604
  1104. package/development/popover.d.ts +3 -0
  1105. package/development/popover.d.ts.map +1 -1
  1106. package/development/popover.js +6 -2
  1107. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  1108. package/development/radio-button/common/radio-button-common.js +93 -0
  1109. package/development/radio-button/common.d.ts +3 -0
  1110. package/development/radio-button/common.d.ts.map +1 -1
  1111. package/development/radio-button/common.js +4 -228
  1112. package/development/radio-button/radio-button/radio-button.js +90 -0
  1113. package/development/radio-button/radio-button-group/radio-button-group.js +387 -0
  1114. package/development/radio-button/radio-button-group.d.ts +3 -0
  1115. package/development/radio-button/radio-button-group.d.ts.map +1 -1
  1116. package/development/radio-button/radio-button-group.js +2 -384
  1117. package/development/radio-button/radio-button-panel/radio-button-panel.js +122 -0
  1118. package/development/radio-button/radio-button-panel.d.ts +3 -0
  1119. package/development/radio-button/radio-button-panel.d.ts.map +1 -1
  1120. package/development/radio-button/radio-button-panel.js +2 -119
  1121. package/development/radio-button/radio-button.d.ts +3 -0
  1122. package/development/radio-button/radio-button.d.ts.map +1 -1
  1123. package/development/radio-button/radio-button.js +2 -87
  1124. package/development/radio-button-common-hZiiLJDY.js +139 -0
  1125. package/development/radio-button.d.ts +3 -0
  1126. package/development/radio-button.d.ts.map +1 -1
  1127. package/development/radio-button.js +13 -5
  1128. package/development/{sbb-tokens-CSAKTXUi.js → sbb-tokens-CVLcOi-S.js} +10 -10
  1129. package/development/screen-reader-only/screen-reader-only.js +37 -0
  1130. package/development/screen-reader-only.d.ts +3 -0
  1131. package/development/screen-reader-only.d.ts.map +1 -1
  1132. package/development/screen-reader-only.js +2 -34
  1133. package/development/select/select.d.ts +1 -1
  1134. package/development/select/select.d.ts.map +1 -1
  1135. package/development/select/select.js +1048 -0
  1136. package/development/select.d.ts +3 -0
  1137. package/development/select.d.ts.map +1 -1
  1138. package/development/select.js +2 -1045
  1139. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  1140. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  1141. package/development/selection-expansion-panel/selection-expansion-panel.js +400 -0
  1142. package/development/selection-expansion-panel.d.ts +3 -0
  1143. package/development/selection-expansion-panel.d.ts.map +1 -1
  1144. package/development/selection-expansion-panel.js +2 -402
  1145. package/development/sidebar/common.d.ts +3 -0
  1146. package/development/sidebar/common.d.ts.map +1 -1
  1147. package/development/sidebar/common.js +5 -112
  1148. package/development/sidebar/icon-sidebar/icon-sidebar.js +85 -0
  1149. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.js +28 -0
  1150. package/development/sidebar/icon-sidebar-button.d.ts +3 -0
  1151. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1152. package/development/sidebar/icon-sidebar-button.js +2 -25
  1153. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.js +45 -0
  1154. package/development/sidebar/icon-sidebar-container.d.ts +3 -0
  1155. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1156. package/development/sidebar/icon-sidebar-container.js +2 -42
  1157. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.js +34 -0
  1158. package/development/sidebar/icon-sidebar-content.d.ts +3 -0
  1159. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1160. package/development/sidebar/icon-sidebar-content.js +2 -31
  1161. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.js +28 -0
  1162. package/development/sidebar/icon-sidebar-link.d.ts +3 -0
  1163. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1164. package/development/sidebar/icon-sidebar-link.js +2 -25
  1165. package/development/sidebar/icon-sidebar.d.ts +3 -0
  1166. package/development/sidebar/icon-sidebar.d.ts.map +1 -1
  1167. package/development/sidebar/icon-sidebar.js +2 -82
  1168. package/development/sidebar/sidebar/sidebar.d.ts +1 -7
  1169. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1170. package/development/sidebar/sidebar/sidebar.js +485 -0
  1171. package/development/sidebar/sidebar-close-button/sidebar-close-button.js +55 -0
  1172. package/development/sidebar/sidebar-close-button.d.ts +3 -0
  1173. package/development/sidebar/sidebar-close-button.d.ts.map +1 -1
  1174. package/development/sidebar/sidebar-close-button.js +2 -52
  1175. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1176. package/development/sidebar/sidebar-container/sidebar-container.js +156 -0
  1177. package/development/sidebar/sidebar-container.d.ts +3 -0
  1178. package/development/sidebar/sidebar-container.d.ts.map +1 -1
  1179. package/development/sidebar/sidebar-container.js +2 -150
  1180. package/development/sidebar/sidebar-content/sidebar-content.js +37 -0
  1181. package/development/sidebar/sidebar-content.d.ts +3 -0
  1182. package/development/sidebar/sidebar-content.d.ts.map +1 -1
  1183. package/development/sidebar/sidebar-content.js +2 -34
  1184. package/development/sidebar/sidebar-title/sidebar-title.js +63 -0
  1185. package/development/sidebar/sidebar-title.d.ts +3 -0
  1186. package/development/sidebar/sidebar-title.d.ts.map +1 -1
  1187. package/development/sidebar/sidebar-title.js +2 -60
  1188. package/development/sidebar/sidebar.d.ts +3 -0
  1189. package/development/sidebar/sidebar.d.ts.map +1 -1
  1190. package/development/sidebar/sidebar.js +2 -520
  1191. package/development/sidebar.d.ts +3 -0
  1192. package/development/sidebar.d.ts.map +1 -1
  1193. package/development/sidebar.js +26 -11
  1194. package/development/signet/signet.js +162 -0
  1195. package/development/signet.d.ts +3 -0
  1196. package/development/signet.d.ts.map +1 -1
  1197. package/development/signet.js +2 -159
  1198. package/development/skiplink-list/skiplink-list.js +144 -0
  1199. package/development/skiplink-list.d.ts +3 -0
  1200. package/development/skiplink-list.d.ts.map +1 -1
  1201. package/development/skiplink-list.js +2 -141
  1202. package/development/slider/slider.js +451 -0
  1203. package/development/slider.d.ts +3 -0
  1204. package/development/slider.d.ts.map +1 -1
  1205. package/development/slider.js +2 -448
  1206. package/development/status/status.d.ts +4 -0
  1207. package/development/status/status.d.ts.map +1 -1
  1208. package/development/status/status.js +198 -0
  1209. package/development/status.d.ts +3 -0
  1210. package/development/status.d.ts.map +1 -1
  1211. package/development/status.js +2 -220
  1212. package/development/stepper/step/step.d.ts +15 -1
  1213. package/development/stepper/step/step.d.ts.map +1 -1
  1214. package/development/stepper/step/step.js +218 -0
  1215. package/development/stepper/step-label/step-label.js +276 -0
  1216. package/development/stepper/step-label.d.ts +3 -0
  1217. package/development/stepper/step-label.d.ts.map +1 -1
  1218. package/development/stepper/step-label.js +2 -273
  1219. package/development/stepper/step.d.ts +3 -0
  1220. package/development/stepper/step.d.ts.map +1 -1
  1221. package/development/stepper/step.js +2 -195
  1222. package/development/stepper/stepper/stepper.d.ts +1 -0
  1223. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  1224. package/development/stepper/stepper/stepper.js +449 -0
  1225. package/development/stepper/stepper.d.ts +3 -0
  1226. package/development/stepper/stepper.d.ts.map +1 -1
  1227. package/development/stepper/stepper.js +2 -442
  1228. package/development/stepper.d.ts +3 -0
  1229. package/development/stepper.d.ts.map +1 -1
  1230. package/development/stepper.js +8 -3
  1231. package/development/table/table-wrapper/table-wrapper.d.ts +6 -1
  1232. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1233. package/development/table/table-wrapper/table-wrapper.js +128 -0
  1234. package/development/table/table-wrapper.d.ts +3 -0
  1235. package/development/table/table-wrapper.d.ts.map +1 -1
  1236. package/development/table/table-wrapper.js +2 -103
  1237. package/development/table.d.ts +3 -0
  1238. package/development/table.d.ts.map +1 -1
  1239. package/development/table.js +4 -1
  1240. package/development/tabs/tab/tab.js +66 -0
  1241. package/development/tabs/tab-group/tab-group.js +391 -0
  1242. package/development/tabs/tab-group.d.ts +3 -0
  1243. package/development/tabs/tab-group.d.ts.map +1 -1
  1244. package/development/tabs/tab-group.js +2 -388
  1245. package/development/tabs/tab-label/tab-label.js +316 -0
  1246. package/development/tabs/tab-label.d.ts +3 -0
  1247. package/development/tabs/tab-label.d.ts.map +1 -1
  1248. package/development/tabs/tab-label.js +2 -312
  1249. package/development/tabs/tab.d.ts +3 -0
  1250. package/development/tabs/tab.d.ts.map +1 -1
  1251. package/development/tabs/tab.js +2 -63
  1252. package/development/tabs.d.ts +3 -0
  1253. package/development/tabs.d.ts.map +1 -1
  1254. package/development/tabs.js +8 -3
  1255. package/development/tag/tag/tag.js +351 -0
  1256. package/development/tag/tag-group/tag-group.js +192 -0
  1257. package/development/tag/tag-group.d.ts +3 -0
  1258. package/development/tag/tag-group.d.ts.map +1 -1
  1259. package/development/tag/tag-group.js +2 -189
  1260. package/development/tag/tag.d.ts +3 -0
  1261. package/development/tag/tag.d.ts.map +1 -1
  1262. package/development/tag/tag.js +2 -348
  1263. package/development/tag.d.ts +3 -0
  1264. package/development/tag.d.ts.map +1 -1
  1265. package/development/tag.js +6 -2
  1266. package/development/teaser/teaser.js +260 -0
  1267. package/development/teaser-hero/teaser-hero.js +180 -0
  1268. package/development/teaser-hero.d.ts +3 -0
  1269. package/development/teaser-hero.d.ts.map +1 -1
  1270. package/development/teaser-hero.js +2 -177
  1271. package/development/teaser-product/common/teaser-product-common.js +73 -0
  1272. package/development/teaser-product/common.d.ts +3 -0
  1273. package/development/teaser-product/common.d.ts.map +1 -1
  1274. package/development/teaser-product/common.js +4 -214
  1275. package/development/teaser-product/teaser-product/teaser-product.js +71 -0
  1276. package/development/teaser-product/teaser-product-static/teaser-product-static.js +24 -0
  1277. package/development/teaser-product/teaser-product-static.d.ts +3 -0
  1278. package/development/teaser-product/teaser-product-static.d.ts.map +1 -1
  1279. package/development/teaser-product/teaser-product-static.js +2 -21
  1280. package/development/teaser-product/teaser-product.d.ts +3 -0
  1281. package/development/teaser-product/teaser-product.d.ts.map +1 -1
  1282. package/development/teaser-product/teaser-product.js +2 -68
  1283. package/development/teaser-product-common-D6fa6x3w.js +148 -0
  1284. package/development/teaser-product.d.ts +3 -0
  1285. package/development/teaser-product.d.ts.map +1 -1
  1286. package/development/teaser-product.js +11 -4
  1287. package/development/teaser.d.ts +3 -0
  1288. package/development/teaser.d.ts.map +1 -1
  1289. package/development/teaser.js +2 -257
  1290. package/development/time-input/time-input.d.ts +6 -8
  1291. package/development/time-input/time-input.d.ts.map +1 -1
  1292. package/development/time-input/time-input.js +276 -0
  1293. package/development/time-input.d.ts +3 -0
  1294. package/development/time-input.d.ts.map +1 -1
  1295. package/development/time-input.js +2 -275
  1296. package/development/timetable-occupancy/timetable-occupancy.js +151 -0
  1297. package/development/timetable-occupancy-icon/timetable-occupancy-icon.js +98 -0
  1298. package/development/timetable-occupancy-icon.d.ts +3 -0
  1299. package/development/timetable-occupancy-icon.d.ts.map +1 -1
  1300. package/development/timetable-occupancy-icon.js +2 -95
  1301. package/development/timetable-occupancy.d.ts +3 -0
  1302. package/development/timetable-occupancy.d.ts.map +1 -1
  1303. package/development/timetable-occupancy.js +2 -148
  1304. package/development/title/title-base.js +212 -0
  1305. package/development/title/title.js +60 -0
  1306. package/development/title.d.ts +3 -0
  1307. package/development/title.d.ts.map +1 -1
  1308. package/development/title.js +3 -261
  1309. package/development/toast/toast.js +443 -0
  1310. package/development/toast.d.ts +3 -0
  1311. package/development/toast.d.ts.map +1 -1
  1312. package/development/toast.js +2 -440
  1313. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  1314. package/development/toggle/toggle/toggle.js +342 -0
  1315. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1316. package/development/toggle/toggle-option/toggle-option.js +208 -0
  1317. package/development/toggle/toggle-option.d.ts +3 -0
  1318. package/development/toggle/toggle-option.d.ts.map +1 -1
  1319. package/development/toggle/toggle-option.js +2 -217
  1320. package/development/toggle/toggle.d.ts +3 -0
  1321. package/development/toggle/toggle.d.ts.map +1 -1
  1322. package/development/toggle/toggle.js +2 -340
  1323. package/development/toggle-check/toggle-check.js +284 -0
  1324. package/development/toggle-check.d.ts +3 -0
  1325. package/development/toggle-check.d.ts.map +1 -1
  1326. package/development/toggle-check.js +2 -281
  1327. package/development/toggle.d.ts +3 -0
  1328. package/development/toggle.d.ts.map +1 -1
  1329. package/development/toggle.js +6 -2
  1330. package/development/train/train/train.js +245 -0
  1331. package/development/train/train-blocked-passage/train-blocked-passage.js +87 -0
  1332. package/development/train/train-blocked-passage.d.ts +3 -0
  1333. package/development/train/train-blocked-passage.d.ts.map +1 -1
  1334. package/development/train/train-blocked-passage.js +2 -84
  1335. package/development/train/train-formation/train-formation.js +269 -0
  1336. package/development/train/train-formation.d.ts +3 -0
  1337. package/development/train/train-formation.d.ts.map +1 -1
  1338. package/development/train/train-formation.js +2 -266
  1339. package/development/train/train-wagon/train-wagon.js +415 -0
  1340. package/development/train/train-wagon.d.ts +3 -0
  1341. package/development/train/train-wagon.d.ts.map +1 -1
  1342. package/development/train/train-wagon.js +2 -412
  1343. package/development/train/train.d.ts +3 -0
  1344. package/development/train/train.d.ts.map +1 -1
  1345. package/development/train/train.js +2 -242
  1346. package/development/train.d.ts +3 -0
  1347. package/development/train.d.ts.map +1 -1
  1348. package/development/train.js +10 -4
  1349. package/development/transparent-button-Ddb_s0a0.js +338 -0
  1350. package/development/visual-checkbox/visual-checkbox.js +221 -0
  1351. package/development/visual-checkbox.d.ts +3 -0
  1352. package/development/visual-checkbox.d.ts.map +1 -1
  1353. package/development/visual-checkbox.js +2 -218
  1354. package/dialog/dialog/dialog.d.ts +0 -1
  1355. package/dialog/dialog/dialog.d.ts.map +1 -1
  1356. package/dialog/dialog/dialog.js +142 -0
  1357. package/dialog/dialog-actions/dialog-actions.js +20 -0
  1358. package/dialog/dialog-actions.d.ts +3 -0
  1359. package/dialog/dialog-actions.d.ts.map +1 -1
  1360. package/dialog/dialog-actions.js +2 -18
  1361. package/dialog/dialog-content/dialog-content.js +24 -0
  1362. package/dialog/dialog-content.d.ts +3 -0
  1363. package/dialog/dialog-content.d.ts.map +1 -1
  1364. package/dialog/dialog-content.js +2 -22
  1365. package/dialog/dialog-title/dialog-title.d.ts +0 -1
  1366. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  1367. package/dialog/dialog-title/dialog-title.js +116 -0
  1368. package/dialog/dialog-title.d.ts +3 -0
  1369. package/dialog/dialog-title.d.ts.map +1 -1
  1370. package/dialog/dialog-title.js +2 -117
  1371. package/dialog/dialog.d.ts +3 -0
  1372. package/dialog/dialog.d.ts.map +1 -1
  1373. package/dialog/dialog.js +2 -146
  1374. package/dialog.d.ts +3 -0
  1375. package/dialog.d.ts.map +1 -1
  1376. package/dialog.js +10 -4
  1377. package/divider/divider.js +45 -0
  1378. package/divider.d.ts +3 -0
  1379. package/divider.d.ts.map +1 -1
  1380. package/divider.js +2 -43
  1381. package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  1382. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  1383. package/expansion-panel/expansion-panel/expansion-panel.js +165 -0
  1384. package/expansion-panel/expansion-panel-content/expansion-panel-content.js +27 -0
  1385. package/expansion-panel/expansion-panel-content.d.ts +3 -0
  1386. package/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  1387. package/expansion-panel/expansion-panel-content.js +2 -25
  1388. package/expansion-panel/expansion-panel-header/expansion-panel-header.js +65 -0
  1389. package/expansion-panel/expansion-panel-header.d.ts +3 -0
  1390. package/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  1391. package/expansion-panel/expansion-panel-header.js +2 -63
  1392. package/expansion-panel/expansion-panel.d.ts +3 -0
  1393. package/expansion-panel/expansion-panel.d.ts.map +1 -1
  1394. package/expansion-panel/expansion-panel.js +2 -166
  1395. package/expansion-panel.d.ts +3 -0
  1396. package/expansion-panel.d.ts.map +1 -1
  1397. package/expansion-panel.js +8 -3
  1398. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  1399. package/file-selector/common/file-selector-common.js +209 -0
  1400. package/file-selector/common.d.ts +3 -0
  1401. package/file-selector/common.d.ts.map +1 -1
  1402. package/file-selector/common.js +4 -208
  1403. package/file-selector/file-selector/file-selector.js +44 -0
  1404. package/file-selector/file-selector-dropzone/file-selector-dropzone.js +97 -0
  1405. package/file-selector/file-selector-dropzone.d.ts +3 -0
  1406. package/file-selector/file-selector-dropzone.d.ts.map +1 -1
  1407. package/file-selector/file-selector-dropzone.js +2 -95
  1408. package/file-selector/file-selector.d.ts +3 -0
  1409. package/file-selector/file-selector.d.ts.map +1 -1
  1410. package/file-selector/file-selector.js +2 -42
  1411. package/file-selector-common-Dw5d8vA4.js +5 -0
  1412. package/file-selector.d.ts +3 -0
  1413. package/file-selector.d.ts.map +1 -1
  1414. package/file-selector.js +10 -3
  1415. package/flip-card/flip-card/flip-card.js +122 -0
  1416. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  1417. package/flip-card/flip-card-details/flip-card-details.js +45 -0
  1418. package/flip-card/flip-card-details.d.ts +3 -0
  1419. package/flip-card/flip-card-details.d.ts.map +1 -1
  1420. package/flip-card/flip-card-details.js +2 -43
  1421. package/flip-card/flip-card-summary/flip-card-summary.js +52 -0
  1422. package/flip-card/flip-card-summary.d.ts +3 -0
  1423. package/flip-card/flip-card-summary.d.ts.map +1 -1
  1424. package/flip-card/flip-card-summary.js +2 -50
  1425. package/flip-card/flip-card.d.ts +3 -0
  1426. package/flip-card/flip-card.d.ts.map +1 -1
  1427. package/flip-card/flip-card.js +2 -120
  1428. package/flip-card.d.ts +3 -0
  1429. package/flip-card.d.ts.map +1 -1
  1430. package/flip-card.js +8 -3
  1431. package/footer/footer.js +87 -0
  1432. package/footer.d.ts +3 -0
  1433. package/footer.d.ts.map +1 -1
  1434. package/footer.js +2 -85
  1435. package/form-error/form-error.js +47 -0
  1436. package/form-error.d.ts +3 -0
  1437. package/form-error.d.ts.map +1 -1
  1438. package/form-error.js +2 -45
  1439. package/form-field/form-field/form-field.d.ts.map +1 -1
  1440. package/form-field/form-field/form-field.js +363 -0
  1441. package/form-field/form-field-clear/form-field-clear.js +42 -0
  1442. package/form-field/form-field-clear.d.ts +3 -0
  1443. package/form-field/form-field-clear.d.ts.map +1 -1
  1444. package/form-field/form-field-clear.js +2 -40
  1445. package/form-field/form-field.d.ts +3 -0
  1446. package/form-field/form-field.d.ts.map +1 -1
  1447. package/form-field/form-field.js +2 -356
  1448. package/form-field.d.ts +3 -0
  1449. package/form-field.d.ts.map +1 -1
  1450. package/form-field.js +6 -2
  1451. package/header/common/header-action-common.js +50 -0
  1452. package/header/common.d.ts +3 -0
  1453. package/header/common.d.ts.map +1 -1
  1454. package/header/common.js +2 -48
  1455. package/header/header/header.d.ts +6 -7
  1456. package/header/header/header.d.ts.map +1 -1
  1457. package/header/header/header.js +151 -0
  1458. package/header/header-button/header-button.js +16 -0
  1459. package/header/header-button.d.ts +3 -0
  1460. package/header/header-button.d.ts.map +1 -1
  1461. package/header/header-button.js +2 -14
  1462. package/header/header-link/header-link.js +16 -0
  1463. package/header/header-link.d.ts +3 -0
  1464. package/header/header-link.d.ts.map +1 -1
  1465. package/header/header-link.js +2 -14
  1466. package/header/header.d.ts +3 -0
  1467. package/header/header.d.ts.map +1 -1
  1468. package/header/header.js +2 -147
  1469. package/header.d.ts +3 -0
  1470. package/header.d.ts.map +1 -1
  1471. package/header.js +10 -4
  1472. package/icon/icon-base.js +109 -0
  1473. package/icon/icon-name-mixin.js +47 -0
  1474. package/icon/icon-request.js +31 -0
  1475. package/icon/icon-validate.js +26 -0
  1476. package/icon/icon.js +77 -0
  1477. package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
  1478. package/icon.d.ts +3 -0
  1479. package/icon.d.ts.map +1 -1
  1480. package/icon.js +11 -254
  1481. package/image/image.js +469 -0
  1482. package/image.d.ts +3 -0
  1483. package/image.d.ts.map +1 -1
  1484. package/image.js +2 -467
  1485. package/index.d.ts +188 -182
  1486. package/index.js +188 -182
  1487. package/journey-header/journey-header.js +119 -0
  1488. package/journey-header.d.ts +3 -0
  1489. package/journey-header.d.ts.map +1 -1
  1490. package/journey-header.js +2 -117
  1491. package/lead-container/lead-container.js +31 -0
  1492. package/lead-container.d.ts +3 -0
  1493. package/lead-container.d.ts.map +1 -1
  1494. package/lead-container.js +2 -29
  1495. package/link/block-link/block-link.js +17 -0
  1496. package/link/block-link-button/block-link-button.js +17 -0
  1497. package/link/block-link-button.d.ts +3 -0
  1498. package/link/block-link-button.d.ts.map +1 -1
  1499. package/link/block-link-button.js +2 -15
  1500. package/link/block-link-static/block-link-static.js +17 -0
  1501. package/link/block-link-static.d.ts +3 -0
  1502. package/link/block-link-static.d.ts.map +1 -1
  1503. package/link/block-link-static.js +2 -15
  1504. package/link/block-link.d.ts +3 -0
  1505. package/link/block-link.d.ts.map +1 -1
  1506. package/link/block-link.js +2 -15
  1507. package/link/common/block-link-common.js +43 -0
  1508. package/link/common/inline-link-common.js +12 -0
  1509. package/link/common/link-common.js +10 -0
  1510. package/link/common.d.ts +3 -0
  1511. package/link/common.d.ts.map +1 -1
  1512. package/link/common.js +6 -80
  1513. package/link/link/link.js +17 -0
  1514. package/link/link-button/link-button.js +17 -0
  1515. package/link/link-button.d.ts +3 -0
  1516. package/link/link-button.d.ts.map +1 -1
  1517. package/link/link-button.js +2 -15
  1518. package/link/link-static/link-static.js +17 -0
  1519. package/link/link-static.d.ts +3 -0
  1520. package/link/link-static.d.ts.map +1 -1
  1521. package/link/link-static.js +2 -15
  1522. package/link/link.d.ts +3 -0
  1523. package/link/link.d.ts.map +1 -1
  1524. package/link/link.js +2 -15
  1525. package/link-common-DZrQ-32d.js +46 -0
  1526. package/link-list/common/link-list-base.js +87 -0
  1527. package/link-list/common.d.ts +3 -0
  1528. package/link-list/common.d.ts.map +1 -1
  1529. package/link-list/common.js +4 -87
  1530. package/link-list/link-list/link-list.js +46 -0
  1531. package/link-list/link-list-anchor/link-list-anchor.js +17 -0
  1532. package/link-list/link-list-anchor.d.ts +3 -0
  1533. package/link-list/link-list-anchor.d.ts.map +1 -1
  1534. package/link-list/link-list-anchor.js +2 -15
  1535. package/link-list/link-list.d.ts +3 -0
  1536. package/link-list/link-list.d.ts.map +1 -1
  1537. package/link-list/link-list.js +2 -44
  1538. package/link-list-base-BdOBGhxe.js +5 -0
  1539. package/link-list.d.ts +3 -0
  1540. package/link-list.d.ts.map +1 -1
  1541. package/link-list.js +10 -3
  1542. package/link.d.ts +3 -0
  1543. package/link.d.ts.map +1 -1
  1544. package/link.js +20 -7
  1545. package/loading-indicator/loading-indicator.js +66 -0
  1546. package/loading-indicator-circle/loading-indicator-circle.js +46 -0
  1547. package/loading-indicator-circle.d.ts +3 -0
  1548. package/loading-indicator-circle.d.ts.map +1 -1
  1549. package/loading-indicator-circle.js +2 -44
  1550. package/loading-indicator.d.ts +3 -0
  1551. package/loading-indicator.d.ts.map +1 -1
  1552. package/loading-indicator.js +2 -64
  1553. package/logo/logo.js +67 -0
  1554. package/logo.d.ts +3 -0
  1555. package/logo.d.ts.map +1 -1
  1556. package/logo.js +2 -65
  1557. package/map-container/map-container.js +109 -0
  1558. package/map-container.d.ts +3 -0
  1559. package/map-container.d.ts.map +1 -1
  1560. package/map-container.js +2 -107
  1561. package/menu/common/menu-action-common.js +53 -0
  1562. package/menu/common.d.ts +3 -0
  1563. package/menu/common.d.ts.map +1 -1
  1564. package/menu/common.js +2 -51
  1565. package/menu/menu/menu.d.ts +8 -10
  1566. package/menu/menu/menu.d.ts.map +1 -1
  1567. package/menu/menu/menu.js +227 -0
  1568. package/menu/menu-button/menu-button.js +17 -0
  1569. package/menu/menu-button.d.ts +3 -0
  1570. package/menu/menu-button.d.ts.map +1 -1
  1571. package/menu/menu-button.js +2 -15
  1572. package/menu/menu-link/menu-link.js +17 -0
  1573. package/menu/menu-link.d.ts +3 -0
  1574. package/menu/menu-link.d.ts.map +1 -1
  1575. package/menu/menu-link.js +2 -15
  1576. package/menu/menu.d.ts +3 -0
  1577. package/menu/menu.d.ts.map +1 -1
  1578. package/menu/menu.js +2 -230
  1579. package/menu.d.ts +3 -0
  1580. package/menu.d.ts.map +1 -1
  1581. package/menu.js +10 -4
  1582. package/message/message.js +60 -0
  1583. package/message.d.ts +3 -0
  1584. package/message.d.ts.map +1 -1
  1585. package/message.js +2 -58
  1586. package/navigation/common/navigation-action-common.js +58 -0
  1587. package/navigation/common.d.ts +3 -0
  1588. package/navigation/common.d.ts.map +1 -1
  1589. package/navigation/common.js +2 -56
  1590. package/navigation/navigation/navigation.d.ts +19 -25
  1591. package/navigation/navigation/navigation.d.ts.map +1 -1
  1592. package/navigation/navigation/navigation.js +215 -0
  1593. package/navigation/navigation-button/navigation-button.js +16 -0
  1594. package/navigation/navigation-button.d.ts +3 -0
  1595. package/navigation/navigation-button.d.ts.map +1 -1
  1596. package/navigation/navigation-button.js +2 -14
  1597. package/navigation/navigation-link/navigation-link.js +16 -0
  1598. package/navigation/navigation-link.d.ts +3 -0
  1599. package/navigation/navigation-link.d.ts.map +1 -1
  1600. package/navigation/navigation-link.js +2 -14
  1601. package/navigation/navigation-list/navigation-list.js +57 -0
  1602. package/navigation/navigation-list.d.ts +3 -0
  1603. package/navigation/navigation-list.d.ts.map +1 -1
  1604. package/navigation/navigation-list.js +2 -55
  1605. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  1606. package/navigation/navigation-marker/navigation-marker.js +82 -0
  1607. package/navigation/navigation-marker.d.ts +3 -0
  1608. package/navigation/navigation-marker.d.ts.map +1 -1
  1609. package/navigation/navigation-marker.js +2 -80
  1610. package/navigation/navigation-section/navigation-section.d.ts +11 -14
  1611. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  1612. package/navigation/navigation-section/navigation-section.js +233 -0
  1613. package/navigation/navigation-section.d.ts +3 -0
  1614. package/navigation/navigation-section.d.ts.map +1 -1
  1615. package/navigation/navigation-section.js +2 -233
  1616. package/navigation/navigation.d.ts +3 -0
  1617. package/navigation/navigation.d.ts.map +1 -1
  1618. package/navigation/navigation.js +2 -218
  1619. package/navigation.d.ts +3 -0
  1620. package/navigation.d.ts.map +1 -1
  1621. package/navigation.js +16 -7
  1622. package/notification/notification.js +192 -0
  1623. package/notification.d.ts +3 -0
  1624. package/notification.d.ts.map +1 -1
  1625. package/notification.js +2 -190
  1626. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1627. package/option/optgroup/optgroup-base-element.js +115 -0
  1628. package/option/optgroup/optgroup.d.ts +2 -2
  1629. package/option/optgroup/optgroup.d.ts.map +1 -1
  1630. package/option/optgroup/optgroup.js +34 -0
  1631. package/option/optgroup.d.ts +3 -0
  1632. package/option/optgroup.d.ts.map +1 -1
  1633. package/option/optgroup.js +4 -141
  1634. package/option/option/option-base-element.d.ts.map +1 -1
  1635. package/option/option/option-base-element.js +232 -0
  1636. package/option/option/option.js +95 -0
  1637. package/option/option.d.ts +3 -0
  1638. package/option/option.d.ts.map +1 -1
  1639. package/option/option.js +4 -318
  1640. package/option.d.ts +3 -0
  1641. package/option.d.ts.map +1 -1
  1642. package/option.js +10 -2
  1643. package/overlay/overlay-base-element.d.ts +7 -3
  1644. package/overlay/overlay-base-element.d.ts.map +1 -1
  1645. package/overlay/overlay-base-element.js +102 -0
  1646. package/overlay/overlay.d.ts +0 -1
  1647. package/overlay/overlay.d.ts.map +1 -1
  1648. package/overlay/overlay.js +156 -0
  1649. package/overlay.d.ts +3 -0
  1650. package/overlay.d.ts.map +1 -1
  1651. package/overlay.js +5 -239
  1652. package/package.json +17 -2
  1653. package/paginator/common/paginator-common.js +149 -0
  1654. package/paginator/common.d.ts +3 -0
  1655. package/paginator/common.d.ts.map +1 -1
  1656. package/paginator/common.js +2 -147
  1657. package/paginator/compact-paginator/compact-paginator.js +40 -0
  1658. package/paginator/compact-paginator.d.ts +3 -0
  1659. package/paginator/compact-paginator.d.ts.map +1 -1
  1660. package/paginator/compact-paginator.js +2 -38
  1661. package/paginator/paginator/paginator.js +169 -0
  1662. package/paginator/paginator.d.ts +3 -0
  1663. package/paginator/paginator.d.ts.map +1 -1
  1664. package/paginator/paginator.js +2 -167
  1665. package/paginator.d.ts +3 -0
  1666. package/paginator.d.ts.map +1 -1
  1667. package/paginator.js +8 -3
  1668. package/popover/popover/popover.d.ts +9 -8
  1669. package/popover/popover/popover.d.ts.map +1 -1
  1670. package/popover/popover/popover.js +261 -0
  1671. package/popover/popover-trigger/popover-trigger.js +32 -0
  1672. package/popover/popover-trigger.d.ts +3 -0
  1673. package/popover/popover-trigger.d.ts.map +1 -1
  1674. package/popover/popover-trigger.js +2 -30
  1675. package/popover/popover.d.ts +3 -0
  1676. package/popover/popover.d.ts.map +1 -1
  1677. package/popover/popover.js +2 -263
  1678. package/popover.d.ts +3 -0
  1679. package/popover.d.ts.map +1 -1
  1680. package/popover.js +6 -2
  1681. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  1682. package/radio-button/common/radio-button-common.js +64 -0
  1683. package/radio-button/common.d.ts +3 -0
  1684. package/radio-button/common.d.ts.map +1 -1
  1685. package/radio-button/common.js +4 -65
  1686. package/radio-button/radio-button/radio-button.js +57 -0
  1687. package/radio-button/radio-button-group/radio-button-group.js +186 -0
  1688. package/radio-button/radio-button-group.d.ts +3 -0
  1689. package/radio-button/radio-button-group.d.ts.map +1 -1
  1690. package/radio-button/radio-button-group.js +2 -184
  1691. package/radio-button/radio-button-panel/radio-button-panel.js +88 -0
  1692. package/radio-button/radio-button-panel.d.ts +3 -0
  1693. package/radio-button/radio-button-panel.d.ts.map +1 -1
  1694. package/radio-button/radio-button-panel.js +2 -86
  1695. package/radio-button/radio-button.d.ts +3 -0
  1696. package/radio-button/radio-button.d.ts.map +1 -1
  1697. package/radio-button/radio-button.js +2 -55
  1698. package/radio-button-common-DJKWrKor.js +5 -0
  1699. package/radio-button.d.ts +3 -0
  1700. package/radio-button.d.ts.map +1 -1
  1701. package/radio-button.js +12 -4
  1702. package/{sbb-tokens-BgDF8jIh.js → sbb-tokens-B3Eka-Tz.js} +9 -9
  1703. package/screen-reader-only/screen-reader-only.js +19 -0
  1704. package/screen-reader-only.d.ts +3 -0
  1705. package/screen-reader-only.d.ts.map +1 -1
  1706. package/screen-reader-only.js +2 -17
  1707. package/select/select.d.ts +1 -1
  1708. package/select/select.d.ts.map +1 -1
  1709. package/select/select.js +482 -0
  1710. package/select.d.ts +3 -0
  1711. package/select.d.ts.map +1 -1
  1712. package/select.js +2 -479
  1713. package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  1714. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  1715. package/selection-expansion-panel/selection-expansion-panel.js +185 -0
  1716. package/selection-expansion-panel.d.ts +3 -0
  1717. package/selection-expansion-panel.d.ts.map +1 -1
  1718. package/selection-expansion-panel.js +2 -186
  1719. package/sidebar/common.d.ts +3 -0
  1720. package/sidebar/common.d.ts.map +1 -1
  1721. package/sidebar/common.js +3 -4
  1722. package/sidebar/icon-sidebar/icon-sidebar.js +47 -0
  1723. package/sidebar/icon-sidebar-button/icon-sidebar-button.js +20 -0
  1724. package/sidebar/icon-sidebar-button.d.ts +3 -0
  1725. package/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1726. package/sidebar/icon-sidebar-button.js +2 -18
  1727. package/sidebar/icon-sidebar-container/icon-sidebar-container.js +35 -0
  1728. package/sidebar/icon-sidebar-container.d.ts +3 -0
  1729. package/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1730. package/sidebar/icon-sidebar-container.js +2 -33
  1731. package/sidebar/icon-sidebar-content/icon-sidebar-content.js +23 -0
  1732. package/sidebar/icon-sidebar-content.d.ts +3 -0
  1733. package/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1734. package/sidebar/icon-sidebar-content.js +2 -21
  1735. package/sidebar/icon-sidebar-link/icon-sidebar-link.js +20 -0
  1736. package/sidebar/icon-sidebar-link.d.ts +3 -0
  1737. package/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1738. package/sidebar/icon-sidebar-link.js +2 -18
  1739. package/sidebar/icon-sidebar.d.ts +3 -0
  1740. package/sidebar/icon-sidebar.d.ts.map +1 -1
  1741. package/sidebar/icon-sidebar.js +2 -45
  1742. package/sidebar/sidebar/sidebar.d.ts +1 -7
  1743. package/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1744. package/sidebar/sidebar/sidebar.js +194 -0
  1745. package/sidebar/sidebar-close-button/sidebar-close-button.js +29 -0
  1746. package/sidebar/sidebar-close-button.d.ts +3 -0
  1747. package/sidebar/sidebar-close-button.d.ts.map +1 -1
  1748. package/sidebar/sidebar-close-button.js +2 -27
  1749. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1750. package/sidebar/sidebar-container/sidebar-container.js +81 -0
  1751. package/sidebar/sidebar-container.d.ts +3 -0
  1752. package/sidebar/sidebar-container.d.ts.map +1 -1
  1753. package/sidebar/sidebar-container.js +2 -76
  1754. package/sidebar/sidebar-content/sidebar-content.js +23 -0
  1755. package/sidebar/sidebar-content.d.ts +3 -0
  1756. package/sidebar/sidebar-content.d.ts.map +1 -1
  1757. package/sidebar/sidebar-content.js +2 -21
  1758. package/sidebar/sidebar-title/sidebar-title.js +37 -0
  1759. package/sidebar/sidebar-title.d.ts +3 -0
  1760. package/sidebar/sidebar-title.d.ts.map +1 -1
  1761. package/sidebar/sidebar-title.js +2 -35
  1762. package/sidebar/sidebar.d.ts +3 -0
  1763. package/sidebar/sidebar.d.ts.map +1 -1
  1764. package/sidebar/sidebar.js +2 -212
  1765. package/sidebar.d.ts +3 -0
  1766. package/sidebar.d.ts.map +1 -1
  1767. package/sidebar.js +26 -11
  1768. package/signet/signet.js +72 -0
  1769. package/signet.d.ts +3 -0
  1770. package/signet.d.ts.map +1 -1
  1771. package/signet.js +2 -70
  1772. package/skiplink-list/skiplink-list.js +71 -0
  1773. package/skiplink-list.d.ts +3 -0
  1774. package/skiplink-list.d.ts.map +1 -1
  1775. package/skiplink-list.js +2 -69
  1776. package/slider/slider.js +232 -0
  1777. package/slider.d.ts +3 -0
  1778. package/slider.d.ts.map +1 -1
  1779. package/slider.js +2 -230
  1780. package/standard-theme.css +208 -81
  1781. package/status/status.d.ts +4 -0
  1782. package/status/status.d.ts.map +1 -1
  1783. package/status/status.js +89 -0
  1784. package/status.d.ts +3 -0
  1785. package/status.d.ts.map +1 -1
  1786. package/status.js +2 -87
  1787. package/stepper/step/step.d.ts +15 -1
  1788. package/stepper/step/step.d.ts.map +1 -1
  1789. package/stepper/step/step.js +104 -0
  1790. package/stepper/step-label/step-label.js +75 -0
  1791. package/stepper/step-label.d.ts +3 -0
  1792. package/stepper/step-label.d.ts.map +1 -1
  1793. package/stepper/step-label.js +2 -73
  1794. package/stepper/step.d.ts +3 -0
  1795. package/stepper/step.d.ts.map +1 -1
  1796. package/stepper/step.js +2 -88
  1797. package/stepper/stepper/stepper.d.ts +1 -0
  1798. package/stepper/stepper/stepper.d.ts.map +1 -1
  1799. package/stepper/stepper/stepper.js +244 -0
  1800. package/stepper/stepper.d.ts +3 -0
  1801. package/stepper/stepper.d.ts.map +1 -1
  1802. package/stepper/stepper.js +2 -239
  1803. package/stepper.d.ts +3 -0
  1804. package/stepper.d.ts.map +1 -1
  1805. package/stepper.js +8 -3
  1806. package/table/table-wrapper/table-wrapper.d.ts +6 -1
  1807. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1808. package/table/table-wrapper/table-wrapper.js +50 -0
  1809. package/table/table-wrapper.d.ts +3 -0
  1810. package/table/table-wrapper.d.ts.map +1 -1
  1811. package/table/table-wrapper.js +2 -34
  1812. package/table.css +112 -44
  1813. package/table.d.ts +3 -0
  1814. package/table.d.ts.map +1 -1
  1815. package/table.js +4 -1
  1816. package/tabs/tab/tab.js +40 -0
  1817. package/tabs/tab-group/tab-group.js +218 -0
  1818. package/tabs/tab-group.d.ts +3 -0
  1819. package/tabs/tab-group.d.ts.map +1 -1
  1820. package/tabs/tab-group.js +2 -216
  1821. package/tabs/tab-label/tab-label.js +80 -0
  1822. package/tabs/tab-label.d.ts +3 -0
  1823. package/tabs/tab-label.d.ts.map +1 -1
  1824. package/tabs/tab-label.js +2 -78
  1825. package/tabs/tab.d.ts +3 -0
  1826. package/tabs/tab.d.ts.map +1 -1
  1827. package/tabs/tab.js +2 -38
  1828. package/tabs.d.ts +3 -0
  1829. package/tabs.d.ts.map +1 -1
  1830. package/tabs.js +8 -3
  1831. package/tag/tag/tag.js +126 -0
  1832. package/tag/tag-group/tag-group.js +120 -0
  1833. package/tag/tag-group.d.ts +3 -0
  1834. package/tag/tag-group.d.ts.map +1 -1
  1835. package/tag/tag-group.js +2 -118
  1836. package/tag/tag.d.ts +3 -0
  1837. package/tag/tag.d.ts.map +1 -1
  1838. package/tag/tag.js +2 -124
  1839. package/tag.d.ts +3 -0
  1840. package/tag.d.ts.map +1 -1
  1841. package/tag.js +6 -2
  1842. package/teaser/teaser.js +102 -0
  1843. package/teaser-hero/teaser-hero.js +61 -0
  1844. package/teaser-hero.d.ts +3 -0
  1845. package/teaser-hero.d.ts.map +1 -1
  1846. package/teaser-hero.js +2 -59
  1847. package/teaser-product/common/teaser-product-common.js +54 -0
  1848. package/teaser-product/common.d.ts +3 -0
  1849. package/teaser-product/common.d.ts.map +1 -1
  1850. package/teaser-product/common.js +4 -53
  1851. package/teaser-product/teaser-product/teaser-product.js +31 -0
  1852. package/teaser-product/teaser-product-static/teaser-product-static.js +16 -0
  1853. package/teaser-product/teaser-product-static.d.ts +3 -0
  1854. package/teaser-product/teaser-product-static.d.ts.map +1 -1
  1855. package/teaser-product/teaser-product-static.js +2 -14
  1856. package/teaser-product/teaser-product.d.ts +3 -0
  1857. package/teaser-product/teaser-product.d.ts.map +1 -1
  1858. package/teaser-product/teaser-product.js +2 -29
  1859. package/teaser-product-common-CpMAlYEp.js +5 -0
  1860. package/teaser-product.d.ts +3 -0
  1861. package/teaser-product.d.ts.map +1 -1
  1862. package/teaser-product.js +10 -3
  1863. package/teaser.d.ts +3 -0
  1864. package/teaser.d.ts.map +1 -1
  1865. package/teaser.js +2 -100
  1866. package/time-input/time-input.d.ts +6 -8
  1867. package/time-input/time-input.d.ts.map +1 -1
  1868. package/time-input/time-input.js +174 -0
  1869. package/time-input.d.ts +3 -0
  1870. package/time-input.d.ts.map +1 -1
  1871. package/time-input.js +2 -179
  1872. package/timetable-occupancy/timetable-occupancy.js +75 -0
  1873. package/timetable-occupancy-icon/timetable-occupancy-icon.js +64 -0
  1874. package/timetable-occupancy-icon.d.ts +3 -0
  1875. package/timetable-occupancy-icon.d.ts.map +1 -1
  1876. package/timetable-occupancy-icon.js +2 -62
  1877. package/timetable-occupancy.d.ts +3 -0
  1878. package/timetable-occupancy.d.ts.map +1 -1
  1879. package/timetable-occupancy.js +2 -73
  1880. package/title/title-base.js +73 -0
  1881. package/title/title.js +18 -0
  1882. package/title.d.ts +3 -0
  1883. package/title.d.ts.map +1 -1
  1884. package/title.js +4 -83
  1885. package/toast/toast.js +195 -0
  1886. package/toast.d.ts +3 -0
  1887. package/toast.d.ts.map +1 -1
  1888. package/toast.js +2 -193
  1889. package/toggle/toggle/toggle.d.ts.map +1 -1
  1890. package/toggle/toggle/toggle.js +162 -0
  1891. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1892. package/toggle/toggle-option/toggle-option.js +84 -0
  1893. package/toggle/toggle-option.d.ts +3 -0
  1894. package/toggle/toggle-option.d.ts.map +1 -1
  1895. package/toggle/toggle-option.js +2 -94
  1896. package/toggle/toggle.d.ts +3 -0
  1897. package/toggle/toggle.d.ts.map +1 -1
  1898. package/toggle/toggle.js +2 -162
  1899. package/toggle-check/toggle-check.js +81 -0
  1900. package/toggle-check.d.ts +3 -0
  1901. package/toggle-check.d.ts.map +1 -1
  1902. package/toggle-check.js +2 -79
  1903. package/toggle.d.ts +3 -0
  1904. package/toggle.d.ts.map +1 -1
  1905. package/toggle.js +6 -2
  1906. package/train/train/train.js +126 -0
  1907. package/train/train-blocked-passage/train-blocked-passage.js +25 -0
  1908. package/train/train-blocked-passage.d.ts +3 -0
  1909. package/train/train-blocked-passage.d.ts.map +1 -1
  1910. package/train/train-blocked-passage.js +2 -23
  1911. package/train/train-formation/train-formation.js +91 -0
  1912. package/train/train-formation.d.ts +3 -0
  1913. package/train/train-formation.d.ts.map +1 -1
  1914. package/train/train-formation.js +2 -89
  1915. package/train/train-wagon/train-wagon.js +177 -0
  1916. package/train/train-wagon.d.ts +3 -0
  1917. package/train/train-wagon.d.ts.map +1 -1
  1918. package/train/train-wagon.js +2 -175
  1919. package/train/train.d.ts +3 -0
  1920. package/train/train.d.ts.map +1 -1
  1921. package/train/train.js +2 -124
  1922. package/train.d.ts +3 -0
  1923. package/train.d.ts.map +1 -1
  1924. package/train.js +10 -4
  1925. package/transparent-button-BlbvexCb.js +9 -0
  1926. package/visual-checkbox/visual-checkbox.js +83 -0
  1927. package/visual-checkbox.d.ts +3 -0
  1928. package/visual-checkbox.d.ts.map +1 -1
  1929. package/visual-checkbox.js +2 -81
  1930. package/core/testing/private.d.ts +0 -11
  1931. package/core/testing/private.d.ts.map +0 -1
  1932. package/core/testing/test-setup-ssr.d.ts +0 -2
  1933. package/core/testing/test-setup-ssr.d.ts.map +0 -1
  1934. package/core/testing/test-setup.d.ts +0 -2
  1935. package/core/testing/test-setup.d.ts.map +0 -1
  1936. package/development/core/testing/private.d.ts +0 -11
  1937. package/development/core/testing/private.d.ts.map +0 -1
  1938. package/development/core/testing/test-setup-ssr.d.ts +0 -2
  1939. package/development/core/testing/test-setup-ssr.d.ts.map +0 -1
  1940. package/development/core/testing/test-setup.d.ts +0 -2
  1941. package/development/core/testing/test-setup.d.ts.map +0 -1
@@ -0,0 +1,185 @@
1
+ import { SbbLanguageController } from "../controllers.js";
2
+ import { DateAdapter, ISO8601_FORMAT_DATE, FORMAT_DATE } from "./date-adapter.js";
3
+ const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
4
+ class NativeDateAdapter extends DateAdapter {
5
+ constructor(cutoffYearOffset = 15) {
6
+ super();
7
+ this._cutoffYearOffset = cutoffYearOffset;
8
+ }
9
+ /** Gets the year of the input date. */
10
+ getYear(date) {
11
+ return date.getFullYear();
12
+ }
13
+ /** Gets the month of the input date. */
14
+ getMonth(date) {
15
+ return date.getMonth() + 1;
16
+ }
17
+ /** Gets the day of the input date. */
18
+ getDate(date) {
19
+ return date.getDate();
20
+ }
21
+ /** Gets the day of the week of the input date. */
22
+ getDayOfWeek(date) {
23
+ return date.getDay();
24
+ }
25
+ /** Gets the date in the local format. */
26
+ getAccessibilityFormatDate(date) {
27
+ const options = {
28
+ year: "numeric",
29
+ month: "long",
30
+ day: "numeric"
31
+ };
32
+ return new Intl.DateTimeFormat(SbbLanguageController.current, options).format(new Date(date));
33
+ }
34
+ /**
35
+ * Creates an array of strings with length = 12, filled with the name of the months starting from January, in the document language.
36
+ * @param style See `month` in `DateTimeFormatOptions`: `long` for full name, `short` for short name, `narrow` for single letter,
37
+ * E.g., with January in en-gb: `long` returns "January", `short` returns "Jan", `narrow` returns "J".
38
+ */
39
+ getMonthNames(style) {
40
+ const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { month: style });
41
+ return this._range(12, (i) => formatter.format(new Date(2017, i, 1)));
42
+ }
43
+ /** Creates a string array with length = 31, filled with the days in a month, starting from 1. */
44
+ getDateNames() {
45
+ const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { day: "numeric" });
46
+ return this._range(31, (i) => formatter.format(new Date(2017, 0, i + 1)));
47
+ }
48
+ /**
49
+ * Creates a string array with length = 7, filled with the name of the days in a week starting from Sunday, in the document language.
50
+ * @param style See `weekday` in `DateTimeFormatOptions` - 'long' for full name, 'short' for short name, 'narrow' for single letter;
51
+ * E.g., with Monday in en-gb: `long` returns "Monday", `short` returns "Mon", `narrow` returns "M".
52
+ */
53
+ getDayOfWeekNames(style) {
54
+ const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { weekday: style });
55
+ return this._range(7, (i) => formatter.format(new Date(2017, 0, i + 1)));
56
+ }
57
+ /* Defines which is the first day of the week (0: sunday; 1: monday; etc.). */
58
+ getFirstDayOfWeek() {
59
+ return 1;
60
+ }
61
+ /** Calculates the number of days in a month given the year and the month. */
62
+ getNumDaysInMonth(date) {
63
+ return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date), 0));
64
+ }
65
+ /** Creates today's date. */
66
+ today() {
67
+ return new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));
68
+ }
69
+ /** Creates a new date, given day, month and year; the method doesn't allow date's overflow. */
70
+ createDate(year, month, date) {
71
+ if (month < 1 || month > 12) {
72
+ throw Error(`Invalid month index "${month}". Month index has to be between 1 and 12.`);
73
+ }
74
+ if (date < 1) {
75
+ throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
76
+ }
77
+ const result = this._createDateWithOverflow(year, month - 1, date);
78
+ if (result.getMonth() + 1 !== month) {
79
+ throw Error(`Invalid date "${date}" for month with index "${month}".`);
80
+ }
81
+ return result;
82
+ }
83
+ /** Checks whether the given `obj` is a Date. */
84
+ isDateInstance(obj) {
85
+ return obj instanceof Date;
86
+ }
87
+ /** Checks whether the given `date` is a valid Date. */
88
+ isValid(date) {
89
+ return !!date && !isNaN(date.valueOf());
90
+ }
91
+ /** Creates a new date by cloning the given one. */
92
+ clone(date) {
93
+ return new Date(date.valueOf());
94
+ }
95
+ /**
96
+ * Creates a new date adding the number of provided `years` to the provided `date`.
97
+ * @param date The starting date.
98
+ * @param years The number of years to add.
99
+ */
100
+ addCalendarYears(date, years) {
101
+ return this.addCalendarMonths(date, years * 12);
102
+ }
103
+ /**
104
+ * Creates a new date adding the number of provided `months` to the provided `date`.
105
+ * If the calculated month has fewer days than the original one, the date is set to the last day of the month.
106
+ * E.g., with `date` = new Date(2022, 0, 31) and `months` = 1, it returns new Date(2022, 1, 28).
107
+ */
108
+ addCalendarMonths(date, months) {
109
+ const targetMonth = date.getMonth() + months;
110
+ const dateWithCorrectMonth = new Date(date.getFullYear(), targetMonth, 1, 0, 0, 0, 0);
111
+ const daysInMonth = this.getNumDaysInMonth(dateWithCorrectMonth);
112
+ return new Date(this.clone(date).setMonth(targetMonth, Math.min(daysInMonth, date.getDate())));
113
+ }
114
+ /** Creates a new date by adding the number of provided `days` to the provided `date`. */
115
+ addCalendarDays(date, days) {
116
+ const targetDay = date.getDate() + days;
117
+ return new Date(date.getFullYear(), date.getMonth(), targetDay, 0, 0, 0, 0);
118
+ }
119
+ /** Creates a Date from a valid input (Date, string or number in seconds). */
120
+ deserialize(date) {
121
+ if (typeof date === "string") {
122
+ if (!date) {
123
+ return null;
124
+ } else if (!Number.isNaN(+date)) {
125
+ return this.getValidDateOrNull(new Date(+date * 1e3));
126
+ } else if (ISO_8601_REGEX.test(date)) {
127
+ return this.getValidDateOrNull(new Date(date.includes("T") ? date : date + "T00:00:00"));
128
+ }
129
+ } else if (typeof date === "number") {
130
+ return this.getValidDateOrNull(new Date(date * 1e3));
131
+ }
132
+ return super.deserialize(date);
133
+ }
134
+ /** Returns the right format for the `valueAsDate` property. */
135
+ parse(value, now = this.today()) {
136
+ if (!value) {
137
+ return null;
138
+ }
139
+ let date = null;
140
+ const isoMatch = value.match(ISO8601_FORMAT_DATE);
141
+ try {
142
+ date = isoMatch ? this.createDate(+isoMatch[1], +isoMatch[2], +isoMatch[3]) : null;
143
+ } catch {
144
+ }
145
+ if (this.isValid(date)) {
146
+ return date;
147
+ }
148
+ const strippedValue = value.replace(/\D/g, " ").trim();
149
+ const match = strippedValue == null ? void 0 : strippedValue.match(FORMAT_DATE);
150
+ if (!match || match.index !== 0 || match.length <= 2 || match.some((e) => e === void 0) || !this.isValid(this.createDate(+match[3], +match[2], +match[1]))) {
151
+ return null;
152
+ }
153
+ let year = +match[3];
154
+ if (typeof year === "number" && year < 100 && year >= 0) {
155
+ const shift = now.getFullYear() - 2e3 + this._cutoffYearOffset;
156
+ year = year <= shift ? 2e3 + year : 1900 + year;
157
+ }
158
+ return new Date(year, +match[2] - 1, +match[1]);
159
+ }
160
+ invalid() {
161
+ return /* @__PURE__ */ new Date(NaN);
162
+ }
163
+ /**
164
+ * Creates an array with the given length and fills it by mapping with the provided function.
165
+ * @param length The length of the array to be created.
166
+ * @param valueFunction The function of array's index used to fill the array.
167
+ */
168
+ _range(length, valueFunction) {
169
+ return Array.from({ length }).map((_, i) => valueFunction(i));
170
+ }
171
+ /** Creates a date but allows the month and date to overflow. */
172
+ _createDateWithOverflow(year, month, date) {
173
+ const result = new Date(year, month, date);
174
+ if (year >= 0 && year < 100) {
175
+ result.setFullYear(this.getYear(result) - 1900);
176
+ }
177
+ return result;
178
+ }
179
+ }
180
+ const defaultDateAdapter = new NativeDateAdapter();
181
+ export {
182
+ NativeDateAdapter,
183
+ defaultDateAdapter
184
+ };
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGF0ZXRpbWUvbmF0aXZlLWRhdGUtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVMaWtlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSwgc3RyaW5nIG9yIG51bWJlciBpbiBzZWNvbmRzKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oK2RhdGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZSgrZGF0ZSAqIDEwMDApKTtcblxuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICB9IGVsc2UgaWYgKElTT184NjAxX1JFR0VYLnRlc3QoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUuaW5jbHVkZXMoJ1QnKSA/IGRhdGUgOiBkYXRlICsgJ1QwMDowMDowMCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUgKiAxMDAwKSk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGlzb01hdGNoID0gdmFsdWUubWF0Y2goSVNPODYwMV9GT1JNQVRfREFURSk7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcgJykudHJpbSgpO1xuXG4gICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsIHwgdW5kZWZpbmVkID0gc3RyaXBwZWRWYWx1ZT8ubWF0Y2goRk9STUFUX0RBVEUpO1xuICAgIGlmIChcbiAgICAgICFtYXRjaCB8fFxuICAgICAgbWF0Y2guaW5kZXggIT09IDAgfHxcbiAgICAgIG1hdGNoLmxlbmd0aCA8PSAyIHx8XG4gICAgICBtYXRjaC5zb21lKChlKSA9PiBlID09PSB1bmRlZmluZWQpIHx8XG4gICAgICAhdGhpcy5pc1ZhbGlkKHRoaXMuY3JlYXRlRGF0ZSgrbWF0Y2hbM10sICttYXRjaFsyXSwgK21hdGNoWzFdKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB5ZWFyID0gK21hdGNoWzNdO1xuXG4gICAgaWYgKHR5cGVvZiB5ZWFyID09PSAnbnVtYmVyJyAmJiB5ZWFyIDwgMTAwICYmIHllYXIgPj0gMCkge1xuICAgICAgY29uc3Qgc2hpZnQgPSBub3cuZ2V0RnVsbFllYXIoKSAtIDIwMDAgKyB0aGlzLl9jdXRvZmZZZWFyT2Zmc2V0O1xuICAgICAgeWVhciA9IHllYXIgPD0gc2hpZnQgPyAyMDAwICsgeWVhciA6IDE5MDAgKyB5ZWFyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbMV0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoZSBnaXZlbiBsZW5ndGggYW5kIGZpbGxzIGl0IGJ5IG1hcHBpbmcgd2l0aCB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHZhbHVlRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIG9mIGFycmF5J3MgaW5kZXggdXNlZCB0byBmaWxsIHRoZSBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgX3JhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSkubWFwKChfLCBpKSA9PiB2YWx1ZUZ1bmN0aW9uKGkpKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZGF0ZSBidXQgYWxsb3dzIHRoZSBtb250aCBhbmQgZGF0ZSB0byBvdmVyZmxvdy4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxuICAgIGlmICh5ZWFyID49IDAgJiYgeWVhciA8IDEwMCkge1xuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRlQWRhcHRlciA9IG5ldyBOYXRpdmVEYXRlQWRhcHRlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsTUFBTSxpQkFDSjtBQUVJLE1BQU8sMEJBQTBCLFlBQWlCO0FBQUEsRUFHdEQsWUFBbUIsbUJBQTJCLElBQUU7O0FBRTlDLFNBQUssb0JBQW9CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxZQUFXO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEIsU0FBUyxNQUFVO0FBQ2pCLFdBQUEsS0FBSyxhQUFhO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxRQUFPO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJZCxhQUFhLE1BQVU7QUFDNUIsV0FBTyxLQUFLLE9BQU07QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUliLDJCQUEyQixNQUFtQjtBQUNuRCxVQUFNLFVBQXNDO0FBQUEsTUFDMUMsTUFBTTtBQUFBLE1BQ04sT0FBTztBQUFBLE1BQ1AsS0FBSztBQUFBO0FBRUEsV0FBQSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2RixjQUFjLE9BQWtDO0FBQy9DLFVBQUEsWUFBWSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxFQUFFLE9BQU8sT0FBTztBQUN6RixXQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxVQUFVLE9BQU8sSUFBSSxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSS9ELGVBQVk7QUFDWCxVQUFBLFlBQVksSUFBSSxLQUFLLGVBQWUsc0JBQXNCLFNBQVMsRUFBRSxLQUFLLFdBQVc7QUFDM0YsV0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sVUFBVSxPQUFPLElBQUksS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbkUsa0JBQWtCLE9BQWtDO0FBQ25ELFVBQUEsWUFBWSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxFQUFFLFNBQVMsT0FBTztBQUMzRixXQUFPLEtBQUssT0FBTyxHQUFHLENBQUMsTUFBTSxVQUFVLE9BQU8sSUFBSSxLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEUsb0JBQWlCO0FBQ2YsV0FBQTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSUYsa0JBQWtCLE1BQVU7QUFDakMsV0FBTyxLQUFLLFFBQVEsS0FBSyx3QkFBd0IsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSXZGLFFBQUs7QUFDSCxXQUFBLElBQUksTUFBSyxvQkFBSSxLQUFJLEdBQUcsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUkxQyxXQUFXLE1BQWMsT0FBZSxNQUFZO0FBRXJELFFBQUEsUUFBUSxLQUFLLFFBQVEsSUFBSTtBQUNyQixZQUFBLE1BQU0sd0JBQXdCLEtBQUssNENBQTRDO0FBQUEsSUFBQTtBQUd2RixRQUFJLE9BQU8sR0FBRztBQUNOLFlBQUEsTUFBTSxpQkFBaUIsSUFBSSxtQ0FBbUM7QUFBQSxJQUFBO0FBR3RFLFVBQU0sU0FBUyxLQUFLLHdCQUF3QixNQUFNLFFBQVEsR0FBRyxJQUFJO0FBRWpFLFFBQUksT0FBTyxhQUFhLE1BQU0sT0FBTztBQUNuQyxZQUFNLE1BQU0saUJBQWlCLElBQUksMkJBQTJCLEtBQUssSUFBSTtBQUFBLElBQUE7QUFHaEUsV0FBQTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSUYsZUFBZSxLQUFRO0FBQzVCLFdBQU8sZUFBZTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSWpCLFFBQVEsTUFBNkI7QUFDMUMsV0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxTQUFTO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJakMsTUFBTSxNQUFVO0FBQ3JCLFdBQU8sSUFBSSxLQUFLLEtBQUssU0FBUztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRekIsaUJBQWlCLE1BQVksT0FBYTtBQUMvQyxXQUFPLEtBQUssa0JBQWtCLE1BQU0sUUFBUSxFQUFFO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF6QyxrQkFBa0IsTUFBWSxRQUFjO0FBQzNDLFVBQUEsY0FBYyxLQUFLLFNBQUEsSUFBYTtBQUNoQyxVQUFBLHVCQUF1QixJQUFJLEtBQUssS0FBSyxZQUFlLEdBQUEsYUFBYSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDOUUsVUFBQSxjQUFjLEtBQUssa0JBQWtCLG9CQUFvQjtBQUUvRCxXQUFPLElBQUksS0FBSyxLQUFLLE1BQU0sSUFBSSxFQUFFLFNBQVMsYUFBYSxLQUFLLElBQUksYUFBYSxLQUFLLFFBQVMsQ0FBQSxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl4RixnQkFBZ0IsTUFBWSxNQUFZO0FBQ3ZDLFVBQUEsWUFBWSxLQUFLLFFBQUEsSUFBWTtBQUNuQyxXQUFPLElBQUksS0FBSyxLQUFLLFlBQWUsR0FBQSxLQUFLLFlBQVksV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJNUQsWUFBWSxNQUFvQztBQUMxRCxRQUFBLE9BQU8sU0FBUyxVQUFVO0FBQzVCLFVBQUksQ0FBQyxNQUFNO0FBQ0YsZUFBQTtBQUFBLGlCQUNFLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxHQUFHO0FBQy9CLGVBQU8sS0FBSyxtQkFBbUIsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFJLENBQUM7QUFBQSxNQUk1QyxXQUFBLGVBQWUsS0FBSyxJQUFJLEdBQUc7QUFDN0IsZUFBQSxLQUFLLG1CQUFtQixJQUFJLEtBQUssS0FBSyxTQUFTLEdBQUcsSUFBSSxPQUFPLE9BQU8sV0FBVyxDQUFDO0FBQUEsTUFBQTtBQUFBLElBQ3pGLFdBQ1MsT0FBTyxTQUFTLFVBQVU7QUFDbkMsYUFBTyxLQUFLLG1CQUFtQixJQUFJLEtBQUssT0FBTyxHQUFJLENBQUM7QUFBQSxJQUFBO0FBRS9DLFdBQUEsTUFBTSxZQUFZLElBQUk7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl4QixNQUFNLE9BQWtDLE1BQVksS0FBSyxTQUFPO0FBQ3JFLFFBQUksQ0FBQyxPQUFPO0FBQ0gsYUFBQTtBQUFBLElBQUE7QUFHVCxRQUFJLE9BQW9CO0FBQ2xCLFVBQUEsV0FBVyxNQUFNLE1BQU0sbUJBQW1CO0FBQzVDLFFBQUE7QUFDRixhQUFPLFdBQVcsS0FBSyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUk7QUFBQSxJQUFBLFFBQ3hFO0FBQUEsSUFBQTtBQUdKLFFBQUEsS0FBSyxRQUFRLElBQUksR0FBRztBQUNmLGFBQUE7QUFBQSxJQUFBO0FBR1QsVUFBTSxnQkFBZ0IsTUFBTSxRQUFRLE9BQU8sR0FBRyxFQUFFO0FBRTFDLFVBQUEsUUFBNkMsK0NBQWUsTUFBTTtBQUN4RSxRQUNFLENBQUMsU0FDRCxNQUFNLFVBQVUsS0FDaEIsTUFBTSxVQUFVLEtBQ2hCLE1BQU0sS0FBSyxDQUFDLE1BQU0sTUFBTSxNQUFTLEtBQ2pDLENBQUMsS0FBSyxRQUFRLEtBQUssV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQzlEO0FBQ08sYUFBQTtBQUFBLElBQUE7QUFHTCxRQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFFbkIsUUFBSSxPQUFPLFNBQVMsWUFBWSxPQUFPLE9BQU8sUUFBUSxHQUFHO0FBQ3ZELFlBQU0sUUFBUSxJQUFJLFlBQVcsSUFBSyxNQUFPLEtBQUs7QUFDOUMsYUFBTyxRQUFRLFFBQVEsTUFBTyxPQUFPLE9BQU87QUFBQSxJQUFBO0FBR3ZDLFdBQUEsSUFBSSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUEsRUFHaEMsVUFBTztBQUNkLFdBQUEsb0JBQUksS0FBSyxHQUFHO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFiLE9BQVUsUUFBZ0IsZUFBbUM7QUFDbkUsV0FBTyxNQUFNLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxjQUFjLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSXRELHdCQUF3QixNQUFjLE9BQWUsTUFBWTtBQUN2RSxVQUFNLFNBQVMsSUFBSSxLQUFLLE1BQU0sT0FBTyxJQUFJO0FBR3JDLFFBQUEsUUFBUSxLQUFLLE9BQU8sS0FBSztBQUMzQixhQUFPLFlBQVksS0FBSyxRQUFRLE1BQU0sSUFBSSxJQUFJO0FBQUEsSUFBQTtBQUV6QyxXQUFBO0FBQUEsRUFBQTtBQUVWO0FBRVksTUFBQSxxQkFBcUIsSUFBSTsifQ==
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @entrypoint
3
+ */
1
4
  export * from './datetime/date-adapter.js';
2
5
  export * from './datetime/native-date-adapter.js';
3
6
  //# sourceMappingURL=datetime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/datetime.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/datetime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
@@ -1,296 +1,5 @@
1
- import { SbbLanguageController } from "./controllers.js";
2
- const DAYS_PER_ROW = 7;
3
- const MONTHS_PER_ROW = 4;
4
- const YEARS_PER_ROW = 4;
5
- const MONTHS_PER_PAGE = 12;
6
- const YEARS_PER_PAGE = 24;
7
- const FORMAT_DATE = /(^0?[1-9]?|[12]?[0-9]?|3?[01]?)[.,\\/\-\s](0?[1-9]?|1?[0-2]?)?[.,\\/\-\s](\d{1,4}$)?/;
8
- const ISO8601_FORMAT_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
9
- class DateAdapter {
10
- /**
11
- * Attempts to deserialize a value to a valid date object. This is different from parsing in that
12
- * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
13
- * string). The default implementation does not allow any deserialization, it simply checks that
14
- * the given value is already a valid date object or null.
15
- * @param value Either Date, ISOString, Unix Timestamp (number of seconds since Jan 1, 1970).
16
- * @returns The date if the input is valid, `null` otherwise.
17
- */
18
- deserialize(value) {
19
- if (value == null || this.isDateInstance(value) && this.isValid(value)) {
20
- return value;
21
- }
22
- return this.invalid();
23
- }
24
- /**
25
- * Format the given date as string.
26
- * @param date The date to format.
27
- * @param options options object with weekdayStyle as property
28
- */
29
- format(date, options) {
30
- if (!this.isValid(date)) {
31
- return "";
32
- }
33
- const value = /* @__PURE__ */ new Date(this.toIso8601(date) + "T00:00:00");
34
- const dateFormatter = new Intl.DateTimeFormat("de-CH", {
35
- day: "2-digit",
36
- month: "2-digit",
37
- year: "numeric"
38
- });
39
- if ((options == null ? void 0 : options.weekdayStyle) === "none") {
40
- return dateFormatter.format(value);
41
- }
42
- const weekdayStyle = (options == null ? void 0 : options.weekdayStyle) ?? "short";
43
- let weekday = this.getDayOfWeekNames(weekdayStyle)[this.getDayOfWeek(date)];
44
- weekday = weekday.charAt(0).toUpperCase() + weekday.substring(1);
45
- if (weekdayStyle === "short") {
46
- weekday = weekday.substring(0, 2);
47
- }
48
- return `${weekday}, ${dateFormatter.format(value)}`;
49
- }
50
- /**
51
- * Get the given date as ISO String.
52
- * @param date The date to convert to ISO String.
53
- */
54
- toIso8601(date) {
55
- const pad = (value, length = 2) => `${value}`.padStart(length, "0");
56
- return `${pad(this.getYear(date), 4)}-${pad(this.getMonth(date))}-${pad(this.getDate(date))}`;
57
- }
58
- /**
59
- * Given a potential date object, returns that same date object if it is
60
- * a valid date, or `null` if it's not a valid date.
61
- * @param value The object to check.
62
- * @returns A date or `null`.
63
- */
64
- getValidDateOrNull(value) {
65
- return this.isDateInstance(value) && this.isValid(value) ? value : null;
66
- }
67
- /**
68
- * Calculates the day of the week of the first day of the month, and then its offset from the first day of the week.
69
- */
70
- getFirstWeekOffset(date) {
71
- const firstOfMonth = this.createDate(this.getYear(date), this.getMonth(date), 1);
72
- return (DAYS_PER_ROW + this.getDayOfWeek(firstOfMonth) - this.getFirstDayOfWeek()) % DAYS_PER_ROW;
73
- }
74
- /**
75
- * Compares two dates.
76
- * @param first The first date to compare.
77
- * @param second The second date to compare.
78
- * @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,
79
- * a number greater than 0 if the first date is later.
80
- */
81
- compareDate(first, second) {
82
- return this.getYear(first) - this.getYear(second) || this.getMonth(first) - this.getMonth(second) || this.getDate(first) - this.getDate(second);
83
- }
84
- /**
85
- * Checks if two dates are equal.
86
- * @param first The first date to check.
87
- * @param second The second date to check.
88
- * @returns Whether the two dates are equal.
89
- * Null dates are considered equal to other null dates.
90
- */
91
- sameDate(first, second) {
92
- if (first && second) {
93
- const firstValid = this.isValid(first);
94
- const secondValid = this.isValid(second);
95
- if (firstValid && secondValid) {
96
- return !this.compareDate(first, second);
97
- }
98
- return firstValid == secondValid;
99
- }
100
- return first == second;
101
- }
102
- /**
103
- * Clamp the given date between min and max dates.
104
- * @param date The date to clamp.
105
- * @param min The minimum value to allow. If null or omitted no min is enforced.
106
- * @param max The maximum value to allow. If null or omitted no max is enforced.
107
- * @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,
108
- * otherwise `date`.
109
- */
110
- clampDate(date, min, max) {
111
- if (min && this.compareDate(date, min) < 0) {
112
- return min;
113
- }
114
- if (max && this.compareDate(date, max) > 0) {
115
- return max;
116
- }
117
- return date;
118
- }
119
- }
120
- const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
121
- class NativeDateAdapter extends DateAdapter {
122
- constructor(cutoffYearOffset = 15) {
123
- super();
124
- this._cutoffYearOffset = cutoffYearOffset;
125
- }
126
- /** Gets the year of the input date. */
127
- getYear(date) {
128
- return date.getFullYear();
129
- }
130
- /** Gets the month of the input date. */
131
- getMonth(date) {
132
- return date.getMonth() + 1;
133
- }
134
- /** Gets the day of the input date. */
135
- getDate(date) {
136
- return date.getDate();
137
- }
138
- /** Gets the day of the week of the input date. */
139
- getDayOfWeek(date) {
140
- return date.getDay();
141
- }
142
- /** Gets the date in the local format. */
143
- getAccessibilityFormatDate(date) {
144
- const options = {
145
- year: "numeric",
146
- month: "long",
147
- day: "numeric"
148
- };
149
- return new Intl.DateTimeFormat(SbbLanguageController.current, options).format(new Date(date));
150
- }
151
- /**
152
- * Creates an array of strings with length = 12, filled with the name of the months starting from January, in the document language.
153
- * @param style See `month` in `DateTimeFormatOptions`: `long` for full name, `short` for short name, `narrow` for single letter,
154
- * E.g., with January in en-gb: `long` returns "January", `short` returns "Jan", `narrow` returns "J".
155
- */
156
- getMonthNames(style) {
157
- const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { month: style });
158
- return this._range(12, (i) => formatter.format(new Date(2017, i, 1)));
159
- }
160
- /** Creates a string array with length = 31, filled with the days in a month, starting from 1. */
161
- getDateNames() {
162
- const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { day: "numeric" });
163
- return this._range(31, (i) => formatter.format(new Date(2017, 0, i + 1)));
164
- }
165
- /**
166
- * Creates a string array with length = 7, filled with the name of the days in a week starting from Sunday, in the document language.
167
- * @param style See `weekday` in `DateTimeFormatOptions` - 'long' for full name, 'short' for short name, 'narrow' for single letter;
168
- * E.g., with Monday in en-gb: `long` returns "Monday", `short` returns "Mon", `narrow` returns "M".
169
- */
170
- getDayOfWeekNames(style) {
171
- const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { weekday: style });
172
- return this._range(7, (i) => formatter.format(new Date(2017, 0, i + 1)));
173
- }
174
- /* Defines which is the first day of the week (0: sunday; 1: monday; etc.). */
175
- getFirstDayOfWeek() {
176
- return 1;
177
- }
178
- /** Calculates the number of days in a month given the year and the month. */
179
- getNumDaysInMonth(date) {
180
- return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date), 0));
181
- }
182
- /** Creates today's date. */
183
- today() {
184
- return new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));
185
- }
186
- /** Creates a new date, given day, month and year; the method doesn't allow date's overflow. */
187
- createDate(year, month, date) {
188
- if (month < 1 || month > 12) {
189
- throw Error(`Invalid month index "${month}". Month index has to be between 1 and 12.`);
190
- }
191
- if (date < 1) {
192
- throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
193
- }
194
- const result = this._createDateWithOverflow(year, month - 1, date);
195
- if (result.getMonth() + 1 !== month) {
196
- throw Error(`Invalid date "${date}" for month with index "${month}".`);
197
- }
198
- return result;
199
- }
200
- /** Checks whether the given `obj` is a Date. */
201
- isDateInstance(obj) {
202
- return obj instanceof Date;
203
- }
204
- /** Checks whether the given `date` is a valid Date. */
205
- isValid(date) {
206
- return !!date && !isNaN(date.valueOf());
207
- }
208
- /** Creates a new date by cloning the given one. */
209
- clone(date) {
210
- return new Date(date.valueOf());
211
- }
212
- /**
213
- * Creates a new date adding the number of provided `years` to the provided `date`.
214
- * @param date The starting date.
215
- * @param years The number of years to add.
216
- */
217
- addCalendarYears(date, years) {
218
- return this.addCalendarMonths(date, years * 12);
219
- }
220
- /**
221
- * Creates a new date adding the number of provided `months` to the provided `date`.
222
- * If the calculated month has fewer days than the original one, the date is set to the last day of the month.
223
- * E.g., with `date` = new Date(2022, 0, 31) and `months` = 1, it returns new Date(2022, 1, 28).
224
- */
225
- addCalendarMonths(date, months) {
226
- const targetMonth = date.getMonth() + months;
227
- const dateWithCorrectMonth = new Date(date.getFullYear(), targetMonth, 1, 0, 0, 0, 0);
228
- const daysInMonth = this.getNumDaysInMonth(dateWithCorrectMonth);
229
- return new Date(this.clone(date).setMonth(targetMonth, Math.min(daysInMonth, date.getDate())));
230
- }
231
- /** Creates a new date by adding the number of provided `days` to the provided `date`. */
232
- addCalendarDays(date, days) {
233
- const targetDay = date.getDate() + days;
234
- return new Date(date.getFullYear(), date.getMonth(), targetDay, 0, 0, 0, 0);
235
- }
236
- /** Creates a Date from a valid input (Date, string or number in seconds). */
237
- deserialize(date) {
238
- if (typeof date === "string") {
239
- if (!date) {
240
- return null;
241
- } else if (!Number.isNaN(+date)) {
242
- return this.getValidDateOrNull(new Date(+date * 1e3));
243
- } else if (ISO_8601_REGEX.test(date)) {
244
- return this.getValidDateOrNull(new Date(date.includes("T") ? date : date + "T00:00:00"));
245
- }
246
- } else if (typeof date === "number") {
247
- return this.getValidDateOrNull(new Date(date * 1e3));
248
- }
249
- return super.deserialize(date);
250
- }
251
- /** Returns the right format for the `valueAsDate` property. */
252
- parse(value, now = this.today()) {
253
- if (!value) {
254
- return null;
255
- }
256
- const isoMatch = value.match(ISO8601_FORMAT_DATE);
257
- const date = isoMatch ? this.createDate(+isoMatch[1], +isoMatch[2], +isoMatch[3]) : null;
258
- if (this.isValid(date)) {
259
- return date;
260
- }
261
- const strippedValue = value.replace(/\D/g, " ").trim();
262
- const match = strippedValue == null ? void 0 : strippedValue.match(FORMAT_DATE);
263
- if (!match || match.index !== 0 || match.length <= 2 || match.some((e) => e === void 0) || !this.isValid(this.createDate(+match[3], +match[2], +match[1]))) {
264
- return null;
265
- }
266
- let year = +match[3];
267
- if (typeof year === "number" && year < 100 && year >= 0) {
268
- const shift = now.getFullYear() - 2e3 + this._cutoffYearOffset;
269
- year = year <= shift ? 2e3 + year : 1900 + year;
270
- }
271
- return new Date(year, +match[2] - 1, +match[1]);
272
- }
273
- invalid() {
274
- return /* @__PURE__ */ new Date(NaN);
275
- }
276
- /**
277
- * Creates an array with the given length and fills it by mapping with the provided function.
278
- * @param length The length of the array to be created.
279
- * @param valueFunction The function of array's index used to fill the array.
280
- */
281
- _range(length, valueFunction) {
282
- return Array.from({ length }).map((_, i) => valueFunction(i));
283
- }
284
- /** Creates a date but allows the month and date to overflow. */
285
- _createDateWithOverflow(year, month, date) {
286
- const result = new Date(year, month, date);
287
- if (year >= 0 && year < 100) {
288
- result.setFullYear(this.getYear(result) - 1900);
289
- }
290
- return result;
291
- }
292
- }
293
- const defaultDateAdapter = new NativeDateAdapter();
1
+ import { DAYS_PER_ROW, DateAdapter, FORMAT_DATE, ISO8601_FORMAT_DATE, MONTHS_PER_PAGE, MONTHS_PER_ROW, YEARS_PER_PAGE, YEARS_PER_ROW } from "./datetime/date-adapter.js";
2
+ import { NativeDateAdapter, defaultDateAdapter } from "./datetime/native-date-adapter.js";
294
3
  export {
295
4
  DAYS_PER_ROW,
296
5
  DateAdapter,
@@ -303,4 +12,4 @@ export {
303
12
  YEARS_PER_ROW,
304
13
  defaultDateAdapter
305
14
  };
306
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERBWVNfUEVSX1JPVzogbnVtYmVyID0gNztcbmV4cG9ydCBjb25zdCBNT05USFNfUEVSX1JPVzogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCBZRUFSU19QRVJfUk9XOiBudW1iZXIgPSA0O1xuZXhwb3J0IGNvbnN0IE1PTlRIU19QRVJfUEFHRTogbnVtYmVyID0gMTI7XG5leHBvcnQgY29uc3QgWUVBUlNfUEVSX1BBR0U6IG51bWJlciA9IDI0O1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9EQVRFID1cbiAgLyheMD9bMS05XT98WzEyXT9bMC05XT98Mz9bMDFdPylbLixcXFxcL1xcLVxcc10oMD9bMS05XT98MT9bMC0yXT8pP1suLFxcXFwvXFwtXFxzXShcXGR7MSw0fSQpPy87XG5leHBvcnQgY29uc3QgSVNPODYwMV9GT1JNQVRfREFURSA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkkLztcblxuLyoqXG4gKiBBYnN0cmFjdCBkYXRlIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUFkYXB0ZXI8VCA9IGFueT4ge1xuICAvKipcbiAgICogR2V0IHRoZSB5ZWFyIGFzIGEgbnVtYmVyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBhcyBhIG51bWJlci5cbiAgICogQXR0ZW50aW9uOiBUaGlzIHJldHVybnMgMS0xMiBhbmQgbWl0aWdhdGVzIHRoZSBkZWZhdWx0IEphdmFTY3JpcHQgRGF0ZSBiZWhhdmlvci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBudW1iZXIuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZShkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIERheSBvZiB0aGUgd2VlayBhcyBhIG51bWJlci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXlPZldlZWsoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKiogR2V0IHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDA6IHN1bmRheTsgMTogbW9uZGF5OyBldGMuKS4gKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoLlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGhcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgbW9udGhzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKiBHZXQgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgd2VlayBkYXlzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXTtcblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyBhYnN0cmFjdCB0b2RheSgpOiBUO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBhIGdpdmVuIGBkYXRlYCBpcyB2YWxpZC5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYnkgY2xvbmluZyB0aGUgZ2l2ZW4gb25lLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb25lKGRhdGU6IFQpOiBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUsIGdpdmVuIGRheSwgbW9udGggYW5kIHllYXI7IHdpdGhvdXQgZGF0ZSdzIG92ZXJmbG93LlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGggVGhlIG1vbnRoIG9mIHRoZSBkYXRlICgxLWluZGV4ZWQsIDEgPSBKYW51YXJ5KS4gTXVzdCBiZSBhbiBpbnRlZ2VyIDEgLSAxMi5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxuICAgKiBzdHJpbmcpLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyBhbnkgZGVzZXJpYWxpemF0aW9uLCBpdCBzaW1wbHkgY2hlY2tzIHRoYXRcbiAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBAcGFyYW0gdmFsdWUgRWl0aGVyIERhdGUsIElTT1N0cmluZywgVW5peCBUaW1lc3RhbXAgKG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIEphbiAxLCAxOTcwKS5cbiAgICogQHJldHVybnMgVGhlIGRhdGUgaWYgdGhlIGlucHV0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGRlc2VyaWFsaXplKHZhbHVlOiBUIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PSBudWxsIHx8XG4gICAgICAodGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQgfCBudWxsIHwgdW5kZWZpbmVkKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB2YWx1ZSBhcyBUIHwgbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCB5ZWFyczogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4gd2l0aCBgZGF0ZWAgPSBuZXcgRGF0ZSgyMDIyLCAwLCAzMSkgYW5kIGBtb250aHNgID0gMSwgaXQgcmV0dXJucyBuZXcgRGF0ZSgyMDIyLCAxLCAyOCkuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0gbW9udGhzIFRoZSBudW1iZXIgb2YgbW9udGhzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBtb250aHM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC5cbiAgICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUuXG4gICAqIEBwYXJhbSBkYXlzIFRoZSBudW1iZXIgb2YgZGF5cyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQsIGRheXM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGF0ZSBpbiB0aGUgbG9jYWwgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXRcbiAgICogQHJldHVybnMgVGhlIGBkYXRlYCBpbiB0aGUgbG9jYWwgZm9ybWF0IGFzIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBUIHwgc3RyaW5nKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGdpdmVuIHN0cmluZyBhcyBEYXRlLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBERC5NTS5ZWVlZLlxuICAgKiBAcGFyYW0gbm93IFRoZSBjdXJyZW50IGRhdGUgYXMgRGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgbm93PzogVCk6IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGdpdmVuIGRhdGUgYXMgc3RyaW5nLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgb2JqZWN0IHdpdGggd2Vla2RheVN0eWxlIGFzIHByb3BlcnR5XG4gICAqL1xuICBwdWJsaWMgZm9ybWF0KFxuICAgIGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiB7IHdlZWtkYXlTdHlsZT86ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93JyB8ICdub25lJyB9LFxuICApOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnRvSXNvODYwMShkYXRlISkgKyAnVDAwOjAwOjAwJyk7XG4gICAgY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1DSCcsIHtcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zPy53ZWVrZGF5U3R5bGUgPT09ICdub25lJykge1xuICAgICAgcmV0dXJuIGRhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB3ZWVrZGF5U3R5bGUgPSBvcHRpb25zPy53ZWVrZGF5U3R5bGUgPz8gJ3Nob3J0JztcbiAgICBsZXQgd2Vla2RheSA9IHRoaXMuZ2V0RGF5T2ZXZWVrTmFtZXMod2Vla2RheVN0eWxlKVt0aGlzLmdldERheU9mV2VlayhkYXRlISldO1xuICAgIHdlZWtkYXkgPSB3ZWVrZGF5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd2Vla2RheS5zdWJzdHJpbmcoMSk7XG4gICAgLy8gV2UgaGF2ZSB0aGUgc3BlY2lhbCByZXF1aXJlbWVudCBmb3IgZGF0ZSBmb3JtYXRzIGF0IFNCQiwgd2hlcmUgdGhlIHNob3J0IGZvcm1cbiAgICAvLyBmb3Igd2Vla2RheXMgc2hvdWxkIGJlIHR3byBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cbiAgICBpZiAod2Vla2RheVN0eWxlID09PSAnc2hvcnQnKSB7XG4gICAgICB3ZWVrZGF5ID0gd2Vla2RheS5zdWJzdHJpbmcoMCwgMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3dlZWtkYXl9LCAke2RhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBgb2JqYCBpcyBhIERhdGUuXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBjaGVjay5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdldHMgZGF0ZSBpbnN0YW5jZSB0aGF0IGlzIG5vdCB2YWxpZC5cbiAgICogQHJldHVybnMgQW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGludmFsaWQoKTogVDtcblxuICAvKipcbiAgICogR2V0IHRoZSBnaXZlbiBkYXRlIGFzIElTTyBTdHJpbmcuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBkYXRlIHRvIGNvbnZlcnQgdG8gSVNPIFN0cmluZy5cbiAgICovXG4gIHB1YmxpYyB0b0lzbzg2MDEoZGF0ZTogVCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFkID0gKHZhbHVlOiBudW1iZXIsIGxlbmd0aCA9IDIpOiBzdHJpbmcgPT4gYCR7dmFsdWV9YC5wYWRTdGFydChsZW5ndGgsICcwJyk7XG4gICAgcmV0dXJuIGAke3BhZCh0aGlzLmdldFllYXIoZGF0ZSksIDQpfS0ke3BhZCh0aGlzLmdldE1vbnRoKGRhdGUpKX0tJHtwYWQodGhpcy5nZXREYXRlKGRhdGUpKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgcG90ZW50aWFsIGRhdGUgb2JqZWN0LCByZXR1cm5zIHRoYXQgc2FtZSBkYXRlIG9iamVjdCBpZiBpdCBpc1xuICAgKiBhIHZhbGlkIGRhdGUsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBhIHZhbGlkIGRhdGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGRhdGUgb3IgYG51bGxgLlxuICAgKi9cbiAgcHVibGljIGdldFZhbGlkRGF0ZU9yTnVsbCh2YWx1ZTogdW5rbm93bik6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQpID8gKHZhbHVlIGFzIFQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGgsIGFuZCB0aGVuIGl0cyBvZmZzZXQgZnJvbSB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgKi9cbiAgcHVibGljIGdldEZpcnN0V2Vla09mZnNldChkYXRlOiBUKTogbnVtYmVyIHtcbiAgICBjb25zdCBmaXJzdE9mTW9udGggPSB0aGlzLmNyZWF0ZURhdGUodGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAxKSE7XG4gICAgcmV0dXJuIChcbiAgICAgIChEQVlTX1BFUl9ST1cgKyB0aGlzLmdldERheU9mV2VlayhmaXJzdE9mTW9udGgpIC0gdGhpcy5nZXRGaXJzdERheU9mV2VlaygpKSAlIERBWVNfUEVSX1JPV1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdHdvIGRhdGVzLlxuICAgKiBAcGFyYW0gZmlyc3QgVGhlIGZpcnN0IGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHJldHVybnMgMCBpZiB0aGUgZGF0ZXMgYXJlIGVxdWFsLCBhIG51bWJlciBsZXNzIHRoYW4gMCBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBlYXJsaWVyLFxuICAgKiAgICAgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgaWYgdGhlIGZpcnN0IGRhdGUgaXMgbGF0ZXIuXG4gICAqL1xuICBwdWJsaWMgY29tcGFyZURhdGUoZmlyc3Q6IFQsIHNlY29uZDogVCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZ2V0WWVhcihmaXJzdCkgLSB0aGlzLmdldFllYXIoc2Vjb25kKSB8fFxuICAgICAgdGhpcy5nZXRNb250aChmaXJzdCkgLSB0aGlzLmdldE1vbnRoKHNlY29uZCkgfHxcbiAgICAgIHRoaXMuZ2V0RGF0ZShmaXJzdCkgLSB0aGlzLmdldERhdGUoc2Vjb25kKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqIEBwYXJhbSBmaXJzdCBUaGUgZmlyc3QgZGF0ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqICAgICBOdWxsIGRhdGVzIGFyZSBjb25zaWRlcmVkIGVxdWFsIHRvIG90aGVyIG51bGwgZGF0ZXMuXG4gICAqL1xuICBwdWJsaWMgc2FtZURhdGUoZmlyc3Q6IFQgfCBudWxsLCBzZWNvbmQ6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpcnN0ICYmIHNlY29uZCkge1xuICAgICAgY29uc3QgZmlyc3RWYWxpZCA9IHRoaXMuaXNWYWxpZChmaXJzdCk7XG4gICAgICBjb25zdCBzZWNvbmRWYWxpZCA9IHRoaXMuaXNWYWxpZChzZWNvbmQpO1xuICAgICAgaWYgKGZpcnN0VmFsaWQgJiYgc2Vjb25kVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT0gc2Vjb25kVmFsaWQ7XG4gICAgfVxuICAgIHJldHVybiBmaXJzdCA9PSBzZWNvbmQ7XG4gIH1cblxuICAvKipcbiAgICogQ2xhbXAgdGhlIGdpdmVuIGRhdGUgYmV0d2VlbiBtaW4gYW5kIG1heCBkYXRlcy5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gY2xhbXAuXG4gICAqIEBwYXJhbSBtaW4gVGhlIG1pbmltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtaW4gaXMgZW5mb3JjZWQuXG4gICAqIEBwYXJhbSBtYXggVGhlIG1heGltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtYXggaXMgZW5mb3JjZWQuXG4gICAqIEByZXR1cm5zIGBtaW5gIGlmIGBkYXRlYCBpcyBsZXNzIHRoYW4gYG1pbmAsIGBtYXhgIGlmIGRhdGUgaXMgZ3JlYXRlciB0aGFuIGBtYXhgLFxuICAgKiAgICAgb3RoZXJ3aXNlIGBkYXRlYC5cbiAgICovXG4gIHB1YmxpYyBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XG4gICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmVEYXRlKGRhdGUsIG1pbikgPCAwKSB7XG4gICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZURhdGUoZGF0ZSwgbWF4KSA+IDApIHtcbiAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG59XG4iLCJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVMaWtlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSwgc3RyaW5nIG9yIG51bWJlciBpbiBzZWNvbmRzKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oK2RhdGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZSgrZGF0ZSAqIDEwMDApKTtcblxuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICB9IGVsc2UgaWYgKElTT184NjAxX1JFR0VYLnRlc3QoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUuaW5jbHVkZXMoJ1QnKSA/IGRhdGUgOiBkYXRlICsgJ1QwMDowMDowMCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUgKiAxMDAwKSk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBpc29NYXRjaCA9IHZhbHVlLm1hdGNoKElTTzg2MDFfRk9STUFUX0RBVEUpO1xuICAgIGNvbnN0IGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgaWYgKHRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyaXBwZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnICcpLnRyaW0oKTtcblxuICAgIGNvbnN0IG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCB8IHVuZGVmaW5lZCA9IHN0cmlwcGVkVmFsdWU/Lm1hdGNoKEZPUk1BVF9EQVRFKTtcbiAgICBpZiAoXG4gICAgICAhbWF0Y2ggfHxcbiAgICAgIG1hdGNoLmluZGV4ICE9PSAwIHx8XG4gICAgICBtYXRjaC5sZW5ndGggPD0gMiB8fFxuICAgICAgbWF0Y2guc29tZSgoZSkgPT4gZSA9PT0gdW5kZWZpbmVkKSB8fFxuICAgICAgIXRoaXMuaXNWYWxpZCh0aGlzLmNyZWF0ZURhdGUoK21hdGNoWzNdLCArbWF0Y2hbMl0sICttYXRjaFsxXSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgeWVhciA9ICttYXRjaFszXTtcblxuICAgIGlmICh0eXBlb2YgeWVhciA9PT0gJ251bWJlcicgJiYgeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHtcbiAgICAgIGNvbnN0IHNoaWZ0ID0gbm93LmdldEZ1bGxZZWFyKCkgLSAyMDAwICsgdGhpcy5fY3V0b2ZmWWVhck9mZnNldDtcbiAgICAgIHllYXIgPSB5ZWFyIDw9IHNoaWZ0ID8gMjAwMCArIHllYXIgOiAxOTAwICsgeWVhcjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgK21hdGNoWzJdIC0gMSwgK21hdGNoWzFdKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBpbnZhbGlkKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYXJyYXkgd2l0aCB0aGUgZ2l2ZW4gbGVuZ3RoIGFuZCBmaWxscyBpdCBieSBtYXBwaW5nIHdpdGggdGhlIHByb3ZpZGVkIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIGFycmF5IHRvIGJlIGNyZWF0ZWQuXG4gICAqIEBwYXJhbSB2YWx1ZUZ1bmN0aW9uIFRoZSBmdW5jdGlvbiBvZiBhcnJheSdzIGluZGV4IHVzZWQgdG8gZmlsbCB0aGUgYXJyYXkuXG4gICAqL1xuICBwcml2YXRlIF9yYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0pLm1hcCgoXywgaSkgPT4gdmFsdWVGdW5jdGlvbihpKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIGRhdGUgYnV0IGFsbG93cyB0aGUgbW9udGggYW5kIGRhdGUgdG8gb3ZlcmZsb3cuICovXG4gIHByaXZhdGUgX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSk7XG4gICAgLy8gV2UgbmVlZCB0byBjb3JyZWN0IGZvciB0aGUgZmFjdCB0aGF0IEpTIG5hdGl2ZSBEYXRlIHRyZWF0cyB5ZWFycyBpbiByYW5nZSBbMCwgOTldIGFzXG4gICAgLy8gYWJicmV2aWF0aW9ucyBmb3IgMTl4eC5cbiAgICBpZiAoeWVhciA+PSAwICYmIHllYXIgPCAxMDApIHtcbiAgICAgIHJlc3VsdC5zZXRGdWxsWWVhcih0aGlzLmdldFllYXIocmVzdWx0KSAtIDE5MDApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RGF0ZUFkYXB0ZXIgPSBuZXcgTmF0aXZlRGF0ZUFkYXB0ZXIoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQU8sTUFBTSxlQUF1QjtBQUM3QixNQUFNLGlCQUF5QjtBQUMvQixNQUFNLGdCQUF3QjtBQUM5QixNQUFNLGtCQUEwQjtBQUNoQyxNQUFNLGlCQUF5QjtBQUMvQixNQUFNLGNBQ1g7QUFDSyxNQUFNLHNCQUFzQjtNQU9iLFlBQVc7QUFBQTtBQUFBO0FBQUE7QUFBQTtB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
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,18 @@
1
+ import { readConfig } from "../config.js";
2
+ import { defaultDateAdapter } from "../datetime.js";
3
+ const dateConverter = {
4
+ fromAttribute(value, _type) {
5
+ var _a;
6
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
7
+ return dateAdapter.getValidDateOrNull(dateAdapter.deserialize(value));
8
+ },
9
+ toAttribute(value, _type) {
10
+ var _a;
11
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
12
+ return dateAdapter.isValid(value) ? dateAdapter.toIso8601(value) : null;
13
+ }
14
+ };
15
+ export {
16
+ dateConverter
17
+ };
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb252ZXJ0ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1jb252ZXJ0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21wbGV4QXR0cmlidXRlQ29udmVydGVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgZW1wdHkgdmFsdWVzIHRvIG51bGwsIHdoaWNoIHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIGF0dHJpYnV0ZXMuXG4gKiBlLmcuIGZvciBzdHJpbmcgcHJvcGVydGllcywgYW4gZW1wdHkgdmFsdWUgJycgd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYW5cbiAqIGVtcHR5IGF0dHJpYnV0ZSwgYXMgd291bGQgYmUgdGhlIGRlZmF1bHQgd2l0aCBsaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBkYXRlQ29udmVydGVyOiBDb21wbGV4QXR0cmlidXRlQ29udmVydGVyID0ge1xuICBmcm9tQXR0cmlidXRlKHZhbHVlLCBfdHlwZSkge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgcmV0dXJuIGRhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9LFxuICB0b0F0dHJpYnV0ZSh2YWx1ZSwgX3R5cGUpIHtcbiAgICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIHJldHVybiBkYXRlQWRhcHRlci5pc1ZhbGlkKHZhbHVlKSA/IGRhdGVBZGFwdGVyLnRvSXNvODYwMSh2YWx1ZSkgOiBudWxsO1xuICB9LFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVPLE1BQU0sZ0JBQTJDO0FBQUEsRUFDdEQsY0FBYyxPQUFPLE9BQUs7O0FBQ3hCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksbUJBQW1CLFlBQVksWUFBWSxLQUFLLENBQUM7QUFBQSxFQUN0RTtBQUFBLEVBQ0EsWUFBWSxPQUFPLE9BQUs7O0FBQ3RCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksUUFBUSxLQUFLLElBQUksWUFBWSxVQUFVLEtBQUssSUFBSTtBQUFBLEVBQUE7OyJ9
@@ -0,0 +1,11 @@
1
+ import { readConfig } from "../config.js";
2
+ import { defaultDateAdapter } from "../datetime.js";
3
+ function DateOnlyType(value) {
4
+ var _a;
5
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
6
+ return dateAdapter.isDateInstance(value) && dateAdapter.isValid(value) ? dateAdapter.createDate(dateAdapter.getYear(value), dateAdapter.getMonth(value), dateAdapter.getDate(value)) : null;
7
+ }
8
+ export {
9
+ DateOnlyType
10
+ };
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1vbmx5LXR5cGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1vbmx5LXR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGdpdmVuIHZhbHVlIHRvIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAqIFNob3VsZCBiZSB1c2VkIGFzIGEgdHlwZSBoaW50IGZvciB0aGUgQHByb3BlcnR5IGRlY29yYXRvci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGRhdGUgb2JqZWN0LlxuICogQHJldHVybnMgQSBkYXRlIG9iamVjdCBvciBudWxsLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gRGF0ZU9ubHlUeXBlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB8IG51bGwge1xuICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpXG4gICAgPyBkYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICBkYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICBkYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgIClcbiAgICA6IG51bGw7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVTSxTQUFVLGFBQWEsT0FBYzs7QUFDekMsUUFBTSxnQkFBYyxnQkFBQSxFQUFhLGFBQWIsbUJBQXVCLGdCQUFlO0FBQ25ELFNBQUEsWUFBWSxlQUFlLEtBQUssS0FBSyxZQUFZLFFBQVEsS0FBSyxJQUNqRSxZQUFZLFdBQ1YsWUFBWSxRQUFRLEtBQUssR0FDekIsWUFBWSxTQUFTLEtBQUssR0FDMUIsWUFBWSxRQUFRLEtBQUssQ0FBQyxJQUU1QjtBQUNOOyJ9