@tedi-design-system/react 18.0.0-rc.2 → 18.0.0-rc.20

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 (372) hide show
  1. package/_virtual/index.cjs10.js +1 -1
  2. package/_virtual/index.cjs11.js +1 -1
  3. package/_virtual/index.cjs12.js +1 -1
  4. package/_virtual/index.cjs13.js +1 -1
  5. package/_virtual/index.cjs5.js +1 -1
  6. package/_virtual/index.cjs6.js +1 -1
  7. package/_virtual/index.cjs7.js +1 -1
  8. package/_virtual/index.cjs8.js +1 -1
  9. package/_virtual/index.cjs9.js +1 -1
  10. package/_virtual/index.es10.js +1 -1
  11. package/_virtual/index.es11.js +1 -1
  12. package/_virtual/index.es12.js +1 -1
  13. package/_virtual/index.es13.js +2 -4
  14. package/_virtual/index.es5.js +4 -2
  15. package/_virtual/index.es6.js +1 -1
  16. package/_virtual/index.es7.js +1 -1
  17. package/_virtual/index.es8.js +1 -1
  18. package/_virtual/index.es9.js +1 -1
  19. package/bundle-stats.html +1 -1
  20. package/external/@floating-ui/core/dist/floating-ui.core.cjs.js +1 -1
  21. package/external/@floating-ui/core/dist/floating-ui.core.es.js +275 -271
  22. package/external/@floating-ui/dom/dist/floating-ui.dom.cjs.js +1 -1
  23. package/external/@floating-ui/dom/dist/floating-ui.dom.es.js +189 -188
  24. package/external/@floating-ui/react/dist/floating-ui.react.cjs.js +1 -1
  25. package/external/@floating-ui/react/dist/floating-ui.react.es.js +1419 -1538
  26. package/external/@floating-ui/react/dist/floating-ui.react.utils.cjs.js +1 -1
  27. package/external/@floating-ui/react/dist/floating-ui.react.utils.es.js +348 -81
  28. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +1 -1
  29. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +113 -93
  30. package/external/@floating-ui/utils/dist/floating-ui.utils.cjs.js +1 -1
  31. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +1 -1
  32. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +97 -97
  33. package/external/@floating-ui/utils/dist/floating-ui.utils.es.js +66 -68
  34. package/external/@mui/system/colorManipulator.cjs.js +1 -1
  35. package/external/@mui/system/colorManipulator.es.js +2 -2
  36. package/external/@mui/system/createStyled.cjs.js +1 -1
  37. package/external/@mui/system/createStyled.es.js +6 -6
  38. package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
  39. package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
  40. package/external/lodash-es/_baseUnset.cjs.js +1 -1
  41. package/external/lodash-es/_baseUnset.es.js +12 -19
  42. package/external/tabbable/dist/index.esm.cjs.js +1 -1
  43. package/external/tabbable/dist/index.esm.es.js +72 -63
  44. package/external/toposort/index.cjs.js +1 -1
  45. package/external/toposort/index.es.js +1 -1
  46. package/index.css +1 -1
  47. package/package.json +4 -4
  48. package/src/community/components/accordion/accordion-item/accordion-item.d.ts +3 -0
  49. package/src/community/components/accordion/accordion-item-content/accordion-item-content.d.ts +3 -0
  50. package/src/community/components/accordion/accordion-item-header/accordion-item-header.d.ts +3 -0
  51. package/src/community/components/accordion/accordion.d.ts +3 -0
  52. package/src/community/components/form/pickers/calendar/calendar.d.ts +6 -0
  53. package/src/community/components/form/pickers/datepicker/datepicker.d.ts +6 -0
  54. package/src/community/components/form/pickers/datetimepicker/datetimepicker.d.ts +6 -0
  55. package/src/community/components/form/pickers/timepicker/timepicker.d.ts +6 -0
  56. package/src/community/components/layout/footer/footer.d.ts +6 -0
  57. package/src/community/components/map-components/carousel/carousel.d.ts +10 -0
  58. package/src/community/components/modal/modal-closer.d.ts +6 -0
  59. package/src/community/components/modal/modal-provider.d.ts +6 -0
  60. package/src/community/components/modal/modal-trigger.d.ts +6 -0
  61. package/src/community/components/modal/modal.d.ts +6 -0
  62. package/src/community/components/placeholder/placeholder.d.ts +5 -0
  63. package/src/community/components/stepper/step.d.ts +6 -0
  64. package/src/community/components/stepper/stepper-nav.d.ts +6 -0
  65. package/src/community/components/stepper/stepper.d.ts +6 -0
  66. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  67. package/src/tedi/components/buttons/button-group/button-group.es.js +4 -4
  68. package/src/tedi/components/buttons/card-button/card-button.cjs.js +1 -0
  69. package/src/tedi/components/buttons/card-button/card-button.d.ts +17 -0
  70. package/src/tedi/components/buttons/card-button/card-button.es.js +26 -0
  71. package/src/tedi/components/buttons/card-button/card-button.module.scss.cjs.js +1 -0
  72. package/src/tedi/components/buttons/card-button/card-button.module.scss.es.js +6 -0
  73. package/src/tedi/components/buttons/card-button/index.d.ts +1 -0
  74. package/src/tedi/components/buttons/collapse/collapse.cjs.js +1 -1
  75. package/src/tedi/components/buttons/collapse/collapse.d.ts +15 -0
  76. package/src/tedi/components/buttons/collapse/collapse.es.js +58 -56
  77. package/src/tedi/components/buttons/collapse-button/collapse-button.cjs.js +1 -0
  78. package/src/tedi/components/buttons/collapse-button/collapse-button.d.ts +61 -0
  79. package/src/tedi/components/buttons/collapse-button/collapse-button.es.js +68 -0
  80. package/src/tedi/components/buttons/collapse-button/collapse-button.module.scss.cjs.js +1 -0
  81. package/src/tedi/components/buttons/collapse-button/collapse-button.module.scss.es.js +17 -0
  82. package/src/tedi/components/content/accordion/accordion-context.cjs.js +1 -0
  83. package/src/tedi/components/content/accordion/accordion-context.d.ts +27 -0
  84. package/src/tedi/components/content/accordion/accordion-context.es.js +6 -0
  85. package/src/tedi/components/content/accordion/accordion-item/accordion-item-context.cjs.js +1 -0
  86. package/src/tedi/components/content/accordion/accordion-item/accordion-item-context.d.ts +24 -0
  87. package/src/tedi/components/content/accordion/accordion-item/accordion-item-context.es.js +11 -0
  88. package/src/tedi/components/content/accordion/accordion-item/accordion-item.cjs.js +1 -0
  89. package/src/tedi/components/content/accordion/accordion-item/accordion-item.d.ts +76 -0
  90. package/src/tedi/components/content/accordion/accordion-item/accordion-item.es.js +70 -0
  91. package/src/tedi/components/content/accordion/accordion-item-content/accordion-item-content.cjs.js +1 -0
  92. package/src/tedi/components/content/accordion/accordion-item-content/accordion-item-content.d.ts +16 -0
  93. package/src/tedi/components/content/accordion/accordion-item-content/accordion-item-content.es.js +31 -0
  94. package/src/tedi/components/content/accordion/accordion-item-header/accordion-item-header.cjs.js +1 -0
  95. package/src/tedi/components/content/accordion/accordion-item-header/accordion-item-header.d.ts +134 -0
  96. package/src/tedi/components/content/accordion/accordion-item-header/accordion-item-header.es.js +127 -0
  97. package/src/tedi/components/content/accordion/accordion.cjs.js +1 -0
  98. package/src/tedi/components/content/accordion/accordion.d.ts +61 -0
  99. package/src/tedi/components/content/accordion/accordion.es.js +52 -0
  100. package/src/tedi/components/content/accordion/accordion.module.scss.cjs.js +1 -0
  101. package/src/tedi/components/content/accordion/accordion.module.scss.es.js +32 -0
  102. package/src/tedi/components/content/accordion/index.d.ts +6 -0
  103. package/src/tedi/components/content/calendar/calendar-grid.cjs.js +1 -1
  104. package/src/tedi/components/content/calendar/calendar-grid.es.js +7 -6
  105. package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
  106. package/src/tedi/components/content/calendar/calendar.d.ts +9 -1
  107. package/src/tedi/components/content/calendar/calendar.es.js +72 -71
  108. package/src/tedi/components/content/calendar/calendar.module.scss.cjs.js +1 -1
  109. package/src/tedi/components/content/calendar/calendar.module.scss.es.js +3 -2
  110. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
  111. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +99 -79
  112. package/src/tedi/components/content/carousel/carousel-context.cjs.js +1 -0
  113. package/src/tedi/components/content/carousel/carousel-context.d.ts +7 -0
  114. package/src/tedi/components/content/carousel/carousel-context.es.js +11 -0
  115. package/src/tedi/components/content/carousel/carousel-utils.cjs.js +1 -0
  116. package/src/tedi/components/content/carousel/carousel-utils.d.ts +26 -0
  117. package/src/tedi/components/content/carousel/carousel-utils.es.js +14 -0
  118. package/src/tedi/components/content/carousel/carousel.cjs.js +1 -0
  119. package/src/tedi/components/content/carousel/carousel.d.ts +20 -0
  120. package/src/tedi/components/content/carousel/carousel.es.js +27 -0
  121. package/src/tedi/components/content/carousel/carousel.module.scss.cjs.js +1 -0
  122. package/src/tedi/components/content/carousel/carousel.module.scss.es.js +18 -0
  123. package/src/tedi/components/content/carousel/components/carousel-content/carousel-content.cjs.js +1 -0
  124. package/src/tedi/components/content/carousel/components/carousel-content/carousel-content.d.ts +53 -0
  125. package/src/tedi/components/content/carousel/components/carousel-content/carousel-content.es.js +103 -0
  126. package/src/tedi/components/content/carousel/components/carousel-footer/carousel-footer.cjs.js +1 -0
  127. package/src/tedi/components/content/carousel/components/carousel-footer/carousel-footer.d.ts +17 -0
  128. package/src/tedi/components/content/carousel/components/carousel-footer/carousel-footer.es.js +10 -0
  129. package/src/tedi/components/content/carousel/components/carousel-header/carousel-header.cjs.js +1 -0
  130. package/src/tedi/components/content/carousel/components/carousel-header/carousel-header.d.ts +17 -0
  131. package/src/tedi/components/content/carousel/components/carousel-header/carousel-header.es.js +10 -0
  132. package/src/tedi/components/content/carousel/components/carousel-indicators/carousel-indicators.cjs.js +1 -0
  133. package/src/tedi/components/content/carousel/components/carousel-indicators/carousel-indicators.d.ts +20 -0
  134. package/src/tedi/components/content/carousel/components/carousel-indicators/carousel-indicators.es.js +38 -0
  135. package/src/tedi/components/content/carousel/components/carousel-navigation/carousel-navigation.cjs.js +1 -0
  136. package/src/tedi/components/content/carousel/components/carousel-navigation/carousel-navigation.d.ts +43 -0
  137. package/src/tedi/components/content/carousel/components/carousel-navigation/carousel-navigation.es.js +48 -0
  138. package/src/tedi/components/content/carousel/index.d.ts +7 -0
  139. package/src/tedi/components/content/carousel/use-carousel.cjs.js +1 -0
  140. package/src/tedi/components/content/carousel/use-carousel.d.ts +56 -0
  141. package/src/tedi/components/content/carousel/use-carousel.es.js +228 -0
  142. package/src/tedi/components/content/table/index.d.ts +6 -0
  143. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.cjs.js +1 -0
  144. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.d.ts +15 -0
  145. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.es.js +37 -0
  146. package/src/tedi/components/content/table/table-context.cjs.js +1 -0
  147. package/src/tedi/components/content/table/table-context.d.ts +3 -0
  148. package/src/tedi/components/content/table/table-context.es.js +11 -0
  149. package/src/tedi/components/content/table/table-header-button/table-header-button.cjs.js +1 -0
  150. package/src/tedi/components/content/table/table-header-button/table-header-button.d.ts +51 -0
  151. package/src/tedi/components/content/table/table-header-button/table-header-button.es.js +42 -0
  152. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.cjs.js +1 -0
  153. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.es.js +7 -0
  154. package/src/tedi/components/content/table/table-toolbar/table-toolbar.cjs.js +1 -0
  155. package/src/tedi/components/content/table/table-toolbar/table-toolbar.d.ts +21 -0
  156. package/src/tedi/components/content/table/table-toolbar/table-toolbar.es.js +9 -0
  157. package/src/tedi/components/content/table/table.cjs.js +1 -0
  158. package/src/tedi/components/content/table/table.d.ts +519 -0
  159. package/src/tedi/components/content/table/table.es.js +856 -0
  160. package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -0
  161. package/src/tedi/components/content/table/table.module.scss.es.js +54 -0
  162. package/src/tedi/components/content/table/use-table-persistence.cjs.js +1 -0
  163. package/src/tedi/components/content/table/use-table-persistence.d.ts +13 -0
  164. package/src/tedi/components/content/table/use-table-persistence.es.js +53 -0
  165. package/src/tedi/components/filter/filter/filter-group-context.cjs.js +1 -0
  166. package/src/tedi/components/filter/filter/filter-group-context.d.ts +8 -0
  167. package/src/tedi/components/filter/filter/filter-group-context.es.js +5 -0
  168. package/src/tedi/components/filter/filter/filter-group.cjs.js +1 -0
  169. package/src/tedi/components/filter/filter/filter-group.d.ts +94 -0
  170. package/src/tedi/components/filter/filter/filter-group.es.js +64 -0
  171. package/src/tedi/components/filter/filter/filter.cjs.js +1 -0
  172. package/src/tedi/components/filter/filter/filter.d.ts +98 -0
  173. package/src/tedi/components/filter/filter/filter.es.js +236 -0
  174. package/src/tedi/components/filter/filter/filter.module.scss.cjs.js +1 -0
  175. package/src/tedi/components/filter/filter/filter.module.scss.es.js +21 -0
  176. package/src/tedi/components/filter/filter/index.d.ts +3 -0
  177. package/src/tedi/components/form/date-field/date-field-helpers.cjs.js +1 -0
  178. package/src/tedi/components/form/date-field/date-field-helpers.d.ts +66 -0
  179. package/src/tedi/components/form/date-field/date-field-helpers.es.js +28 -0
  180. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  181. package/src/tedi/components/form/date-field/date-field.d.ts +22 -0
  182. package/src/tedi/components/form/date-field/date-field.es.js +248 -212
  183. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -0
  184. package/src/tedi/components/form/date-time-field/date-time-field.d.ts +207 -0
  185. package/src/tedi/components/form/date-time-field/date-time-field.es.js +376 -0
  186. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.cjs.js +1 -0
  187. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.es.js +30 -0
  188. package/src/tedi/components/form/input-group/components/input/input.cjs.js +1 -1
  189. package/src/tedi/components/form/input-group/components/input/input.es.js +14 -13
  190. package/src/tedi/components/form/input-group/components/prefix/prefix.cjs.js +1 -1
  191. package/src/tedi/components/form/input-group/components/prefix/prefix.es.js +16 -16
  192. package/src/tedi/components/form/input-group/components/suffix/suffix.cjs.js +1 -1
  193. package/src/tedi/components/form/input-group/components/suffix/suffix.es.js +12 -12
  194. package/src/tedi/components/form/input-group/input-group.cjs.js +1 -1
  195. package/src/tedi/components/form/input-group/input-group.d.ts +13 -0
  196. package/src/tedi/components/form/input-group/input-group.es.js +47 -45
  197. package/src/tedi/components/form/input-group/input-group.module.scss.cjs.js +1 -1
  198. package/src/tedi/components/form/input-group/input-group.module.scss.es.js +2 -0
  199. package/src/tedi/components/form/search/search.cjs.js +1 -1
  200. package/src/tedi/components/form/search/search.es.js +22 -20
  201. package/src/tedi/components/form/select/components/select-multi-option.cjs.js +1 -1
  202. package/src/tedi/components/form/select/components/select-multi-option.es.js +43 -51
  203. package/src/tedi/components/form/select/components/select-single-option.cjs.js +1 -1
  204. package/src/tedi/components/form/select/components/select-single-option.es.js +21 -27
  205. package/src/tedi/components/form/select/select.module.scss.cjs.js +1 -1
  206. package/src/tedi/components/form/select/select.module.scss.es.js +0 -1
  207. package/src/tedi/components/form/textfield/textfield.d.ts +14 -0
  208. package/src/tedi/components/form/time-field/time-field-helpers.cjs.js +1 -1
  209. package/src/tedi/components/form/time-field/time-field-helpers.d.ts +1 -1
  210. package/src/tedi/components/form/time-field/time-field-helpers.es.js +1 -1
  211. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  212. package/src/tedi/components/form/time-field/time-field.d.ts +32 -1
  213. package/src/tedi/components/form/time-field/time-field.es.js +129 -95
  214. package/src/tedi/components/form/time-field/time-picker-modal/time-picker-modal.cjs.js +1 -0
  215. package/src/tedi/components/form/time-field/time-picker-modal/time-picker-modal.d.ts +30 -0
  216. package/src/tedi/components/form/time-field/time-picker-modal/time-picker-modal.es.js +59 -0
  217. package/src/tedi/components/form/time-field/time-picker-modal/time-picker-modal.module.scss.cjs.js +1 -0
  218. package/src/tedi/components/form/time-field/time-picker-modal/time-picker-modal.module.scss.es.js +10 -0
  219. package/src/tedi/components/form/time-picker/components/time-grid/time-grid.cjs.js +1 -1
  220. package/src/tedi/components/form/time-picker/components/time-grid/time-grid.d.ts +5 -1
  221. package/src/tedi/components/form/time-picker/components/time-grid/time-grid.es.js +47 -64
  222. package/src/tedi/components/form/time-picker/components/time-wheel/time-wheel.cjs.js +1 -1
  223. package/src/tedi/components/form/time-picker/components/time-wheel/time-wheel.es.js +1 -1
  224. package/src/tedi/components/form/time-picker/time-picker.module.scss.cjs.js +1 -1
  225. package/src/tedi/components/form/time-picker/time-picker.module.scss.es.js +1 -2
  226. package/src/tedi/components/layout/footer/footer-body/footer-body.cjs.js +1 -0
  227. package/src/tedi/components/layout/footer/footer-body/footer-body.d.ts +30 -0
  228. package/src/tedi/components/layout/footer/footer-body/footer-body.es.js +28 -0
  229. package/src/tedi/components/layout/footer/footer-bottom/footer-bottom.cjs.js +1 -0
  230. package/src/tedi/components/layout/footer/footer-bottom/footer-bottom.d.ts +23 -0
  231. package/src/tedi/components/layout/footer/footer-bottom/footer-bottom.es.js +25 -0
  232. package/src/tedi/components/layout/footer/footer-context.cjs.js +1 -0
  233. package/src/tedi/components/layout/footer/footer-context.d.ts +23 -0
  234. package/src/tedi/components/layout/footer/footer-context.es.js +7 -0
  235. package/src/tedi/components/layout/footer/footer-section/footer-section.cjs.js +1 -0
  236. package/src/tedi/components/layout/footer/footer-section/footer-section.d.ts +48 -0
  237. package/src/tedi/components/layout/footer/footer-section/footer-section.es.js +65 -0
  238. package/src/tedi/components/layout/footer/footer-side/footer-side.cjs.js +1 -0
  239. package/src/tedi/components/layout/footer/footer-side/footer-side.d.ts +36 -0
  240. package/src/tedi/components/layout/footer/footer-side/footer-side.es.js +34 -0
  241. package/src/tedi/components/layout/footer/footer.cjs.js +1 -0
  242. package/src/tedi/components/layout/footer/footer.d.ts +56 -0
  243. package/src/tedi/components/layout/footer/footer.es.js +64 -0
  244. package/src/tedi/components/layout/footer/footer.module.scss.cjs.js +1 -0
  245. package/src/tedi/components/layout/footer/footer.module.scss.es.js +31 -0
  246. package/src/tedi/components/layout/footer/index.d.ts +5 -0
  247. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js +1 -0
  248. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.d.ts +52 -0
  249. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.es.js +68 -0
  250. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.cjs.js +1 -0
  251. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.es.js +9 -0
  252. package/src/tedi/components/layout/mobile-nav/index.d.ts +2 -0
  253. package/src/tedi/components/layout/mobile-nav/mobile-nav.cjs.js +1 -0
  254. package/src/tedi/components/layout/mobile-nav/mobile-nav.d.ts +20 -0
  255. package/src/tedi/components/layout/{sidenav/components/sidenav-mobile/sidenav-mobile.es.js → mobile-nav/mobile-nav.es.js} +21 -20
  256. package/src/tedi/components/layout/sidenav/index.d.ts +2 -2
  257. package/src/tedi/components/layout/sidenav/sidenav.cjs.js +1 -1
  258. package/src/tedi/components/layout/sidenav/sidenav.d.ts +2 -11
  259. package/src/tedi/components/layout/sidenav/sidenav.es.js +27 -27
  260. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.cjs.js +1 -0
  261. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.d.ts +34 -0
  262. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.es.js +33 -0
  263. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.cjs.js +1 -0
  264. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.d.ts +66 -0
  265. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.es.js +101 -0
  266. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.cjs.js +1 -0
  267. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.d.ts +11 -0
  268. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.es.js +9 -0
  269. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.cjs.js +1 -0
  270. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.d.ts +28 -0
  271. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.es.js +30 -0
  272. package/src/tedi/components/layout/top-nav/index.d.ts +5 -0
  273. package/src/tedi/components/layout/top-nav/top-nav-context.cjs.js +1 -0
  274. package/src/tedi/components/layout/top-nav/top-nav-context.d.ts +11 -0
  275. package/src/tedi/components/layout/top-nav/top-nav-context.es.js +6 -0
  276. package/src/tedi/components/layout/top-nav/top-nav.cjs.js +1 -0
  277. package/src/tedi/components/layout/top-nav/top-nav.d.ts +91 -0
  278. package/src/tedi/components/layout/top-nav/top-nav.es.js +171 -0
  279. package/src/tedi/components/layout/top-nav/top-nav.module.scss.cjs.js +1 -0
  280. package/src/tedi/components/layout/top-nav/top-nav.module.scss.es.js +28 -0
  281. package/src/tedi/components/loaders/progress-bar/index.d.ts +1 -0
  282. package/src/tedi/components/loaders/progress-bar/progress-bar.cjs.js +1 -0
  283. package/src/tedi/components/loaders/progress-bar/progress-bar.d.ts +65 -0
  284. package/src/tedi/components/loaders/progress-bar/progress-bar.es.js +75 -0
  285. package/src/tedi/components/loaders/progress-bar/progress-bar.module.scss.cjs.js +1 -0
  286. package/src/tedi/components/loaders/progress-bar/progress-bar.module.scss.es.js +17 -0
  287. package/src/tedi/components/misc/option-content/option-content.cjs.js +1 -0
  288. package/src/tedi/components/misc/option-content/option-content.d.ts +71 -0
  289. package/src/tedi/components/misc/option-content/option-content.es.js +92 -0
  290. package/src/tedi/components/misc/option-content/option-content.module.scss.cjs.js +1 -0
  291. package/src/tedi/components/misc/option-content/option-content.module.scss.es.js +21 -0
  292. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-context.cjs.js +1 -0
  293. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-context.d.ts +2 -0
  294. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-context.es.js +5 -0
  295. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-item.cjs.js +1 -0
  296. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-item.d.ts +45 -0
  297. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper-item.es.js +50 -0
  298. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper.cjs.js +1 -0
  299. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper.d.ts +36 -0
  300. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper.es.js +38 -0
  301. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper.module.scss.cjs.js +1 -0
  302. package/src/tedi/components/navigation/horizontal-stepper/horizontal-stepper.module.scss.es.js +24 -0
  303. package/src/tedi/components/navigation/horizontal-stepper/index.d.ts +2 -0
  304. package/src/tedi/components/navigation/pagination/index.d.ts +1 -0
  305. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.cjs.js +1 -0
  306. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.d.ts +36 -0
  307. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.es.js +65 -0
  308. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.cjs.js +1 -0
  309. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.es.js +13 -0
  310. package/src/tedi/components/navigation/pagination/pagination.cjs.js +1 -1
  311. package/src/tedi/components/navigation/pagination/pagination.d.ts +115 -13
  312. package/src/tedi/components/navigation/pagination/pagination.es.js +244 -96
  313. package/src/tedi/components/navigation/pagination/pagination.module.scss.cjs.js +1 -1
  314. package/src/tedi/components/navigation/pagination/pagination.module.scss.es.js +18 -1
  315. package/src/tedi/components/notifications/alert/alert.cjs.js +1 -1
  316. package/src/tedi/components/notifications/alert/alert.d.ts +14 -1
  317. package/src/tedi/components/notifications/alert/alert.es.js +45 -42
  318. package/src/tedi/components/notifications/alert/alert.module.scss.cjs.js +1 -1
  319. package/src/tedi/components/notifications/alert/alert.module.scss.es.js +2 -1
  320. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js +1 -1
  321. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.d.ts +9 -2
  322. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.es.js +42 -39
  323. package/src/tedi/components/overlays/dropdown/dropdown.d.ts +1 -1
  324. package/src/tedi/components/overlays/dropdown/dropdown.es.js +0 -3
  325. package/src/tedi/components/overlays/modal/index.d.ts +8 -0
  326. package/src/tedi/components/overlays/modal/modal-body/modal-body.cjs.js +1 -0
  327. package/src/tedi/components/overlays/modal/modal-body/modal-body.d.ts +22 -0
  328. package/src/tedi/components/overlays/modal/modal-body/modal-body.es.js +21 -0
  329. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.cjs.js +1 -0
  330. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.d.ts +15 -0
  331. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.es.js +16 -0
  332. package/src/tedi/components/overlays/modal/modal-content/modal-content.cjs.js +1 -0
  333. package/src/tedi/components/overlays/modal/modal-content/modal-content.d.ts +108 -0
  334. package/src/tedi/components/overlays/modal/modal-content/modal-content.es.js +81 -0
  335. package/src/tedi/components/overlays/modal/modal-context.cjs.js +1 -0
  336. package/src/tedi/components/overlays/modal/modal-context.d.ts +59 -0
  337. package/src/tedi/components/overlays/modal/modal-context.es.js +15 -0
  338. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.cjs.js +1 -0
  339. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.d.ts +22 -0
  340. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.es.js +25 -0
  341. package/src/tedi/components/overlays/modal/modal-header/modal-header.cjs.js +1 -0
  342. package/src/tedi/components/overlays/modal/modal-header/modal-header.d.ts +58 -0
  343. package/src/tedi/components/overlays/modal/modal-header/modal-header.es.js +25 -0
  344. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -0
  345. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.d.ts +13 -0
  346. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +14 -0
  347. package/src/tedi/components/overlays/modal/modal.cjs.js +1 -0
  348. package/src/tedi/components/overlays/modal/modal.d.ts +68 -0
  349. package/src/tedi/components/overlays/modal/modal.es.js +76 -0
  350. package/src/tedi/components/overlays/modal/modal.module.scss.cjs.js +1 -0
  351. package/src/tedi/components/overlays/modal/modal.module.scss.es.js +37 -0
  352. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  353. package/src/tedi/components/overlays/overlay/overlay-content.es.js +35 -32
  354. package/src/tedi/components/overlays/tooltip/tooltip.cjs.js +1 -1
  355. package/src/tedi/components/overlays/tooltip/tooltip.es.js +14 -6
  356. package/src/tedi/helpers/hooks/use-breakpoint.cjs.js +1 -1
  357. package/src/tedi/helpers/hooks/use-breakpoint.d.ts +7 -0
  358. package/src/tedi/helpers/hooks/use-breakpoint.es.js +22 -14
  359. package/src/tedi/helpers/hooks/use-sidenav-state.d.ts +1 -1
  360. package/src/tedi/index.d.ts +14 -0
  361. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  362. package/src/tedi/providers/label-provider/labels-map.d.ts +237 -6
  363. package/src/tedi/providers/label-provider/labels-map.es.js +299 -59
  364. package/tedi.cjs.js +1 -1
  365. package/tedi.es.js +332 -224
  366. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.cjs.js +0 -1
  367. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.d.ts +0 -14
  368. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.cjs.js +0 -1
  369. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.d.ts +0 -31
  370. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.es.js +0 -48
  371. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +0 -1
  372. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +0 -8
