@tedi-design-system/react 18.0.0-rc.1 → 18.0.0-rc.10

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 (224) 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.es14.js +2 -2
  15. package/_virtual/index.es5.js +4 -2
  16. package/_virtual/index.es6.js +1 -1
  17. package/_virtual/index.es7.js +1 -1
  18. package/_virtual/index.es8.js +1 -1
  19. package/_virtual/index.es9.js +1 -1
  20. package/bundle-stats.html +1 -1
  21. package/external/@floating-ui/core/dist/floating-ui.core.cjs.js +1 -1
  22. package/external/@floating-ui/core/dist/floating-ui.core.es.js +275 -271
  23. package/external/@floating-ui/dom/dist/floating-ui.dom.cjs.js +1 -1
  24. package/external/@floating-ui/dom/dist/floating-ui.dom.es.js +189 -188
  25. package/external/@floating-ui/react/dist/floating-ui.react.cjs.js +1 -1
  26. package/external/@floating-ui/react/dist/floating-ui.react.es.js +1419 -1538
  27. package/external/@floating-ui/react/dist/floating-ui.react.utils.cjs.js +1 -1
  28. package/external/@floating-ui/react/dist/floating-ui.react.utils.es.js +348 -81
  29. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +1 -1
  30. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +113 -93
  31. package/external/@floating-ui/utils/dist/floating-ui.utils.cjs.js +1 -1
  32. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +1 -1
  33. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +97 -97
  34. package/external/@floating-ui/utils/dist/floating-ui.utils.es.js +66 -68
  35. package/external/@mui/system/colorManipulator.cjs.js +1 -1
  36. package/external/@mui/system/colorManipulator.es.js +2 -2
  37. package/external/@mui/system/createStyled.cjs.js +1 -1
  38. package/external/@mui/system/createStyled.es.js +6 -6
  39. package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
  40. package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
  41. package/external/lodash-es/_baseUnset.cjs.js +1 -1
  42. package/external/lodash-es/_baseUnset.es.js +12 -19
  43. package/external/react-is/index.cjs.js +1 -1
  44. package/external/react-is/index.es.js +1 -1
  45. package/external/tabbable/dist/index.esm.cjs.js +1 -1
  46. package/external/tabbable/dist/index.esm.es.js +72 -63
  47. package/external/toposort/index.cjs.js +1 -1
  48. package/external/toposort/index.es.js +1 -1
  49. package/index.css +1 -1
  50. package/package.json +4 -4
  51. package/src/community/components/form/pickers/calendar/calendar.d.ts +6 -0
  52. package/src/community/components/form/pickers/datepicker/datepicker.d.ts +6 -0
  53. package/src/community/components/form/pickers/datetimepicker/datetimepicker.d.ts +6 -0
  54. package/src/community/components/form/pickers/timepicker/timepicker.d.ts +6 -0
  55. package/src/community/components/modal/modal-closer.d.ts +6 -0
  56. package/src/community/components/modal/modal-provider.d.ts +6 -0
  57. package/src/community/components/modal/modal-trigger.d.ts +6 -0
  58. package/src/community/components/modal/modal.d.ts +6 -0
  59. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  60. package/src/tedi/components/buttons/button-group/button-group.es.js +4 -4
  61. package/src/tedi/components/buttons/collapse/collapse.cjs.js +1 -1
  62. package/src/tedi/components/buttons/collapse/collapse.d.ts +23 -0
  63. package/src/tedi/components/buttons/collapse/collapse.es.js +62 -59
  64. package/src/tedi/components/buttons/collapse/collapse.module.scss.cjs.js +1 -1
  65. package/src/tedi/components/buttons/collapse/collapse.module.scss.es.js +2 -1
  66. package/src/tedi/components/content/calendar/calendar-grid.cjs.js +1 -1
  67. package/src/tedi/components/content/calendar/calendar-grid.es.js +7 -6
  68. package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
  69. package/src/tedi/components/content/calendar/calendar.d.ts +9 -1
  70. package/src/tedi/components/content/calendar/calendar.es.js +72 -71
  71. package/src/tedi/components/content/calendar/calendar.module.scss.cjs.js +1 -1
  72. package/src/tedi/components/content/calendar/calendar.module.scss.es.js +3 -2
  73. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
  74. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +99 -79
  75. package/src/tedi/components/content/table/index.d.ts +6 -0
  76. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.cjs.js +1 -0
  77. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.d.ts +15 -0
  78. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.es.js +37 -0
  79. package/src/tedi/components/content/table/table-context.cjs.js +1 -0
  80. package/src/tedi/components/content/table/table-context.d.ts +3 -0
  81. package/src/tedi/components/content/table/table-context.es.js +11 -0
  82. package/src/tedi/components/content/table/table-header-button/table-header-button.cjs.js +1 -0
  83. package/src/tedi/components/content/table/table-header-button/table-header-button.d.ts +51 -0
  84. package/src/tedi/components/content/table/table-header-button/table-header-button.es.js +42 -0
  85. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.cjs.js +1 -0
  86. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.es.js +7 -0
  87. package/src/tedi/components/content/table/table-toolbar/table-toolbar.cjs.js +1 -0
  88. package/src/tedi/components/content/table/table-toolbar/table-toolbar.d.ts +21 -0
  89. package/src/tedi/components/content/table/table-toolbar/table-toolbar.es.js +9 -0
  90. package/src/tedi/components/content/table/table.cjs.js +1 -0
  91. package/src/tedi/components/content/table/table.d.ts +519 -0
  92. package/src/tedi/components/content/table/table.es.js +856 -0
  93. package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -0
  94. package/src/tedi/components/content/table/table.module.scss.es.js +54 -0
  95. package/src/tedi/components/content/table/use-table-persistence.cjs.js +1 -0
  96. package/src/tedi/components/content/table/use-table-persistence.d.ts +13 -0
  97. package/src/tedi/components/content/table/use-table-persistence.es.js +53 -0
  98. package/src/tedi/components/filter/filter/filter-group-context.cjs.js +1 -0
  99. package/src/tedi/components/filter/filter/filter-group-context.d.ts +8 -0
  100. package/src/tedi/components/filter/filter/filter-group-context.es.js +5 -0
  101. package/src/tedi/components/filter/filter/filter-group.cjs.js +1 -0
  102. package/src/tedi/components/filter/filter/filter-group.d.ts +94 -0
  103. package/src/tedi/components/filter/filter/filter-group.es.js +64 -0
  104. package/src/tedi/components/filter/filter/filter.cjs.js +1 -0
  105. package/src/tedi/components/filter/filter/filter.d.ts +98 -0
  106. package/src/tedi/components/filter/filter/filter.es.js +236 -0
  107. package/src/tedi/components/filter/filter/filter.module.scss.cjs.js +1 -0
  108. package/src/tedi/components/filter/filter/filter.module.scss.es.js +21 -0
  109. package/src/tedi/components/filter/filter/index.d.ts +3 -0
  110. package/src/tedi/components/form/date-field/date-field-helpers.cjs.js +1 -0
  111. package/src/tedi/components/form/date-field/date-field-helpers.d.ts +66 -0
  112. package/src/tedi/components/form/date-field/date-field-helpers.es.js +28 -0
  113. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  114. package/src/tedi/components/form/date-field/date-field.d.ts +22 -0
  115. package/src/tedi/components/form/date-field/date-field.es.js +248 -212
  116. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -0
  117. package/src/tedi/components/form/date-time-field/date-time-field.d.ts +207 -0
  118. package/src/tedi/components/form/date-time-field/date-time-field.es.js +376 -0
  119. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.cjs.js +1 -0
  120. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.es.js +30 -0
  121. package/src/tedi/components/form/search/search.cjs.js +1 -1
  122. package/src/tedi/components/form/search/search.es.js +22 -20
  123. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  124. package/src/tedi/components/form/time-field/time-field.d.ts +9 -0
  125. package/src/tedi/components/form/time-field/time-field.es.js +80 -78
  126. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js +1 -0
  127. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.d.ts +52 -0
  128. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.es.js +68 -0
  129. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.cjs.js +1 -0
  130. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.es.js +9 -0
  131. package/src/tedi/components/layout/mobile-nav/index.d.ts +2 -0
  132. package/src/tedi/components/layout/mobile-nav/mobile-nav.cjs.js +1 -0
  133. package/src/tedi/components/layout/mobile-nav/mobile-nav.d.ts +20 -0
  134. package/src/tedi/components/layout/{sidenav/components/sidenav-mobile/sidenav-mobile.es.js → mobile-nav/mobile-nav.es.js} +21 -20
  135. package/src/tedi/components/layout/sidenav/index.d.ts +2 -2
  136. package/src/tedi/components/layout/sidenav/sidenav.cjs.js +1 -1
  137. package/src/tedi/components/layout/sidenav/sidenav.d.ts +2 -11
  138. package/src/tedi/components/layout/sidenav/sidenav.es.js +27 -27
  139. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.cjs.js +1 -0
  140. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.d.ts +34 -0
  141. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.es.js +33 -0
  142. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.cjs.js +1 -0
  143. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.d.ts +66 -0
  144. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.es.js +101 -0
  145. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.cjs.js +1 -0
  146. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.d.ts +11 -0
  147. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.es.js +9 -0
  148. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.cjs.js +1 -0
  149. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.d.ts +28 -0
  150. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.es.js +30 -0
  151. package/src/tedi/components/layout/top-nav/index.d.ts +5 -0
  152. package/src/tedi/components/layout/top-nav/top-nav-context.cjs.js +1 -0
  153. package/src/tedi/components/layout/top-nav/top-nav-context.d.ts +11 -0
  154. package/src/tedi/components/layout/top-nav/top-nav-context.es.js +6 -0
  155. package/src/tedi/components/layout/top-nav/top-nav.cjs.js +1 -0
  156. package/src/tedi/components/layout/top-nav/top-nav.d.ts +91 -0
  157. package/src/tedi/components/layout/top-nav/top-nav.es.js +171 -0
  158. package/src/tedi/components/layout/top-nav/top-nav.module.scss.cjs.js +1 -0
  159. package/src/tedi/components/layout/top-nav/top-nav.module.scss.es.js +28 -0
  160. package/src/tedi/components/navigation/pagination/index.d.ts +1 -0
  161. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.cjs.js +1 -0
  162. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.d.ts +36 -0
  163. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.es.js +65 -0
  164. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.cjs.js +1 -0
  165. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.es.js +13 -0
  166. package/src/tedi/components/navigation/pagination/pagination.cjs.js +1 -1
  167. package/src/tedi/components/navigation/pagination/pagination.d.ts +115 -13
  168. package/src/tedi/components/navigation/pagination/pagination.es.js +244 -96
  169. package/src/tedi/components/navigation/pagination/pagination.module.scss.cjs.js +1 -1
  170. package/src/tedi/components/navigation/pagination/pagination.module.scss.es.js +18 -1
  171. package/src/tedi/components/notifications/alert/alert.cjs.js +1 -1
  172. package/src/tedi/components/notifications/alert/alert.d.ts +14 -1
  173. package/src/tedi/components/notifications/alert/alert.es.js +45 -42
  174. package/src/tedi/components/notifications/alert/alert.module.scss.cjs.js +1 -1
  175. package/src/tedi/components/notifications/alert/alert.module.scss.es.js +2 -1
  176. package/src/tedi/components/overlays/dropdown/dropdown.es.js +0 -3
  177. package/src/tedi/components/overlays/modal/index.d.ts +8 -0
  178. package/src/tedi/components/overlays/modal/modal-body/modal-body.cjs.js +1 -0
  179. package/src/tedi/components/overlays/modal/modal-body/modal-body.d.ts +22 -0
  180. package/src/tedi/components/overlays/modal/modal-body/modal-body.es.js +21 -0
  181. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.cjs.js +1 -0
  182. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.d.ts +15 -0
  183. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.es.js +16 -0
  184. package/src/tedi/components/overlays/modal/modal-content/modal-content.cjs.js +1 -0
  185. package/src/tedi/components/overlays/modal/modal-content/modal-content.d.ts +108 -0
  186. package/src/tedi/components/overlays/modal/modal-content/modal-content.es.js +81 -0
  187. package/src/tedi/components/overlays/modal/modal-context.cjs.js +1 -0
  188. package/src/tedi/components/overlays/modal/modal-context.d.ts +59 -0
  189. package/src/tedi/components/overlays/modal/modal-context.es.js +15 -0
  190. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.cjs.js +1 -0
  191. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.d.ts +22 -0
  192. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.es.js +25 -0
  193. package/src/tedi/components/overlays/modal/modal-header/modal-header.cjs.js +1 -0
  194. package/src/tedi/components/overlays/modal/modal-header/modal-header.d.ts +58 -0
  195. package/src/tedi/components/overlays/modal/modal-header/modal-header.es.js +25 -0
  196. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -0
  197. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.d.ts +13 -0
  198. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +14 -0
  199. package/src/tedi/components/overlays/modal/modal.cjs.js +1 -0
  200. package/src/tedi/components/overlays/modal/modal.d.ts +68 -0
  201. package/src/tedi/components/overlays/modal/modal.es.js +76 -0
  202. package/src/tedi/components/overlays/modal/modal.module.scss.cjs.js +1 -0
  203. package/src/tedi/components/overlays/modal/modal.module.scss.es.js +37 -0
  204. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  205. package/src/tedi/components/overlays/overlay/overlay-content.es.js +35 -32
  206. package/src/tedi/components/overlays/tooltip/tooltip.cjs.js +1 -1
  207. package/src/tedi/components/overlays/tooltip/tooltip.es.js +14 -6
  208. package/src/tedi/helpers/hooks/use-breakpoint.cjs.js +1 -1
  209. package/src/tedi/helpers/hooks/use-breakpoint.d.ts +7 -0
  210. package/src/tedi/helpers/hooks/use-breakpoint.es.js +22 -14
  211. package/src/tedi/helpers/hooks/use-sidenav-state.d.ts +1 -1
  212. package/src/tedi/index.d.ts +6 -0
  213. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  214. package/src/tedi/providers/label-provider/labels-map.d.ts +174 -6
  215. package/src/tedi/providers/label-provider/labels-map.es.js +234 -57
  216. package/tedi.cjs.js +1 -1
  217. package/tedi.es.js +257 -202
  218. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.cjs.js +0 -1
  219. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.d.ts +0 -14
  220. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.cjs.js +0 -1
  221. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.d.ts +0 -31
  222. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.es.js +0 -48
  223. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +0 -1
  224. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +0 -8