@@ -1,101 +1,84 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { useId as A, useRef as C, useEffect as I, createElement as N } from "react";
3
- import h from "../../../../../../../external/classnames/index.es.js";
4
- import { Button as $ } from "../../../../buttons/button/button.es.js";
5
- import { ChoiceGroup as R } from "../../../choice-group/choice-group.es.js";
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import A from "../../../../../../../external/classnames/index.es.js";
3
+ import { useId as I, useRef as _, useEffect as N } from "react";
4
+ import { ChoiceGroup as $ } from "../../../choice-group/choice-group.es.js";
6
5
  import d from "../../time-picker.module.scss.es.js";
7
- import { useLabels as D } from "../../../../../providers/label-provider/use-labels.es.js";
8
- import { Row as E } from "../../../../layout/grid/row.es.js";
9
- import { Col as G } from "../../../../layout/grid/col.es.js";
10
- const L = ({
11
- times: l,
12
- value: o,
13
- onSelect: u,
14
- className: k,
15
- colWidth: a = { xs: 6, md: 4 },
16
- variant: p = "button",
17
- bordered: g = !0
6
+ import { useLabels as v } from "../../../../../providers/label-provider/use-labels.es.js";
7
+ const C = ({
8
+ times: p,
9
+ value: n,
10
+ onSelect: f,
11
+ className: b,
12
+ colWidth: s = { xs: 6, md: 4 },
13
+ variant: m = "button",
14
+ bordered: y = !0
18
15
  }) => {
19
- const m = A(), { getLabel: w } = D(), s = C(null);
20
- I(() => {
21
- if (!o) return;
22
- const e = s.current;
16
+ const c = I(), { getLabel: h } = v(), a = _(null);
17
+ N(() => {
18
+ if (!n) return;
19
+ const e = a.current;
23
20
  if (!e) return;
24
- const r = e.querySelector(
25
- `input[type="radio"][value="${o}"], button[data-time="${o}"]`
26
- );
21
+ const r = e.querySelector(`input[type="radio"][value="${n}"]`);
27
22
  r == null || r.focus({ preventScroll: !0 });
28
23
  }, []);
29
- const _ = (e) => {
30
- var b;
31
- if (p !== "radio") return;
32
- const r = s.current;
24
+ const k = (e) => {
25
+ var u;
26
+ const r = a.current;
33
27
  if (!r) return;
34
28
  const t = Array.from(r.querySelectorAll('input[type="radio"]:not([disabled])'));
35
29
  if (t.length === 0) return;
36
- const i = t.findIndex((x) => x === document.activeElement);
37
- let n;
30
+ const o = t.findIndex((x) => x === document.activeElement);
31
+ let i;
38
32
  switch (e.key) {
39
33
  case "ArrowDown":
40
34
  case "ArrowRight":
41
- n = i < 0 || i === t.length - 1 ? 0 : i + 1;
35
+ i = o < 0 || o === t.length - 1 ? 0 : o + 1;
42
36
  break;
43
37
  case "ArrowUp":
44
38
  case "ArrowLeft":
45
- n = i <= 0 ? t.length - 1 : i - 1;
39
+ i = o <= 0 ? t.length - 1 : o - 1;
46
40
  break;
47
41
  case "Home":
48
- n = 0;
42
+ i = 0;
49
43
  break;
50
44
  case "End":
51
- n = t.length - 1;
45
+ i = t.length - 1;
52
46
  break;
53
47
  default:
54
48
  return;
55
49
  }
56
- e.preventDefault(), (b = t[n]) == null || b.focus();
57
- }, f = h(
50
+ e.preventDefault(), (u = t[i]) == null || u.focus();
51
+ }, w = A(
58
52
  d["tedi-time-picker__grid"],
59
53
  {
60
- [d["tedi-time-picker__grid--borderless"]]: !g
54
+ [d["tedi-time-picker__grid--borderless"]]: !y
61
55
  },
62
- k
63
- ), y = typeof a == "object" ? a : { width: a };
64
- return p === "radio" ? /* @__PURE__ */ c("div", { ref: s, className: f, onKeyDown: _, children: /* @__PURE__ */ c(
65
- R,
56
+ b
57
+ ), g = typeof s == "object" ? s : { width: s };
58
+ return /* @__PURE__ */ l("div", { ref: a, className: w, onKeyDown: k, children: /* @__PURE__ */ l(
59
+ $,
66
60
  {
67
- id: `time-picker-group-${m}`,
68
- label: w("timePicker.pickTime"),
61
+ id: `time-picker-group-${c}`,
62
+ label: h("timePicker.pickTime"),
69
63
  inputType: "radio",
70
- name: `time-grid-${m}`,
71
- value: o,
72
- onChange: (e) => u(e),
73
- items: l.map((e) => ({
74
- id: `time-${m}-${e}`,
75
- label: e,
64
+ name: `time-grid-${c}`,
65
+ value: n,
66
+ onChange: (e) => f(e),
67
+ items: p.map((e) => ({
68
+ id: `time-${c}-${e}`,
69
+ label: m === "button" ? /* @__PURE__ */ l("span", { className: d["tedi-time-picker__slot-label"], children: e }) : e,
76
70
  value: e,
77
- colProps: y
71
+ colProps: g
78
72
  })),
79
73
  direction: "row",
80
74
  variant: "card",
81
- showIndicator: !0,
75
+ showIndicator: m === "radio",
82
76
  color: "secondary",
83
77
  hideLabel: !0
84
78
  }
85
- ) }) : /* @__PURE__ */ c("div", { ref: s, className: f, children: /* @__PURE__ */ c(E, { gutter: 2, children: l.map((e) => /* @__PURE__ */ N(G, { ...y, key: e }, /* @__PURE__ */ c(
86
- $,
87
- {
88
- noStyle: !0,
89
- "data-time": e,
90
- className: h(d["tedi-time-picker__grid-item"], {
91
- [d["tedi-time-picker__grid-item--selected"]]: e === o
92
- }),
93
- onClick: () => u(e),
94
- children: e
95
- }
96
- ))) }) });
79
+ ) });
97
80
  };
98
- L.displayName = "TimeGrid";
81
+ C.displayName = "TimeGrid";
99
82
  export {
100
- L as TimeGrid
83
+ C as TimeGrid
101
84
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),j=require("../../../../../../../external/classnames/index.cjs.js"),n=require("react"),t=require("../../../time-field/time-field-helpers.cjs.js"),p=require("../../time-picker.module.scss.cjs.js"),F=({hours:c,minutes:l,selectedHour:a,selectedMinute:s,onChange:x,className:P,bordered:L=!0})=>{const I=n.useId(),i=n.useRef(null),d=n.useRef(null),f=n.useRef(!1),m=n.useRef(!1),g=n.useRef(),k=n.useRef(),v=n.useRef(-1),b=n.useRef(-1),[M,R]=n.useState(null),[C,$]=n.useState(null),N=(r,e)=>Math.max(0,Math.min(e-1,r)),A=(r,e,o)=>{const T=r.current;if(!T||e<0)return;const w=t.getScrollTopForIndex(e);o?f.current=!0:m.current=!0,T.scrollTo({top:w,behavior:"instant"}),requestAnimationFrame(()=>{o?f.current=!1:m.current=!1})};n.useLayoutEffect(()=>{const r=c.indexOf(a),e=l.indexOf(s);r!==v.current&&(v.current=r,A(i,r,!0)),e!==b.current&&(b.current=e,A(d,e,!1)),R(r),$(e)},[c,l,a,s]);const q=n.useRef(()=>{});q.current=()=>{const r=i.current;if(!r||f.current)return;t.clearScrollTimeout(g.current);const e=N(t.snapToNearestItem(r.scrollTop,c.length),c.length);R(e);const o=t.getScrollTopForIndex(e);t.needsScrollCorrection(r.scrollTop,o,8)&&(f.current=!0,t.scrollToIndex(r,e,"instant"),requestAnimationFrame(()=>{f.current=!1})),e!==v.current&&(v.current=e,x(c[e],s))};const y=n.useRef(()=>{});y.current=()=>{const r=d.current;if(!r||m.current)return;t.clearScrollTimeout(k.current);const e=N(t.snapToNearestItem(r.scrollTop,l.length),l.length);$(e);const o=t.getScrollTopForIndex(e);t.needsScrollCorrection(r.scrollTop,o,8)&&(m.current=!0,t.scrollToIndex(r,e,"instant"),requestAnimationFrame(()=>{m.current=!1})),e!==b.current&&(b.current=e,x(a,l[e]))},n.useEffect(()=>{const r=i.current,e=d.current;if(!r||!e)return;const o=()=>q.current(),T=()=>y.current();return r.addEventListener("scrollend",o),e.addEventListener("scrollend",T),()=>{r.removeEventListener("scrollend",o),e.removeEventListener("scrollend",T)}},[]);const H=()=>{if(!i.current||f.current)return;const r=N(t.snapToNearestItem(i.current.scrollTop,c.length),c.length);R(r),t.clearScrollTimeout(g.current),g.current=setTimeout(()=>q.current(),150)},K=()=>{if(!d.current||m.current)return;const r=N(t.snapToNearestItem(d.current.scrollTop,l.length),l.length);$(r),t.clearScrollTimeout(k.current),k.current=setTimeout(()=>y.current(),150)},W=r=>{const e=c[r];!e||!i.current||(t.clearScrollTimeout(g.current),v.current=r,R(r),x(e,s),f.current=!0,t.scrollToIndex(i.current,r,"smooth"),setTimeout(()=>{f.current=!1},300))},U=r=>{const e=l[r];!e||!d.current||(t.clearScrollTimeout(k.current),b.current=r,$(r),x(a,e),m.current=!0,t.scrollToIndex(d.current,r,"smooth"),setTimeout(()=>{m.current=!1},300))},D=(r,e,o,T)=>w=>{const u=e.indexOf(o);if(u===-1)return;let h=-1,_=!1;switch(w.key){case"ArrowDown":h=(u+1)%e.length,_=u===e.length-1;break;case"ArrowUp":h=(u-1+e.length)%e.length,_=u===0;break;case"Home":h=0;break;case"End":h=e.length-1;break;case"PageDown":h=(u+5)%e.length,_=u+5>=e.length;break;case"PageUp":h=(u-5+e.length)%e.length,_=u-5<0;break;case"Enter":case" ":w.preventDefault(),T(e[u]);return;default:return}w.preventDefault();const O=r==="hour"?i.current:d.current,S=O==null?void 0:O.querySelector(`#${CSS.escape(`${I}-${r}-${h}`)}`);S==null||S.focus(),S==null||S.scrollIntoView({block:"center",behavior:_?"auto":"smooth"})};return n.useEffect(()=>()=>{t.clearScrollTimeout(g.current),t.clearScrollTimeout(k.current)},[]),E.jsxs("div",{className:j.default(p.default["tedi-time-picker__wheel"],{[p.default["tedi-time-picker__wheel--borderless"]]:!L},P),children:[E.jsx("div",{ref:i,role:"listbox","aria-label":"Hours",tabIndex:0,"aria-activedescendant":`${I}-hour-${c.indexOf(a)}`,className:p.default["tedi-time-picker__wheel-column"],onScroll:H,onKeyDown:D("hour",c,a,r=>x(r,s)),children:c.map((r,e)=>E.jsx("div",{className:j.default(p.default["tedi-time-picker__wheel-item"],{[p.default["tedi-time-picker__wheel-item--selected"]]:e===(M??c.indexOf(a))}),onClick:()=>W(e),id:`${I}-hour-${e}`,role:"option","aria-selected":r===a,children:r},r))}),E.jsx("div",{ref:d,role:"listbox",className:p.default["tedi-time-picker__wheel-column"],onScroll:K,"aria-label":"Minutes",tabIndex:0,"aria-activedescendant":`${I}-minute-${l.indexOf(s)}`,onKeyDown:D("minute",l,s,r=>x(a,r)),children:l.map((r,e)=>E.jsx("div",{className:j.default(p.default["tedi-time-picker__wheel-item"],{[p.default["tedi-time-picker__wheel-item--selected"]]:e===(C??l.indexOf(s))}),onClick:()=>U(e),id:`${I}-minute-${e}`,role:"option","aria-selected":r===s,children:r},r))})]})};F.displayName="TimeWheel";exports.TimeWheel=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),j=require("../../../../../../../external/classnames/index.cjs.js"),n=require("react"),t=require("../../../time-field/time-field-helpers.cjs.js"),p=require("../../time-picker.module.scss.cjs.js"),F=({hours:c,minutes:l,selectedHour:s,selectedMinute:a,onChange:x,className:P,bordered:L=!0})=>{const I=n.useId(),i=n.useRef(null),d=n.useRef(null),f=n.useRef(!1),m=n.useRef(!1),g=n.useRef(),k=n.useRef(),v=n.useRef(-1),b=n.useRef(-1),[M,R]=n.useState(null),[C,$]=n.useState(null),N=(r,e)=>Math.max(0,Math.min(e-1,r)),A=(r,e,o)=>{const T=r.current;if(!T||e<0)return;const w=t.getScrollTopForIndex(e);o?f.current=!0:m.current=!0,T.scrollTo({top:w,behavior:"instant"}),requestAnimationFrame(()=>{o?f.current=!1:m.current=!1})};n.useLayoutEffect(()=>{const r=c.indexOf(s),e=l.indexOf(a);r!==v.current&&(v.current=r,A(i,r,!0)),e!==b.current&&(b.current=e,A(d,e,!1)),R(r),$(e)},[c,l,s,a]);const q=n.useRef(()=>{});q.current=()=>{const r=i.current;if(!r||f.current)return;t.clearScrollTimeout(g.current);const e=N(t.snapToNearestItem(r.scrollTop,c.length),c.length);R(e);const o=t.getScrollTopForIndex(e);t.needsScrollCorrection(r.scrollTop,o,8)&&(f.current=!0,t.scrollToIndex(r,e,"instant"),requestAnimationFrame(()=>{f.current=!1})),e!==v.current&&(v.current=e,x(c[e],a))};const y=n.useRef(()=>{});y.current=()=>{const r=d.current;if(!r||m.current)return;t.clearScrollTimeout(k.current);const e=N(t.snapToNearestItem(r.scrollTop,l.length),l.length);$(e);const o=t.getScrollTopForIndex(e);t.needsScrollCorrection(r.scrollTop,o,8)&&(m.current=!0,t.scrollToIndex(r,e,"instant"),requestAnimationFrame(()=>{m.current=!1})),e!==b.current&&(b.current=e,x(s,l[e]))},n.useEffect(()=>{const r=i.current,e=d.current;if(!r||!e)return;const o=()=>q.current(),T=()=>y.current();return r.addEventListener("scrollend",o),e.addEventListener("scrollend",T),()=>{r.removeEventListener("scrollend",o),e.removeEventListener("scrollend",T)}},[]);const H=()=>{if(!i.current||f.current)return;const r=N(t.snapToNearestItem(i.current.scrollTop,c.length),c.length);R(r),t.clearScrollTimeout(g.current),g.current=setTimeout(()=>q.current(),150)},K=()=>{if(!d.current||m.current)return;const r=N(t.snapToNearestItem(d.current.scrollTop,l.length),l.length);$(r),t.clearScrollTimeout(k.current),k.current=setTimeout(()=>y.current(),150)},W=r=>{const e=c[r];!e||!i.current||(t.clearScrollTimeout(g.current),v.current=r,R(r),x(e,a),f.current=!0,t.scrollToIndex(i.current,r,"smooth"),setTimeout(()=>{f.current=!1},300))},U=r=>{const e=l[r];!e||!d.current||(t.clearScrollTimeout(k.current),b.current=r,$(r),x(s,e),m.current=!0,t.scrollToIndex(d.current,r,"smooth"),setTimeout(()=>{m.current=!1},300))},D=(r,e,o,T)=>w=>{const u=e.indexOf(o);if(u===-1)return;let h=-1,_=!1;switch(w.key){case"ArrowDown":h=(u+1)%e.length,_=u===e.length-1;break;case"ArrowUp":h=(u-1+e.length)%e.length,_=u===0;break;case"Home":h=0;break;case"End":h=e.length-1;break;case"PageDown":h=(u+5)%e.length,_=u+5>=e.length;break;case"PageUp":h=(u-5+e.length)%e.length,_=u-5<0;break;case"Enter":case" ":w.preventDefault(),T(e[u]);return;default:return}w.preventDefault();const O=r==="hour"?i.current:d.current,S=O==null?void 0:O.querySelector(`#${CSS.escape(`${I}-${r}-${h}`)}`);S==null||S.focus(),S==null||S.scrollIntoView({block:"center",behavior:_?"instant":"smooth"})};return n.useEffect(()=>()=>{t.clearScrollTimeout(g.current),t.clearScrollTimeout(k.current)},[]),E.jsxs("div",{className:j.default(p.default["tedi-time-picker__wheel"],{[p.default["tedi-time-picker__wheel--borderless"]]:!L},P),children:[E.jsx("div",{ref:i,role:"listbox","aria-label":"Hours",tabIndex:0,"aria-activedescendant":`${I}-hour-${c.indexOf(s)}`,className:p.default["tedi-time-picker__wheel-column"],onScroll:H,onKeyDown:D("hour",c,s,r=>x(r,a)),children:c.map((r,e)=>E.jsx("div",{className:j.default(p.default["tedi-time-picker__wheel-item"],{[p.default["tedi-time-picker__wheel-item--selected"]]:e===(M??c.indexOf(s))}),onClick:()=>W(e),id:`${I}-hour-${e}`,role:"option","aria-selected":r===s,children:r},r))}),E.jsx("div",{ref:d,role:"listbox",className:p.default["tedi-time-picker__wheel-column"],onScroll:K,"aria-label":"Minutes",tabIndex:0,"aria-activedescendant":`${I}-minute-${l.indexOf(a)}`,onKeyDown:D("minute",l,a,r=>x(s,r)),children:l.map((r,e)=>E.jsx("div",{className:j.default(p.default["tedi-time-picker__wheel-item"],{[p.default["tedi-time-picker__wheel-item--selected"]]:e===(C??l.indexOf(a))}),onClick:()=>U(e),id:`${I}-minute-${e}`,role:"option","aria-selected":r===a,children:r},r))})]})};F.displayName="TimeWheel";exports.TimeWheel=F;
@@ -107,7 +107,7 @@ const Y = ({
107
107
  }
108
108
  I.preventDefault();
109
109
  const q = r === "hour" ? a.current : s.current, T = q == null ? void 0 : q.querySelector(`#${CSS.escape(`${g}-${r}-${x}`)}`);
110
- T == null || T.focus(), T == null || T.scrollIntoView({ block: "center", behavior: b ? "auto" : "smooth" });
110
+ T == null || T.focus(), T == null || T.scrollIntoView({ block: "center", behavior: b ? "instant" : "smooth" });
111
111
  };
112
112
  return j(() => () => {
113
113
  d(v.current), d(S.current);
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-time-picker__wheel":"tedi-time-picker__wheel-3c73e157","tedi-time-picker__wheel--borderless":"tedi-time-picker__wheel--borderless-42e8669c","tedi-time-picker__wheel-column":"tedi-time-picker__wheel-column-02048315","tedi-time-picker__wheel-item":"tedi-time-picker__wheel-item-78600fe1","tedi-time-picker__wheel-item--selected":"tedi-time-picker__wheel-item--selected-cc3c7194","tedi-time-picker__grid":"tedi-time-picker__grid-5cf42402","tedi-time-picker__grid--borderless":"tedi-time-picker__grid--borderless-805d6413","tedi-time-picker__grid-item":"tedi-time-picker__grid-item-53c9d41d","tedi-time-picker__grid-item--selected":"tedi-time-picker__grid-item--selected-32fb5e5d"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-time-picker__wheel":"tedi-time-picker__wheel-3c73e157","tedi-time-picker__wheel--borderless":"tedi-time-picker__wheel--borderless-42e8669c","tedi-time-picker__wheel-column":"tedi-time-picker__wheel-column-02048315","tedi-time-picker__wheel-item":"tedi-time-picker__wheel-item-78600fe1","tedi-time-picker__wheel-item--selected":"tedi-time-picker__wheel-item--selected-cc3c7194","tedi-time-picker__grid":"tedi-time-picker__grid-5cf42402","tedi-time-picker__grid--borderless":"tedi-time-picker__grid--borderless-805d6413","tedi-time-picker__slot-label":"tedi-time-picker__slot-label-87a1b0e8"};exports.default=e;
@@ -6,8 +6,7 @@ const e = {
6
6
  "tedi-time-picker__wheel-item--selected": "tedi-time-picker__wheel-item--selected-cc3c7194",
7
7
  "tedi-time-picker__grid": "tedi-time-picker__grid-5cf42402",
8
8
  "tedi-time-picker__grid--borderless": "tedi-time-picker__grid--borderless-805d6413",
9
- "tedi-time-picker__grid-item": "tedi-time-picker__grid-item-53c9d41d",
10
- "tedi-time-picker__grid-item--selected": "tedi-time-picker__grid-item--selected-32fb5e5d"
9
+ "tedi-time-picker__slot-label": "tedi-time-picker__slot-label-87a1b0e8"
11
10
  };
12
11
  export {
13
12
  e as default
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react/jsx-runtime"),m=require("../../../../../../external/classnames/index.cjs.js"),p=require("react"),o=require("../footer.module.scss.cjs.js"),B=require("../footer-context.cjs.js"),b=require("../../../../helpers/hooks/use-breakpoint-props.cjs.js"),s=require("../../../../helpers/hooks/use-breakpoint.cjs.js"),t=r=>{const{getCurrentBreakpointProps:u}=b.useBreakpointProps(r.defaultServerBreakpoint),{children:a,className:d,columns:e}=u(r),l=s.useBreakpoint(),{mobileBreakpoint:c}=p.useContext(B.FooterContext),i=s.isBreakpointBelow(l,c),n=!i&&typeof e=="number"&&e>0;return f.jsx("div",{"data-name":"footer-body",className:m.default(o.default["tedi-footer-body"],{[o.default["tedi-footer-body--mobile"]]:i,[o.default["tedi-footer-body--grid"]]:n},d),style:n?{gridTemplateColumns:`repeat(${e}, minmax(0, 1fr))`}:void 0,children:a})};t.displayName="Footer.Body";exports.FooterBody=t;exports.default=t;
@@ -0,0 +1,30 @@
1
+ import { ReactNode } from 'react';
2
+ import { BreakpointSupport } from '../../../../helpers';
3
+ type FooterBodyBreakpointProps = {
4
+ /**
5
+ * Number of equal-width columns laid out per row, controllable per breakpoint via the
6
+ * `sm`/`md`/`lg`/`xl`/`xxl` keys. The keys are **mobile-first** — a value applies at that
7
+ * breakpoint and up — so raise the count as the viewport widens
8
+ * (e.g. `columns={2} md={{ columns: 3 }} lg={{ columns: 4 }}`). When set, the body uses a CSS grid
9
+ * of `columns` equal tracks; when omitted, columns are content-sized and spread with
10
+ * `space-between` (the default). Ignored below the footer's `mobileBreakpoint`, where the body
11
+ * always stacks into a single column.
12
+ */
13
+ columns?: number;
14
+ };
15
+ export interface FooterBodyProps extends BreakpointSupport<FooterBodyBreakpointProps> {
16
+ /**
17
+ * `<Footer.Section>` children. Other nodes render verbatim but won't pick up the
18
+ * mobile-collapse behaviour.
19
+ */
20
+ children: ReactNode;
21
+ /**
22
+ * Additional class name.
23
+ */
24
+ className?: string;
25
+ }
26
+ export declare const FooterBody: {
27
+ (props: FooterBodyProps): JSX.Element;
28
+ displayName: string;
29
+ };
30
+ export default FooterBody;
@@ -0,0 +1,28 @@
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import l from "../../../../../../external/classnames/index.es.js";
3
+ import { useContext as f } from "react";
4
+ import e from "../footer.module.scss.es.js";
5
+ import { FooterContext as c } from "../footer-context.es.js";
6
+ import { useBreakpointProps as u } from "../../../../helpers/hooks/use-breakpoint-props.es.js";
7
+ import { useBreakpoint as y, isBreakpointBelow as b } from "../../../../helpers/hooks/use-breakpoint.es.js";
8
+ const B = (t) => {
9
+ const { getCurrentBreakpointProps: s } = u(t.defaultServerBreakpoint), { children: m, className: a, columns: o } = s(t), n = y(), { mobileBreakpoint: d } = f(c), r = b(n, d), i = !r && typeof o == "number" && o > 0;
10
+ return /* @__PURE__ */ p(
11
+ "div",
12
+ {
13
+ "data-name": "footer-body",
14
+ className: l(
15
+ e["tedi-footer-body"],
16
+ { [e["tedi-footer-body--mobile"]]: r, [e["tedi-footer-body--grid"]]: i },
17
+ a
18
+ ),
19
+ style: i ? { gridTemplateColumns: `repeat(${o}, minmax(0, 1fr))` } : void 0,
20
+ children: m
21
+ }
22
+ );
23
+ };
24
+ B.displayName = "Footer.Body";
25
+ export {
26
+ B as FooterBody,
27
+ B as default
28
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),p=require("../../../../../../external/classnames/index.cjs.js"),o=require("react"),r=require("../footer.module.scss.cjs.js"),x=require("../footer-context.cjs.js"),d=require("../../../../helpers/hooks/use-breakpoint.cjs.js"),s=({children:a,separator:u=!1,className:m})=>{const c=d.useBreakpoint(),{mobileBreakpoint:f,maxWidth:n}=o.useContext(x.FooterContext),b=d.isBreakpointBelow(c,f),i=u?o.Children.toArray(a).filter(e=>o.isValidElement(e)||e):null;return t.jsx("div",{"data-name":"footer-bottom",className:p.default(r.default["tedi-footer-bottom"],{[r.default["tedi-footer-bottom--mobile"]]:b},m),children:t.jsx("div",{className:r.default["tedi-footer-bottom__inner"],style:n!==void 0?{maxWidth:n}:void 0,children:i?i.map((e,l)=>t.jsxs(o.Fragment,{children:[e,l<i.length-1&&t.jsx("span",{className:r.default["tedi-footer-bottom__dot"],"aria-hidden":"true"})]},l)):a})})};s.displayName="Footer.Bottom";exports.FooterBottom=s;exports.default=s;
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ export interface FooterBottomProps {
3
+ /**
4
+ * Bottom-row content — typically a sequence of `<Link>` elements. On mobile the gap shrinks
5
+ * and items wrap to multiple lines.
6
+ */
7
+ children: ReactNode;
8
+ /**
9
+ * Insert a small dot between items (matches the Figma "with separator" bottom variant). When
10
+ * `false`, items are spaced only by the flex `gap`.
11
+ * @default false
12
+ */
13
+ separator?: boolean;
14
+ /**
15
+ * Additional class name on the bottom strip.
16
+ */
17
+ className?: string;
18
+ }
19
+ export declare const FooterBottom: {
20
+ ({ children, separator, className }: FooterBottomProps): JSX.Element;
21
+ displayName: string;
22
+ };
23
+ export default FooterBottom;
@@ -0,0 +1,25 @@
1
+ import { jsx as r, jsxs as p } from "react/jsx-runtime";
2
+ import c from "../../../../../../external/classnames/index.es.js";
3
+ import { useContext as b, Children as u, isValidElement as B, Fragment as h } from "react";
4
+ import t from "../footer.module.scss.es.js";
5
+ import { FooterContext as x } from "../footer-context.es.js";
6
+ import { useBreakpoint as N, isBreakpointBelow as k } from "../../../../helpers/hooks/use-breakpoint.es.js";
7
+ const v = ({ children: i, separator: a = !1, className: n }) => {
8
+ const l = N(), { mobileBreakpoint: d, maxWidth: m } = b(x), f = k(l, d), e = a ? u.toArray(i).filter((o) => B(o) || o) : null;
9
+ return /* @__PURE__ */ r(
10
+ "div",
11
+ {
12
+ "data-name": "footer-bottom",
13
+ className: c(t["tedi-footer-bottom"], { [t["tedi-footer-bottom--mobile"]]: f }, n),
14
+ children: /* @__PURE__ */ r("div", { className: t["tedi-footer-bottom__inner"], style: m !== void 0 ? { maxWidth: m } : void 0, children: e ? e.map((o, s) => /* @__PURE__ */ p(h, { children: [
15
+ o,
16
+ s < e.length - 1 && /* @__PURE__ */ r("span", { className: t["tedi-footer-bottom__dot"], "aria-hidden": "true" })
17
+ ] }, s)) : i })
18
+ }
19
+ );
20
+ };
21
+ v.displayName = "Footer.Bottom";
22
+ export {
23
+ v as FooterBottom,
24
+ v as default
25
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=e.createContext({mobileBreakpoint:"sm"});exports.FooterContext=t;
@@ -0,0 +1,23 @@
1
+ import { Breakpoint } from '../../../helpers';
2
+ export interface FooterContextValue {
3
+ /**
4
+ * Viewport breakpoint at and below which every Footer subcomponent
5
+ * (`Footer.Body`, `Footer.Bottom`, `Footer.Side`, `Footer.Section`)
6
+ * switches to its stacked mobile layout — accordion sections, stacked
7
+ * sides, wrapped bottom strip.
8
+ *
9
+ * Set on `<Footer mobileBreakpoint="…">`. Subcomponents read from this
10
+ * context so all five sites agree on the threshold; without it they'd
11
+ * each hardcode their own value and drift apart on intermediate
12
+ * viewports (e.g. tablet 600–760px).
13
+ */
14
+ mobileBreakpoint: Breakpoint;
15
+ /**
16
+ * Optional cap for the inner content width (the column row and the bottom
17
+ * strip's content), centered inside the full-bleed backgrounds. Set on
18
+ * `<Footer maxWidth="…">`; subcomponents read it so the body row and the
19
+ * bottom strip align to the same width.
20
+ */
21
+ maxWidth?: number | string;
22
+ }
23
+ export declare const FooterContext: import('react').Context<FooterContextValue>;
@@ -0,0 +1,7 @@
1
+ import { createContext as o } from "react";
2
+ const e = o({
3
+ mobileBreakpoint: "sm"
4
+ });
5
+ export {
6
+ e as FooterContext
7
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("../../../../../../external/classnames/index.cjs.js"),u=require("react"),g=require("../../../base/icon/icon.cjs.js"),q=require("../../../base/typography/heading/heading.cjs.js"),b=require("../../../buttons/collapse/collapse.cjs.js"),t=require("../footer.module.scss.cjs.js"),v=require("../footer-context.cjs.js"),s=require("../../../../helpers/hooks/use-breakpoint.cjs.js"),i=({heading:o,icon:n,collapsible:f=!1,defaultOpen:p=!1,iconBreakpoint:m="lg",children:r,className:_})=>{const l=s.useBreakpoint(),{mobileBreakpoint:x}=u.useContext(v.FooterContext),c=s.isBreakpointBelow(l,x),j=s.isBreakpointBelow(l,m),a=f&&c,h=u.useId();return e.jsxs("div",{"data-name":"footer-section",className:d.default(t.default["tedi-footer-section"],{[t.default["tedi-footer-section--collapsible"]]:a},_),children:[n&&!j&&e.jsx("span",{className:t.default["tedi-footer-section__icon"],children:e.jsx(g.Icon,{name:n,color:"white",size:24})}),e.jsx("div",{className:d.default(t.default["tedi-footer-section__container"],{[t.default["tedi-footer-section__container--mobile"]]:c}),children:a?e.jsx(b.Collapse,{id:`tedi-footer-section-${h}`,title:e.jsx(q.Heading,{element:"h6",color:"white",children:o}),size:"small",inverted:!0,hideCollapseText:!0,defaultOpen:p,toggleLabel:typeof o=="string"?o:void 0,className:t.default["tedi-footer-section__collapse"],titleRowProps:{gutter:0},children:e.jsx("div",{className:t.default["tedi-footer-section__content-inner"],children:r})}):e.jsxs(e.Fragment,{children:[e.jsx("strong",{className:t.default["tedi-footer-section__heading"],children:o}),e.jsx("div",{className:t.default["tedi-footer-section__content"],children:r})]})})]})};i.displayName="Footer.Section";exports.FooterSection=i;exports.default=i;
@@ -0,0 +1,48 @@
1
+ import { ReactNode } from 'react';
2
+ import { Breakpoint } from '../../../../helpers';
3
+ export interface FooterSectionProps {
4
+ /**
5
+ * Section heading text. Rendered as `<strong>` on desktop or as the trigger label of a
6
+ * `<Collapse>` on mobile (when `collapsible` is true).
7
+ */
8
+ heading: ReactNode;
9
+ /**
10
+ * Optional Material Symbols icon name shown in a circular tinted background next to
11
+ * the heading on desktop. Automatically hidden below the `lg` breakpoint to save space.
12
+ */
13
+ icon?: string;
14
+ /**
15
+ * When `true`, the section's link list collapses into an accordion below the
16
+ * footer's `mobileBreakpoint` (`sm` by default) — the heading turns into a
17
+ * toggle button (wired via the shared `<Collapse>` component for keyboard,
18
+ * focus, and aria-expanded handling). Desktop layout is unaffected.
19
+ * @default false
20
+ */
21
+ collapsible?: boolean;
22
+ /**
23
+ * Initial open state of the collapse — only relevant when `collapsible` is true and the
24
+ * viewport is below the footer's mobile breakpoint.
25
+ * @default false
26
+ */
27
+ defaultOpen?: boolean;
28
+ /**
29
+ * Viewport breakpoint at and below which the section's icon is hidden to save
30
+ * horizontal space. Separate from the footer-wide `mobileBreakpoint` because
31
+ * icons are typically dropped one tier earlier than the layout flips.
32
+ * @default lg
33
+ */
34
+ iconBreakpoint?: Breakpoint;
35
+ /**
36
+ * Section content — typically a sequence of `<Link>` elements.
37
+ */
38
+ children: ReactNode;
39
+ /**
40
+ * Additional class name on the section root.
41
+ */
42
+ className?: string;
43
+ }
44
+ export declare const FooterSection: {
45
+ ({ heading, icon, collapsible, defaultOpen, iconBreakpoint, children, className, }: FooterSectionProps): JSX.Element;
46
+ displayName: string;
47
+ };
48
+ export default FooterSection;
@@ -0,0 +1,65 @@
1
+ import { jsxs as c, jsx as o, Fragment as b } from "react/jsx-runtime";
2
+ import a from "../../../../../../external/classnames/index.es.js";
3
+ import { useContext as g, useId as v } from "react";
4
+ import { Icon as x } from "../../../base/icon/icon.es.js";
5
+ import { Heading as C } from "../../../base/typography/heading/heading.es.js";
6
+ import { Collapse as k } from "../../../buttons/collapse/collapse.es.js";
7
+ import e from "../footer.module.scss.es.js";
8
+ import { FooterContext as w } from "../footer-context.es.js";
9
+ import { useBreakpoint as y, isBreakpointBelow as m } from "../../../../helpers/hooks/use-breakpoint.es.js";
10
+ const B = ({
11
+ heading: t,
12
+ icon: i,
13
+ collapsible: d = !1,
14
+ defaultOpen: p = !1,
15
+ iconBreakpoint: f = "lg",
16
+ children: s,
17
+ className: _
18
+ }) => {
19
+ const r = y(), { mobileBreakpoint: h } = g(w), n = m(r, h), N = m(r, f), l = d && n, u = v();
20
+ return /* @__PURE__ */ c(
21
+ "div",
22
+ {
23
+ "data-name": "footer-section",
24
+ className: a(
25
+ e["tedi-footer-section"],
26
+ { [e["tedi-footer-section--collapsible"]]: l },
27
+ _
28
+ ),
29
+ children: [
30
+ i && !N && /* @__PURE__ */ o("span", { className: e["tedi-footer-section__icon"], children: /* @__PURE__ */ o(x, { name: i, color: "white", size: 24 }) }),
31
+ /* @__PURE__ */ o(
32
+ "div",
33
+ {
34
+ className: a(e["tedi-footer-section__container"], {
35
+ [e["tedi-footer-section__container--mobile"]]: n
36
+ }),
37
+ children: l ? /* @__PURE__ */ o(
38
+ k,
39
+ {
40
+ id: `tedi-footer-section-${u}`,
41
+ title: /* @__PURE__ */ o(C, { element: "h6", color: "white", children: t }),
42
+ size: "small",
43
+ inverted: !0,
44
+ hideCollapseText: !0,
45
+ defaultOpen: p,
46
+ toggleLabel: typeof t == "string" ? t : void 0,
47
+ className: e["tedi-footer-section__collapse"],
48
+ titleRowProps: { gutter: 0 },
49
+ children: /* @__PURE__ */ o("div", { className: e["tedi-footer-section__content-inner"], children: s })
50
+ }
51
+ ) : /* @__PURE__ */ c(b, { children: [
52
+ /* @__PURE__ */ o("strong", { className: e["tedi-footer-section__heading"], children: t }),
53
+ /* @__PURE__ */ o("div", { className: e["tedi-footer-section__content"], children: s })
54
+ ] })
55
+ }
56
+ )
57
+ ]
58
+ }
59
+ );
60
+ };
61
+ B.displayName = "Footer.Section";
62
+ export {
63
+ B as FooterSection,
64
+ B as default
65
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("react/jsx-runtime"),f=require("../../../../../../external/classnames/index.cjs.js"),m=require("react"),e=require("../footer.module.scss.cjs.js"),k=require("../footer-context.cjs.js"),B=require("../../../../helpers/hooks/use-breakpoint-props.cjs.js"),r=require("../../../../helpers/hooks/use-breakpoint.cjs.js"),t=o=>{const{getCurrentBreakpointProps:i}=B.useBreakpointProps(o.defaultServerBreakpoint),s=r.useBreakpoint(),{mobileBreakpoint:n}=m.useContext(k.FooterContext),a=r.isBreakpointBelow(s,n),{placement:u="start",position:d="center",children:c,className:l}=i(o,{placement:"start",position:"center"});return p.jsx("div",{"data-name":"footer-side",className:f.default(e.default["tedi-footer-side"],e.default[`tedi-footer-side--${u}`],e.default[`tedi-footer-side--vertical-${d}`],{[e.default["tedi-footer-side--mobile"]]:a},l),children:c})};t.displayName="Footer.Side";exports.FooterSide=t;exports.default=t;
@@ -0,0 +1,36 @@
1
+ import { ReactNode } from 'react';
2
+ import { BreakpointSupport } from '../../../../helpers';
3
+ export type FooterSidePlacement = 'start' | 'end';
4
+ export type FooterSidePosition = 'start' | 'center' | 'end';
5
+ export interface FooterSideBaseProps {
6
+ /**
7
+ * Where the side slot sits relative to `<Footer.Body>`. `'start'` renders before the body
8
+ * (left on LTR, and first — above the sections — once the footer stacks on mobile); `'end'`
9
+ * renders after the body (right on LTR, and last — below the sections — when stacked).
10
+ *
11
+ * Accepts breakpoint props, so the logo can sit on the side on desktop and drop to the bottom
12
+ * on mobile — e.g. `placement="end" sm={{ placement: 'start' }}` keeps the logo on the left
13
+ * from `sm` up and moves it to the last position once the footer collapses to its stacked layout.
14
+ * @default start
15
+ */
16
+ placement?: FooterSidePlacement;
17
+ /**
18
+ * Vertical alignment of the contents inside the side slot. Accepts breakpoint props.
19
+ * @default center
20
+ */
21
+ position?: FooterSidePosition;
22
+ /**
23
+ * Side content — typically a `<img>` logo.
24
+ */
25
+ children: ReactNode;
26
+ /**
27
+ * Additional class name on the side wrapper.
28
+ */
29
+ className?: string;
30
+ }
31
+ export type FooterSideProps = BreakpointSupport<FooterSideBaseProps>;
32
+ export declare const FooterSide: {
33
+ (props: FooterSideProps): JSX.Element;
34
+ displayName: string;
35
+ };
36
+ export default FooterSide;
@@ -0,0 +1,34 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import c from "../../../../../../external/classnames/index.es.js";
3
+ import { useContext as l } from "react";
4
+ import e from "../footer.module.scss.es.js";
5
+ import { FooterContext as f } from "../footer-context.es.js";
6
+ import { useBreakpointProps as k } from "../../../../helpers/hooks/use-breakpoint-props.es.js";
7
+ import { useBreakpoint as u, isBreakpointBelow as B } from "../../../../helpers/hooks/use-breakpoint.es.js";
8
+ const b = (o) => {
9
+ const { getCurrentBreakpointProps: t } = k(o.defaultServerBreakpoint), r = u(), { mobileBreakpoint: i } = l(f), s = B(r, i), {
10
+ placement: a = "start",
11
+ position: n = "center",
12
+ children: m,
13
+ className: p
14
+ } = t(o, { placement: "start", position: "center" });
15
+ return /* @__PURE__ */ d(
16
+ "div",
17
+ {
18
+ "data-name": "footer-side",
19
+ className: c(
20
+ e["tedi-footer-side"],
21
+ e[`tedi-footer-side--${a}`],
22
+ e[`tedi-footer-side--vertical-${n}`],
23
+ { [e["tedi-footer-side--mobile"]]: s },
24
+ p
25
+ ),
26
+ children: m
27
+ }
28
+ );
29
+ };
30
+ b.displayName = "Footer.Side";
31
+ export {
32
+ b as FooterSide,
33
+ b as default
34
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),p=require("../../../../../external/classnames/index.cjs.js"),l=require("react"),n=require("./footer.module.scss.cjs.js"),B=require("./footer-body/footer-body.cjs.js"),q=require("./footer-bottom/footer-bottom.cjs.js"),g=require("./footer-context.cjs.js"),k=require("./footer-section/footer-section.cjs.js"),F=require("./footer-side/footer-side.cjs.js"),m=require("../../../helpers/hooks/use-breakpoint.cjs.js"),P=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),o=({children:y,className:v,mobileBreakpoint:s="sm",maxWidth:t})=>{const S=m.useBreakpoint(),_=m.isBreakpointBelow(S,s),{getCurrentBreakpointProps:j}=P.useBreakpointProps(),x=l.useMemo(()=>({mobileBreakpoint:s,maxWidth:t}),[s,t]),c=[],d=[];let u=null,f=null;const i=[];return l.Children.forEach(y,e=>{if(!l.isValidElement(e)){e!=null&&e!==!1&&i.push(e);return}const a=e.type;if(a===F.FooterSide){const{placement:b="start"}=j(e.props);(b==="end"?d:c).push(e);return}if(a===B.FooterBody){u=e;return}if(a===q.FooterBottom){f=e;return}i.push(e)}),r.jsx(g.FooterContext.Provider,{value:x,children:r.jsxs("footer",{"data-name":"footer",className:p.default(n.default["tedi-footer"],v),children:[r.jsxs("div",{className:p.default(n.default["tedi-footer__container"],{[n.default["tedi-footer__container--mobile"]]:_}),style:t!==void 0?{maxWidth:t,marginInline:"auto"}:void 0,children:[c,u!==null&&r.jsx("div",{className:n.default["tedi-footer__center"],children:u}),i,d]}),f]})})};o.Side=F.FooterSide;o.Body=B.FooterBody;o.Section=k.FooterSection;o.Bottom=q.FooterBottom;o.displayName="Footer";exports.Footer=o;exports.default=o;
@@ -0,0 +1,56 @@
1
+ import { ReactNode } from 'react';
2
+ import { Breakpoint } from '../../../helpers';
3
+ import { FooterSideProps } from './footer-side/footer-side';
4
+ export interface FooterProps {
5
+ /**
6
+ * `<Footer.Side>`, `<Footer.Body>` (with `<Footer.Section>` children), and `<Footer.Bottom>` slots.
7
+ *
8
+ * Recognised arrangement:
9
+ * 1. Zero or more `<Footer.Side placement="start">` elements (logos on the left).
10
+ * 2. Exactly one `<Footer.Body>`.
11
+ * 3. Zero or more `<Footer.Side placement="end">` elements (logos on the right).
12
+ * 4. Optional `<Footer.Bottom>` rendered below the main row as a strip with separator dots.
13
+ *
14
+ * Other nodes are rendered verbatim where the consumer placed them.
15
+ */
16
+ children: ReactNode;
17
+ /**
18
+ * Viewport breakpoint at and below which the footer switches to its stacked
19
+ * mobile layout — sections collapse into accordions, sides stack, the bottom
20
+ * strip wraps. Propagated to every Footer subcomponent via context so they
21
+ * agree on the threshold.
22
+ * @default sm
23
+ */
24
+ mobileBreakpoint?: Breakpoint;
25
+ /**
26
+ * Caps the inner content — the column row and the bottom strip's content — to a maximum width
27
+ * and centers it, while the dark backgrounds stay full-bleed. Pass any CSS length (e.g. `1280`,
28
+ * `'1280px'`, `'80rem'`). Omit to let the content fill the full width (with the 40px padding).
29
+ */
30
+ maxWidth?: number | string;
31
+ /**
32
+ * Additional class name on the `<footer>` root.
33
+ */
34
+ className?: string;
35
+ }
36
+ export declare const Footer: {
37
+ ({ children, className, mobileBreakpoint, maxWidth }: FooterProps): JSX.Element;
38
+ Side: {
39
+ (props: FooterSideProps): JSX.Element;
40
+ displayName: string;
41
+ };
42
+ Body: {
43
+ (props: import('./footer-body/footer-body').FooterBodyProps): JSX.Element;
44
+ displayName: string;
45
+ };
46
+ Section: {
47
+ ({ heading, icon, collapsible, defaultOpen, iconBreakpoint, children, className, }: import('./footer-section/footer-section').FooterSectionProps): JSX.Element;
48
+ displayName: string;
49
+ };
50
+ Bottom: {
51
+ ({ children, separator, className }: import('./footer-bottom/footer-bottom').FooterBottomProps): JSX.Element;
52
+ displayName: string;
53
+ };
54
+ displayName: string;
55
+ };
56
+ export default Footer;