@@ -1,40 +1,42 @@
1
- import { jsxs as v, jsx as c } from "react/jsx-runtime";
1
+ import { jsxs as w, jsx as c } from "react/jsx-runtime";
2
2
  import l from "../../../../../external/classnames/index.es.js";
3
- import { forwardRef as w } from "react";
4
- import { Button as L } from "../../buttons/button/button.es.js";
3
+ import { forwardRef as L } from "react";
4
+ import { Button as b } from "../../buttons/button/button.es.js";
5
5
  import { TextField as k } from "../textfield/textfield.es.js";
6
6
  import a from "./search.module.scss.es.js";
7
7
  import { useLabels as C } from "../../../providers/label-provider/use-labels.es.js";
8
- const b = w(
8
+ const j = L(
9
9
  ({
10
10
  placeholder: t,
11
- isClearable: m = !0,
12
- searchIcon: o = "search",
11
+ isClearable: o = !0,
12
+ searchIcon: m = "search",
13
13
  onSearch: s,
14
14
  onChange: d,
15
15
  button: e,
16
16
  ariaLabel: p,
17
17
  className: n,
18
+ input: f,
18
19
  ...r
19
- }, f) => {
20
- const { getLabel: i } = C(), h = (y) => {
21
- y.key === "Enter" && (s == null || s(r.value));
20
+ }, h) => {
21
+ const { getLabel: i } = C(), u = (v) => {
22
+ v.key === "Enter" && (s == null || s(r.value));
22
23
  }, _ = () => {
23
24
  s == null || s(r.value);
24
- }, u = {
25
+ }, x = {
25
26
  ...r,
26
- ref: f,
27
+ ref: h,
27
28
  inputClassName: l(a["tedi-search__input"], e && a["tedi-search__input--has-button"], n),
28
29
  placeholder: t,
29
- isClearable: m,
30
- onKeyDown: h,
30
+ isClearable: o,
31
+ onKeyDown: u,
31
32
  onChange: d,
32
- ...e ? {} : { icon: o }
33
- }, N = t || i("search"), x = p ?? N;
34
- return /* @__PURE__ */ v("div", { className: l(a["tedi-search__wrapper"]), role: "search", "aria-label": x, children: [
35
- /* @__PURE__ */ c(k, { ...u }),
33
+ input: { ...f, role: "searchbox" },
34
+ ...e ? {} : { icon: m }
35
+ }, N = t || i("search"), y = p ?? N;
36
+ return /* @__PURE__ */ w("div", { className: l(a["tedi-search__wrapper"]), role: "search", "aria-label": y, children: [
37
+ /* @__PURE__ */ c(k, { ...x }),
36
38
  e && /* @__PURE__ */ c(
37
- L,
39
+ b,
38
40
  {
39
41
  ...e,
40
42
  onClick: _,
@@ -46,7 +48,7 @@ const b = w(
46
48
  ] });
47
49
  }
48
50
  );
49
- b.displayName = "Search";
51
+ j.displayName = "Search";
50
52
  export {
51
- b as Search
53
+ j as Search
52
54
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),d=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),T=require("../../../../../external/classnames/index.cjs.js"),m=require("react"),B=require("../textfield/textfield.cjs.js"),ne=require("../time-picker/time-picker.cjs.js"),s=require("./time-field.module.scss.cjs.js"),O=require("./time-field-helpers.cjs.js"),re=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),C=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),oe=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),k=require("../../overlays/dropdown/dropdown.cjs.js"),E=v=>{const{getCurrentBreakpointProps:S}=oe.useBreakpointProps(v.defaultServerBreakpoint),{id:V,label:M,value:c,defaultValue:z,onChange:F,readOnly:u=!1,required:A,placeholder:H,inputProps:i,stepMinutes:K=1,className:I,availableTimes:l}=v,{useNativePicker:G=!1,timePickerTrigger:P="button",showPicker:a=!0,availableTimesVariant:q="grid-buttons"}=S(v),y=c!==void 0,[J,N]=m.useState(c??z??""),g=y?c:J,[_,b]=m.useState(!1),w=P==="input",r=G,L=d.useFloating({open:_,onOpenChange:b,placement:w?"bottom-start":"bottom-end",middleware:[C.offset(O.TIMEPICKER_OFFSET),C.flip(),C.shift()],whileElementsMounted:re.autoUpdate}),{refs:j,context:p,x:Q,y:W,strategy:X}=L,Y=d.useClick(p),Z=d.useDismiss(p),$=d.useRole(p,{role:"listbox"}),D=a&&w&&!u&&!r,R=d.useInteractions([...D?[Y]:[],Z,$]),x=e=>{const n=e.trim();y||N(n),F==null||F(n)},ee=e=>{var h;const n=e.target.value??"";(h=i==null?void 0:i.onBlur)==null||h.call(i,e);const o=O.normalizeTime(n);o!==null&&o!==n&&x(o)};m.useEffect(()=>{c!==void 0&&N(c)},[c]);const f=m.useRef(null);m.useEffect(()=>{var e;(e=f.current)!=null&&e.inner&&j.setReference(f.current.inner)},[j]);const te=()=>{var n;const e=(n=f.current)==null?void 0:n.input;if(e){if(typeof e.showPicker=="function"){e.showPicker();return}e.focus()}},ie=()=>b(e=>!e),U={...i,id:V,label:M,value:g,placeholder:H,readOnly:u||!r&&w,icon:"schedule",isClearable:!0,required:A,onIconClick:()=>{u||!a||(r?te():P==="button"&&ie())},onChange:x,onBlur:ee,className:T.default(s.default["tedi-time-field__textfield"],{[s.default["tedi-time-field__icon--disabled"]]:!a||u},{[s.default["tedi-time-field__textfield--disabled"]]:i==null?void 0:i.disabled},{[s.default["tedi-time-field--native"]]:r}),input:{...i==null?void 0:i.input,...r&&{type:"time"}}};if(!r&&a&&!u&&q==="dropdown"&&!!(l!=null&&l.length)){const e=l.indexOf(g),n=e>=0?e:0;return t.jsxs(k.Dropdown,{width:"trigger",defaultActiveIndex:n,children:[t.jsx(k.Dropdown.Trigger,{children:t.jsx("div",{className:T.default(s.default["tedi-time-field__container"],I,{[s.default["tedi-time-field__container--native"]]:r}),children:t.jsx(B.TextField,{ref:f,...U})})}),t.jsx(k.Dropdown.Content,{children:l.map((o,h)=>t.jsx(k.Dropdown.Item,{index:h,active:o===g,onClick:()=>x(o),children:o},o))})]})}return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:T.default(s.default["tedi-time-field__container"],I),...D?R.getReferenceProps():{},"aria-haspopup":a?"listbox":void 0,tabIndex:-1,children:t.jsx(B.TextField,{ref:f,"aria-expanded":a?_:void 0,...U})}),!r&&a&&t.jsx(d.FloatingPortal,{children:_&&!u&&t.jsx(d.FloatingFocusManager,{context:p,modal:!1,initialFocus:-1,children:t.jsx("div",{ref:j.setFloating,...R.getFloatingProps({style:{position:X,top:W??0,left:Q??0}}),children:t.jsx(ne.TimePicker,{value:g,stepMinutes:K,availableTimes:l,onChange:e=>{x(e),l&&b(!1)},gridVariant:q==="grid-radio"?"radio":"button",className:s.default["tedi-time-field__picker-wrapper"]})})})})]})};E.displayName="TimeField";exports.TimeField=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),T=require("../../../../../external/classnames/index.cjs.js"),m=require("react"),O=require("../textfield/textfield.cjs.js"),se=require("../time-picker/time-picker.cjs.js"),o=require("./time-field.module.scss.cjs.js"),E=require("./time-field-helpers.cjs.js"),oe=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),q=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),le=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),k=require("../../overlays/dropdown/dropdown.cjs.js"),S=b=>{const{getCurrentBreakpointProps:V}=le.useBreakpointProps(b.defaultServerBreakpoint),{id:M,label:z,value:u,defaultValue:A,onChange:v,readOnly:C=!1,disabled:l=!1,required:H,placeholder:K,inputProps:t,stepMinutes:G=1,className:I,availableTimes:d}=b,{useNativePicker:J=!1,timePickerTrigger:P="button",showPicker:a=!0,availableTimesVariant:y="grid-buttons"}=V(b),N=u!==void 0,[L,D]=m.useState(u??A??""),g=N?u:L,[F,_]=m.useState(!1),w=P==="input",r=J,Q=c.useFloating({open:F,onOpenChange:_,placement:w?"bottom-start":"bottom-end",middleware:[q.offset(E.TIMEPICKER_OFFSET),q.flip(),q.shift()],whileElementsMounted:oe.autoUpdate}),{refs:j,context:x,x:W,y:X,strategy:Y}=Q,Z=c.useClick(x),$=c.useDismiss(x),ee=c.useRole(x,{role:"listbox"}),R=a&&w&&!C&&!l&&!r,U=c.useInteractions([...R?[Z]:[],$,ee]),p=e=>{const n=e.trim();N||D(n),v==null||v(n)},te=e=>{var h;const n=e.target.value??"";(h=t==null?void 0:t.onBlur)==null||h.call(t,e);const s=E.normalizeTime(n);s!==null&&s!==n&&p(s)};m.useEffect(()=>{u!==void 0&&D(u)},[u]);const f=m.useRef(null);m.useEffect(()=>{var e;(e=f.current)!=null&&e.inner&&j.setReference(f.current.inner)},[j]);const ie=()=>{var n;const e=(n=f.current)==null?void 0:n.input;if(e){if(typeof e.showPicker=="function"){e.showPicker();return}e.focus()}},ne=()=>_(e=>!e),re=()=>{!a||l||(r?ie():P==="button"&&ne())},B={...t,id:M,label:z,value:g,placeholder:K,readOnly:C||!r&&w,disabled:l||(t==null?void 0:t.disabled),icon:"schedule",isClearable:!0,required:H,onIconClick:re,onChange:p,onBlur:te,className:T.default(o.default["tedi-time-field__textfield"],{[o.default["tedi-time-field__icon--disabled"]]:!a||l},{[o.default["tedi-time-field__textfield--disabled"]]:l||(t==null?void 0:t.disabled)},{[o.default["tedi-time-field--native"]]:r}),input:{...t==null?void 0:t.input,...r&&{type:"time"}}};if(!r&&a&&!l&&y==="dropdown"&&!!(d!=null&&d.length)){const e=d.indexOf(g),n=e>=0?e:0;return i.jsxs(k.Dropdown,{width:"trigger",defaultActiveIndex:n,children:[i.jsx(k.Dropdown.Trigger,{children:i.jsx("div",{className:T.default(o.default["tedi-time-field__container"],I,{[o.default["tedi-time-field__container--native"]]:r}),children:i.jsx(O.TextField,{ref:f,...B})})}),i.jsx(k.Dropdown.Content,{children:d.map((s,h)=>i.jsx(k.Dropdown.Item,{index:h,active:s===g,onClick:()=>p(s),children:s},s))})]})}return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:T.default(o.default["tedi-time-field__container"],I),...R?U.getReferenceProps():{},"aria-haspopup":a?"listbox":void 0,tabIndex:-1,children:i.jsx(O.TextField,{ref:f,"aria-expanded":a?F:void 0,...B})}),!r&&a&&!l&&i.jsx(c.FloatingPortal,{children:F&&i.jsx(c.FloatingFocusManager,{context:x,modal:!1,initialFocus:-1,children:i.jsx("div",{ref:j.setFloating,...U.getFloatingProps({style:{position:Y,top:X??0,left:W??0}}),children:i.jsx(se.TimePicker,{value:g,stepMinutes:G,availableTimes:d,onChange:e=>{p(e),d&&_(!1)},gridVariant:y==="grid-radio"?"radio":"button",className:o.default["tedi-time-field__picker-wrapper"]})})})})]})};S.displayName="TimeField";exports.TimeField=S;
@@ -56,6 +56,15 @@ export interface TimeFieldProps extends BreakpointSupport<TimeFieldBreakpointPro
56
56
  * @default false
57
57
  */
58
58
  readOnly?: boolean;
59
+ /**
60
+ * Disables the input and the picker. Equivalent of `<DateTimeField disabled>`
61
+ * — added so all three field siblings (`DateField`, `TimeField`,
62
+ * `DateTimeField`) share the same form-control idiom for "this field is
63
+ * fully unavailable". Forwards to the underlying `TextField`'s `disabled`
64
+ * attribute and short-circuits the picker open path.
65
+ * @default false
66
+ */
67
+ disabled?: boolean;
59
68
  /**
60
69
  * Marks the input as required.
61
70
  */
@@ -1,59 +1,60 @@
1
- import { jsxs as O, jsx as i, Fragment as te } from "react/jsx-runtime";
2
- import { useFloating as ie, useClick as ne, useDismiss as oe, useRole as re, useInteractions as le, FloatingPortal as se, FloatingFocusManager as ae } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
1
+ import { jsxs as V, jsx as i, Fragment as ne } from "react/jsx-runtime";
2
+ import { useFloating as oe, useClick as re, useDismiss as le, useRole as se, useInteractions as ae, FloatingPortal as de, FloatingFocusManager as ce } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
3
  import C from "../../../../../external/classnames/index.es.js";
4
- import ce, { useState as V, useEffect as E } from "react";
5
- import { TextField as U } from "../textfield/textfield.es.js";
6
- import { TimePicker as de } from "../time-picker/time-picker.es.js";
4
+ import fe, { useState as E, useEffect as U } from "react";
5
+ import { TextField as D } from "../textfield/textfield.es.js";
6
+ import { TimePicker as me } from "../time-picker/time-picker.es.js";
7
7
  import l from "./time-field.module.scss.es.js";
8
- import { TIMEPICKER_OFFSET as fe, normalizeTime as ue } from "./time-field-helpers.es.js";
9
- import { autoUpdate as me } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
10
- import { offset as pe, flip as ge, shift as he } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
11
- import { useBreakpointProps as ke } from "../../../helpers/hooks/use-breakpoint-props.es.js";
8
+ import { normalizeTime as ue, TIMEPICKER_OFFSET as pe } from "./time-field-helpers.es.js";
9
+ import { autoUpdate as ge } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
10
+ import { offset as he, flip as ke, shift as ve } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
11
+ import { useBreakpointProps as be } from "../../../helpers/hooks/use-breakpoint-props.es.js";
12
12
  import { Dropdown as h } from "../../overlays/dropdown/dropdown.es.js";
13
- const ve = (k) => {
14
- const { getCurrentBreakpointProps: D } = ke(k.defaultServerBreakpoint), {
15
- id: M,
16
- label: S,
13
+ const xe = (k) => {
14
+ const { getCurrentBreakpointProps: M } = be(k.defaultServerBreakpoint), {
15
+ id: S,
16
+ label: j,
17
17
  value: c,
18
- defaultValue: j,
18
+ defaultValue: q,
19
19
  onChange: v,
20
- readOnly: d = !1,
21
- required: q,
22
- placeholder: z,
20
+ readOnly: I = !1,
21
+ disabled: s = !1,
22
+ required: z,
23
+ placeholder: A,
23
24
  inputProps: t,
24
- stepMinutes: A = 1,
25
- className: I,
26
- availableTimes: s
25
+ stepMinutes: K = 1,
26
+ className: w,
27
+ availableTimes: a
27
28
  } = k, {
28
- useNativePicker: K = !1,
29
- timePickerTrigger: w = "button",
30
- showPicker: a = !0,
31
- availableTimesVariant: T = "grid-buttons"
32
- } = D(k), P = c !== void 0, [G, N] = V(c ?? j ?? ""), u = P ? c : G, [x, _] = V(!1), F = w === "input", o = K, H = ie({
33
- open: x,
34
- onOpenChange: _,
35
- placement: F ? "bottom-start" : "bottom-end",
36
- middleware: [pe(fe), ge(), he()],
37
- whileElementsMounted: me
38
- }), { refs: b, context: m, x: J, y: L, strategy: Q } = H, W = ne(m), X = oe(m), Y = re(m, { role: "listbox" }), y = a && F && !d && !o, R = le([...y ? [W] : [], X, Y]), p = (e) => {
29
+ useNativePicker: G = !1,
30
+ timePickerTrigger: T = "button",
31
+ showPicker: d = !0,
32
+ availableTimesVariant: N = "grid-buttons"
33
+ } = M(k), y = c !== void 0, [H, P] = E(c ?? q ?? ""), m = y ? c : H, [b, x] = E(!1), _ = T === "input", o = G, J = oe({
34
+ open: b,
35
+ onOpenChange: x,
36
+ placement: _ ? "bottom-start" : "bottom-end",
37
+ middleware: [he(pe), ke(), ve()],
38
+ whileElementsMounted: ge
39
+ }), { refs: F, context: u, x: L, y: Q, strategy: W } = J, X = re(u), Y = le(u), Z = se(u, { role: "listbox" }), R = d && _ && !I && !s && !o, B = ae([...R ? [X] : [], Y, Z]), p = (e) => {
39
40
  const n = e.trim();
40
- P || N(n), v == null || v(n);
41
- }, Z = (e) => {
41
+ y || P(n), v == null || v(n);
42
+ }, $ = (e) => {
42
43
  var g;
43
44
  const n = e.target.value ?? "";
44
45
  (g = t == null ? void 0 : t.onBlur) == null || g.call(t, e);
45
46
  const r = ue(n);
46
47
  r !== null && r !== n && p(r);
47
48
  };
48
- E(() => {
49
- c !== void 0 && N(c);
49
+ U(() => {
50
+ c !== void 0 && P(c);
50
51
  }, [c]);
51
- const f = ce.useRef(null);
52
- E(() => {
52
+ const f = fe.useRef(null);
53
+ U(() => {
53
54
  var e;
54
- (e = f.current) != null && e.inner && b.setReference(f.current.inner);
55
- }, [b]);
56
- const $ = () => {
55
+ (e = f.current) != null && e.inner && F.setReference(f.current.inner);
56
+ }, [F]);
57
+ const ee = () => {
57
58
  var n;
58
59
  const e = (n = f.current) == null ? void 0 : n.input;
59
60
  if (e) {
@@ -63,25 +64,26 @@ const ve = (k) => {
63
64
  }
64
65
  e.focus();
65
66
  }
66
- }, ee = () => _((e) => !e), B = {
67
+ }, te = () => x((e) => !e), ie = () => {
68
+ !d || s || (o ? ee() : T === "button" && te());
69
+ }, O = {
67
70
  ...t,
68
- id: M,
69
- label: S,
70
- value: u,
71
- placeholder: z,
72
- readOnly: d || !o && F,
71
+ id: S,
72
+ label: j,
73
+ value: m,
74
+ placeholder: A,
75
+ readOnly: I || !o && _,
76
+ disabled: s || (t == null ? void 0 : t.disabled),
73
77
  icon: "schedule",
74
78
  isClearable: !0,
75
- required: q,
76
- onIconClick: () => {
77
- d || !a || (o ? $() : w === "button" && ee());
78
- },
79
+ required: z,
80
+ onIconClick: ie,
79
81
  onChange: p,
80
- onBlur: Z,
82
+ onBlur: $,
81
83
  className: C(
82
84
  l["tedi-time-field__textfield"],
83
- { [l["tedi-time-field__icon--disabled"]]: !a || d },
84
- { [l["tedi-time-field__textfield--disabled"]]: t == null ? void 0 : t.disabled },
85
+ { [l["tedi-time-field__icon--disabled"]]: !d || s },
86
+ { [l["tedi-time-field__textfield--disabled"]]: s || (t == null ? void 0 : t.disabled) },
85
87
  { [l["tedi-time-field--native"]]: o }
86
88
  ),
87
89
  input: {
@@ -89,53 +91,53 @@ const ve = (k) => {
89
91
  ...o && { type: "time" }
90
92
  }
91
93
  };
92
- if (!o && a && !d && T === "dropdown" && !!(s != null && s.length)) {
93
- const e = s.indexOf(u), n = e >= 0 ? e : 0;
94
- return /* @__PURE__ */ O(h, { width: "trigger", defaultActiveIndex: n, children: [
94
+ if (!o && d && !s && N === "dropdown" && !!(a != null && a.length)) {
95
+ const e = a.indexOf(m), n = e >= 0 ? e : 0;
96
+ return /* @__PURE__ */ V(h, { width: "trigger", defaultActiveIndex: n, children: [
95
97
  /* @__PURE__ */ i(h.Trigger, { children: /* @__PURE__ */ i(
96
98
  "div",
97
99
  {
98
- className: C(l["tedi-time-field__container"], I, {
100
+ className: C(l["tedi-time-field__container"], w, {
99
101
  [l["tedi-time-field__container--native"]]: o
100
102
  }),
101
- children: /* @__PURE__ */ i(U, { ref: f, ...B })
103
+ children: /* @__PURE__ */ i(D, { ref: f, ...O })
102
104
  }
103
105
  ) }),
104
- /* @__PURE__ */ i(h.Content, { children: s.map((r, g) => /* @__PURE__ */ i(h.Item, { index: g, active: r === u, onClick: () => p(r), children: r }, r)) })
106
+ /* @__PURE__ */ i(h.Content, { children: a.map((r, g) => /* @__PURE__ */ i(h.Item, { index: g, active: r === m, onClick: () => p(r), children: r }, r)) })
105
107
  ] });
106
108
  }
107
- return /* @__PURE__ */ O(te, { children: [
109
+ return /* @__PURE__ */ V(ne, { children: [
108
110
  /* @__PURE__ */ i(
109
111
  "div",
110
112
  {
111
- className: C(l["tedi-time-field__container"], I),
112
- ...y ? R.getReferenceProps() : {},
113
- "aria-haspopup": a ? "listbox" : void 0,
113
+ className: C(l["tedi-time-field__container"], w),
114
+ ...R ? B.getReferenceProps() : {},
115
+ "aria-haspopup": d ? "listbox" : void 0,
114
116
  tabIndex: -1,
115
- children: /* @__PURE__ */ i(U, { ref: f, "aria-expanded": a ? x : void 0, ...B })
117
+ children: /* @__PURE__ */ i(D, { ref: f, "aria-expanded": d ? b : void 0, ...O })
116
118
  }
117
119
  ),
118
- !o && a && /* @__PURE__ */ i(se, { children: x && !d && /* @__PURE__ */ i(ae, { context: m, modal: !1, initialFocus: -1, children: /* @__PURE__ */ i(
120
+ !o && d && !s && /* @__PURE__ */ i(de, { children: b && /* @__PURE__ */ i(ce, { context: u, modal: !1, initialFocus: -1, children: /* @__PURE__ */ i(
119
121
  "div",
120
122
  {
121
- ref: b.setFloating,
122
- ...R.getFloatingProps({
123
+ ref: F.setFloating,
124
+ ...B.getFloatingProps({
123
125
  style: {
124
- position: Q,
125
- top: L ?? 0,
126
- left: J ?? 0
126
+ position: W,
127
+ top: Q ?? 0,
128
+ left: L ?? 0
127
129
  }
128
130
  }),
129
131
  children: /* @__PURE__ */ i(
130
- de,
132
+ me,
131
133
  {
132
- value: u,
133
- stepMinutes: A,
134
- availableTimes: s,
134
+ value: m,
135
+ stepMinutes: K,
136
+ availableTimes: a,
135
137
  onChange: (e) => {
136
- p(e), s && _(!1);
138
+ p(e), a && x(!1);
137
139
  },
138
- gridVariant: T === "grid-radio" ? "radio" : "button",
140
+ gridVariant: N === "grid-radio" ? "radio" : "button",
139
141
  className: l["tedi-time-field__picker-wrapper"]
140
142
  }
141
143
  )
@@ -143,7 +145,7 @@ const ve = (k) => {
143
145
  ) }) })
144
146
  ] });
145
147
  };
146
- ve.displayName = "TimeField";
148
+ xe.displayName = "TimeField";
147
149
  export {
148
- ve as TimeField
150
+ xe as TimeField
149
151
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),v=require("../../../../../../../external/classnames/index.cjs.js"),N=require("../../../../base/icon/icon.cjs.js"),h=require("../../../../buttons/button/button.cjs.js"),q=require("../../../../buttons/floating-button/floating-button.cjs.js"),l=require("./mobile-nav-toggle.module.scss.cjs.js"),x=require("../../../../../providers/label-provider/use-labels.cjs.js"),n=({menuOpen:e,toggleMenu:i,referenceRef:c,getReferenceProps:d=()=>({}),variant:o="mobile",showLabel:m=!1,label:t,className:_})=>{const{getLabel:y}=x.useLabels(),u=t!==void 0?typeof t=="function"?t(e):t:y("header.toggle",e),g=o==="collapse"?e?"right_panel_open":"left_panel_open":e?"close":"menu",r=m&&o==="mobile",b=v.default(l.default["tedi-mobile-nav-toggle"],{[l.default["tedi-mobile-nav-toggle--open"]]:e,[l.default[`tedi-mobile-nav-toggle--${o}`]]:!0,[l.default["tedi-mobile-nav-toggle--with-label"]]:r},_),f=a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),i(!e))};if(r)return s.jsxs("button",{...d(),ref:c,type:"button","aria-expanded":e,className:b,onClick:()=>i(!e),onKeyDown:f,children:[s.jsx(N.Icon,{name:g,size:24,className:l.default["tedi-mobile-nav-toggle__icon"],color:"inherit"}),s.jsx("span",{className:l.default["tedi-mobile-nav-toggle__label"],children:u})]});const p=o==="collapse"?q.FloatingButton:h.Button;return s.jsx(p,{...d(),ref:c,icon:{name:g,className:l.default["tedi-mobile-nav-toggle__icon"],size:o==="collapse"?18:24},visualType:o==="collapse"?"secondary":"primary",className:b,onClick:()=>i(!e),onKeyDown:f,position:o==="collapse"?"absolute":"static",size:o==="collapse"?"small":"",children:u})},T=n;exports.MobileNavToggle=n;exports.SidenavToggle=T;exports.default=n;
@@ -0,0 +1,52 @@
1
+ import { default as React } from 'react';
2
+ import { UnknownType } from '../../../../../types/commonTypes';
3
+ export type MobileNavToggleVariant = 'mobile' | 'collapse';
4
+ export type MobileNavToggleProps = {
5
+ /**
6
+ * Is the menu open (for mobile) or expanded (for collapse)
7
+ */
8
+ menuOpen: boolean;
9
+ /**
10
+ * Toggle open/collapse state
11
+ */
12
+ toggleMenu: (open: boolean) => void;
13
+ /**
14
+ * Optional ref to attach to button (for floating UI etc.)
15
+ */
16
+ referenceRef?: React.Ref<UnknownType>;
17
+ /**
18
+ * Optional props passed from floating UI
19
+ */
20
+ getReferenceProps?: () => UnknownType;
21
+ /**
22
+ * Variant of toggle (mobile overlay or collapse control)
23
+ */
24
+ variant?: MobileNavToggleVariant;
25
+ /**
26
+ * Show the open/close label visibly below the icon (mobile variant only).
27
+ * The label text comes from the `header.toggle` i18n key by default — pass
28
+ * `label` to override it. When `false` (default), the button renders
29
+ * icon-only and the label is still exposed as accessible text.
30
+ * @default false
31
+ */
32
+ showLabel?: boolean;
33
+ /**
34
+ * Override the toggle's label text. Accepts a static `ReactNode` (used for
35
+ * both states) or a function that returns a `ReactNode` for the current
36
+ * `menuOpen` state (e.g. `(open) => open ? 'Sulge' : 'Menüü'`). When
37
+ * omitted, the label falls back to the `header.toggle` i18n value.
38
+ */
39
+ label?: React.ReactNode | ((menuOpen: boolean) => React.ReactNode);
40
+ /**
41
+ * Add custom class to override styles
42
+ */
43
+ className?: string;
44
+ };
45
+ export declare const MobileNavToggle: ({ menuOpen, toggleMenu, referenceRef, getReferenceProps, variant, showLabel, label, className, }: MobileNavToggleProps) => import("react/jsx-runtime").JSX.Element;
46
+ /** @deprecated Use `MobileNavToggle` — same component, vendor-neutral name. */
47
+ export declare const SidenavToggle: ({ menuOpen, toggleMenu, referenceRef, getReferenceProps, variant, showLabel, label, className, }: MobileNavToggleProps) => import("react/jsx-runtime").JSX.Element;
48
+ /** @deprecated Use `MobileNavToggleProps`. */
49
+ export type SidenavToggleProps = MobileNavToggleProps;
50
+ /** @deprecated Use `MobileNavToggleVariant`. */
51
+ export type SidenavToggleVariant = MobileNavToggleVariant;
52
+ export default MobileNavToggle;
@@ -0,0 +1,68 @@
1
+ import { jsxs as _, jsx as a } from "react/jsx-runtime";
2
+ import h from "../../../../../../../external/classnames/index.es.js";
3
+ import { Icon as N } from "../../../../base/icon/icon.es.js";
4
+ import { Button as u } from "../../../../buttons/button/button.es.js";
5
+ import { FloatingButton as v } from "../../../../buttons/floating-button/floating-button.es.js";
6
+ import l from "./mobile-nav-toggle.module.scss.es.js";
7
+ import { useLabels as L } from "../../../../../providers/label-provider/use-labels.es.js";
8
+ const k = ({
9
+ menuOpen: o,
10
+ toggleMenu: s,
11
+ referenceRef: c,
12
+ getReferenceProps: n = () => ({}),
13
+ variant: e = "mobile",
14
+ showLabel: b = !1,
15
+ label: t,
16
+ className: f
17
+ }) => {
18
+ const { getLabel: y } = L(), m = t !== void 0 ? typeof t == "function" ? t(o) : t : y("header.toggle", o), r = e === "collapse" ? o ? "right_panel_open" : "left_panel_open" : o ? "close" : "menu", g = b && e === "mobile", d = h(
19
+ l["tedi-mobile-nav-toggle"],
20
+ {
21
+ [l["tedi-mobile-nav-toggle--open"]]: o,
22
+ [l[`tedi-mobile-nav-toggle--${e}`]]: !0,
23
+ [l["tedi-mobile-nav-toggle--with-label"]]: g
24
+ },
25
+ f
26
+ ), p = (i) => {
27
+ (i.key === "Enter" || i.key === " ") && (i.preventDefault(), s(!o));
28
+ };
29
+ return g ? /* @__PURE__ */ _(
30
+ "button",
31
+ {
32
+ ...n(),
33
+ ref: c,
34
+ type: "button",
35
+ "aria-expanded": o,
36
+ className: d,
37
+ onClick: () => s(!o),
38
+ onKeyDown: p,
39
+ children: [
40
+ /* @__PURE__ */ a(N, { name: r, size: 24, className: l["tedi-mobile-nav-toggle__icon"], color: "inherit" }),
41
+ /* @__PURE__ */ a("span", { className: l["tedi-mobile-nav-toggle__label"], children: m })
42
+ ]
43
+ }
44
+ ) : /* @__PURE__ */ a(
45
+ e === "collapse" ? v : u,
46
+ {
47
+ ...n(),
48
+ ref: c,
49
+ icon: {
50
+ name: r,
51
+ className: l["tedi-mobile-nav-toggle__icon"],
52
+ size: e === "collapse" ? 18 : 24
53
+ },
54
+ visualType: e === "collapse" ? "secondary" : "primary",
55
+ className: d,
56
+ onClick: () => s(!o),
57
+ onKeyDown: p,
58
+ position: e === "collapse" ? "absolute" : "static",
59
+ size: e === "collapse" ? "small" : "",
60
+ children: m
61
+ }
62
+ );
63
+ }, j = k;
64
+ export {
65
+ k as MobileNavToggle,
66
+ j as SidenavToggle,
67
+ k as default
68
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-mobile-nav-toggle":"tedi-mobile-nav-toggle-923946d1","tedi-mobile-nav-toggle--collapse":"tedi-mobile-nav-toggle--collapse-4434a2d6","tedi-mobile-nav-toggle--with-label":"tedi-mobile-nav-toggle--with-label-703a307f","tedi-mobile-nav-toggle__label":"tedi-mobile-nav-toggle__label-9cd8a16e"};exports.default=e;
@@ -0,0 +1,9 @@
1
+ const e = {
2
+ "tedi-mobile-nav-toggle": "tedi-mobile-nav-toggle-923946d1",
3
+ "tedi-mobile-nav-toggle--collapse": "tedi-mobile-nav-toggle--collapse-4434a2d6",
4
+ "tedi-mobile-nav-toggle--with-label": "tedi-mobile-nav-toggle--with-label-703a307f",
5
+ "tedi-mobile-nav-toggle__label": "tedi-mobile-nav-toggle__label-9cd8a16e"
6
+ };
7
+ export {
8
+ e as default
9
+ };
@@ -0,0 +1,2 @@
1
+ export * from './mobile-nav';
2
+ export * from './components/mobile-nav-toggle/mobile-nav-toggle';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),U=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),l=require("../../../../../external/classnames/index.cjs.js"),m=require("react"),d=require("../../base/icon/icon.cjs.js"),f=require("../../buttons/button/button.cjs.js"),M=require("../sidenav/components/sidenav-item/sidenav-item.cjs.js"),n=require("../sidenav/sidenav.module.scss.cjs.js"),D=require("../../../providers/label-provider/use-labels.cjs.js"),q=({navItems:h,ariaLabel:y,linkAs:v,isOpen:w,onClose:r,showOverlay:B=!0,id:G,className:P})=>{var k,g,p,I,S,C,L;const{getLabel:b}=D.useLabels(),[s,c]=m.useState([{items:h}]);m.useEffect(()=>{c([{items:h}])},[h]);const a=s[s.length-1],R=s.length===1,x=e=>{var _;const i=!!(e.subItems||e.subItemGroups),o=!!(e.href||e.to);if(!i){r();return}const u=((_=e.subItemGroups)==null?void 0:_.flatMap(H=>H.subItems))||e.subItems||[];c([...s,{items:u,parent:e,renderParentLink:o}])},T=()=>{c(s.slice(0,-1))},z=()=>{c([s[0]])},F=((g=(k=a.parent)==null?void 0:k.subItems)==null?void 0:g.length)??((I=(p=a.parent)==null?void 0:p.subItemGroups)==null?void 0:I.length),O=s.length>1&&!(a.renderParentLink&&F),N=(e,i)=>i===1?!(e.subItems||e.subItemGroups)?t.jsx(M.SideNavItem,{...e,as:v,level:i,onItemClick:r,className:l.default(n.default["tedi-sidenav__item--mobile"],e.className)}):t.jsx("li",{className:l.default(n.default["tedi-sidenav__item"],n.default["tedi-sidenav__item--mobile"]),children:t.jsxs("button",{onClick:()=>x(e),className:n.default["tedi-sidenav__link"],children:[e.icon&&t.jsx(d.Icon,{name:typeof e.icon=="string"?e.icon:e.icon.name,color:"white",className:n.default["tedi-sidenav__icon"]}),t.jsx("span",{className:n.default["tedi-sidenav__title"],children:e.children}),t.jsx(d.Icon,{name:"expand_more",color:"white",className:n.default["tedi-sidenav__toggle-icon"]})]})}):E(e,i),E=(e,i)=>{const o=!!(e.href||e.to),u=!!(e.subItems||e.subItemGroups);return o?t.jsx(M.SideNavItem,{...e,as:v,level:i,icon:void 0,onItemClick:r,className:l.default(n.default["tedi-sidenav__sub-item"],e.className)}):t.jsx("li",{className:l.default(n.default["tedi-sidenav__item"]),children:t.jsxs(f.Button,{noStyle:!0,onClick:()=>u?x(e):r(),className:n.default["tedi-sidenav__link"],children:[t.jsx("span",{className:n.default["tedi-sidenav__title"],children:e.children}),u?t.jsx(d.Icon,{name:"expand_more",color:"white",className:n.default["tedi-sidenav__toggle-icon"]}):null]})})},j=t.jsxs("nav",{"data-name":"mobile-sidenav",className:l.default(n.default["tedi-sidenav"],n.default["tedi-sidenav--mobile"],P),"aria-label":y,id:G,children:[t.jsx("div",{className:n.default["tedi-sidenav__list"],children:!R&&t.jsxs("div",{className:n.default["tedi-sidenav__back-buttons"],children:[s.length>1&&t.jsxs(f.Button,{noStyle:!0,onClick:z,className:l.default(n.default["tedi-sidenav__link"],n.default["tedi-sidenav__back-button"]),children:[t.jsx(d.Icon,{name:"arrow_back",size:16,color:"white"}),t.jsx("span",{children:b("sidenav.backToMainMenu")})]}),s.length>2&&t.jsxs(f.Button,{noStyle:!0,onClick:T,className:l.default(n.default["tedi-sidenav__link"],n.default["tedi-sidenav__back-button"]),children:[t.jsx(d.Icon,{name:"arrow_back",size:16,color:"white"}),t.jsx("span",{children:((C=(S=s[s.length-1])==null?void 0:S.parent)==null?void 0:C.children)+" "+b("sidenav.backtoMenu")})]})]})}),O&&t.jsx("div",{className:l.default(n.default["tedi-sidenav__subheading"],n.default["tedi-sidenav__subheading--mobile"]),children:(L=a.parent)==null?void 0:L.children}),t.jsxs("ul",{className:n.default["tedi-sidenav__list"],role:"menubar",children:[a.renderParentLink&&a.parent&&t.jsx("li",{className:n.default["tedi-sidenav__list-item"],children:t.jsx("div",{className:l.default(n.default["tedi-sidenav__collapse"]),children:N(a.parent,s.length)})}),!a.renderParentLink&&a.items.map((e,i)=>t.jsx(m.Fragment,{children:N(e,s.length)},e.id||i))]})]});return w?B?t.jsx(U.FloatingOverlay,{style:{top:"0",position:"relative",height:"100%"},className:n.default["tedi-sidenav__overlay"],children:j}):j:null},J=q;exports.MobileNav=q;exports.SideNavMobile=J;
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { SideNavItemProps } from '../sidenav/components/sidenav-item/sidenav-item';
3
+ export type MobileNavProps<C extends React.ElementType = 'a'> = {
4
+ navItems: SideNavItemProps<C>[];
5
+ ariaLabel: string;
6
+ linkAs?: C;
7
+ isOpen: boolean;
8
+ onClose: () => void;
9
+ showOverlay?: boolean;
10
+ id?: string;
11
+ className?: string;
12
+ };
13
+ export declare const MobileNav: <C extends React.ElementType = "a">({ navItems, ariaLabel, linkAs, isOpen, onClose, showOverlay, id, className, }: MobileNavProps<C>) => import("react/jsx-runtime").JSX.Element | null;
14
+ /**
15
+ * @deprecated Use `MobileNav` (same component, vendor-neutral name). Kept for
16
+ * backward compatibility with the `SideNav.Mobile` sub-component alias.
17
+ */
18
+ export declare const SideNavMobile: <C extends React.ElementType = "a">({ navItems, ariaLabel, linkAs, isOpen, onClose, showOverlay, id, className, }: MobileNavProps<C>) => import("react/jsx-runtime").JSX.Element | null;
19
+ /** @deprecated Use `MobileNavProps`. */
20
+ export type SideNavMobileProps<C extends React.ElementType = 'a'> = MobileNavProps<C>;
@@ -1,13 +1,13 @@
1
1
  import { jsxs as r, jsx as i } from "react/jsx-runtime";
2
- import { FloatingOverlay as q } from "../../../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
- import l from "../../../../../../../external/classnames/index.es.js";
2
+ import { FloatingOverlay as q } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
+ import l from "../../../../../external/classnames/index.es.js";
4
4
  import D, { useState as J, useEffect as K } from "react";
5
- import { Icon as d } from "../../../../base/icon/icon.es.js";
6
- import { Button as v } from "../../../../buttons/button/button.es.js";
7
- import n from "../../sidenav.module.scss.es.js";
8
- import { SideNavItem as M } from "../sidenav-item/sidenav-item.es.js";
9
- import { useLabels as Q } from "../../../../../providers/label-provider/use-labels.es.js";
10
- const ne = ({
5
+ import { Icon as d } from "../../base/icon/icon.es.js";
6
+ import { Button as v } from "../../buttons/button/button.es.js";
7
+ import { SideNavItem as w } from "../sidenav/components/sidenav-item/sidenav-item.es.js";
8
+ import n from "../sidenav/sidenav.module.scss.es.js";
9
+ import { useLabels as Q } from "../../../providers/label-provider/use-labels.es.js";
10
+ const U = ({
11
11
  navItems: _,
12
12
  ariaLabel: x,
13
13
  linkAs: b,
@@ -17,12 +17,12 @@ const ne = ({
17
17
  id: R,
18
18
  className: B
19
19
  }) => {
20
- var f, I, C, L, S, y, w;
20
+ var f, I, C, L, S, y, M;
21
21
  const { getLabel: p } = Q(), [s, c] = J([{ items: _ }]);
22
22
  K(() => {
23
23
  c([{ items: _ }]);
24
24
  }, [_]);
25
- const t = s[s.length - 1], j = s.length === 1, k = (e) => {
25
+ const t = s[s.length - 1], j = s.length === 1, N = (e) => {
26
26
  var u;
27
27
  const a = !!(e.subItems || e.subItemGroups), m = !!(e.href || e.to);
28
28
  if (!a) {
@@ -42,8 +42,8 @@ const ne = ({
42
42
  c(s.slice(0, -1));
43
43
  }, F = () => {
44
44
  c([s[0]]);
45
- }, T = ((I = (f = t.parent) == null ? void 0 : f.subItems) == null ? void 0 : I.length) ?? ((L = (C = t.parent) == null ? void 0 : C.subItemGroups) == null ? void 0 : L.length), E = s.length > 1 && !(t.renderParentLink && T), N = (e, a) => a === 1 ? !(e.subItems || e.subItemGroups) ? /* @__PURE__ */ i(
46
- M,
45
+ }, T = ((I = (f = t.parent) == null ? void 0 : f.subItems) == null ? void 0 : I.length) ?? ((L = (C = t.parent) == null ? void 0 : C.subItemGroups) == null ? void 0 : L.length), E = s.length > 1 && !(t.renderParentLink && T), k = (e, a) => a === 1 ? !(e.subItems || e.subItemGroups) ? /* @__PURE__ */ i(
46
+ w,
47
47
  {
48
48
  ...e,
49
49
  as: b,
@@ -51,7 +51,7 @@ const ne = ({
51
51
  onItemClick: o,
52
52
  className: l(n["tedi-sidenav__item--mobile"], e.className)
53
53
  }
54
- ) : /* @__PURE__ */ i("li", { className: l(n["tedi-sidenav__item"], n["tedi-sidenav__item--mobile"]), children: /* @__PURE__ */ r("button", { onClick: () => k(e), className: n["tedi-sidenav__link"], children: [
54
+ ) : /* @__PURE__ */ i("li", { className: l(n["tedi-sidenav__item"], n["tedi-sidenav__item--mobile"]), children: /* @__PURE__ */ r("button", { onClick: () => N(e), className: n["tedi-sidenav__link"], children: [
55
55
  e.icon && /* @__PURE__ */ i(
56
56
  d,
57
57
  {
@@ -65,7 +65,7 @@ const ne = ({
65
65
  ] }) }) : H(e, a), H = (e, a) => {
66
66
  const m = !!(e.href || e.to), h = !!(e.subItems || e.subItemGroups);
67
67
  return m ? /* @__PURE__ */ i(
68
- M,
68
+ w,
69
69
  {
70
70
  ...e,
71
71
  as: b,
@@ -78,7 +78,7 @@ const ne = ({
78
78
  v,
79
79
  {
80
80
  noStyle: !0,
81
- onClick: () => h ? k(e) : o(),
81
+ onClick: () => h ? N(e) : o(),
82
82
  className: n["tedi-sidenav__link"],
83
83
  children: [
84
84
  /* @__PURE__ */ i("span", { className: n["tedi-sidenav__title"], children: e.children }),
@@ -120,10 +120,10 @@ const ne = ({
120
120
  }
121
121
  )
122
122
  ] }) }),
123
- E && /* @__PURE__ */ i("div", { className: l(n["tedi-sidenav__subheading"], n["tedi-sidenav__subheading--mobile"]), children: (w = t.parent) == null ? void 0 : w.children }),
123
+ E && /* @__PURE__ */ i("div", { className: l(n["tedi-sidenav__subheading"], n["tedi-sidenav__subheading--mobile"]), children: (M = t.parent) == null ? void 0 : M.children }),
124
124
  /* @__PURE__ */ r("ul", { className: n["tedi-sidenav__list"], role: "menubar", children: [
125
- t.renderParentLink && t.parent && /* @__PURE__ */ i("li", { className: n["tedi-sidenav__list-item"], children: /* @__PURE__ */ i("div", { className: l(n["tedi-sidenav__collapse"]), children: N(t.parent, s.length) }) }),
126
- !t.renderParentLink && t.items.map((e, a) => /* @__PURE__ */ i(D.Fragment, { children: N(e, s.length) }, e.id || a))
125
+ t.renderParentLink && t.parent && /* @__PURE__ */ i("li", { className: n["tedi-sidenav__list-item"], children: /* @__PURE__ */ i("div", { className: l(n["tedi-sidenav__collapse"]), children: k(t.parent, s.length) }) }),
126
+ !t.renderParentLink && t.items.map((e, a) => /* @__PURE__ */ i(D.Fragment, { children: k(e, s.length) }, e.id || a))
127
127
  ] })
128
128
  ]
129
129
  }
@@ -140,7 +140,8 @@ const ne = ({
140
140
  children: g
141
141
  }
142
142
  ) : g : null;
143
- };
143
+ }, ie = U;
144
144
  export {
145
- ne as SideNavMobile
145
+ U as MobileNav,
146
+ ie as SideNavMobile
146
147
  };