@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
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-table":"tedi-table-f4707778","tedi-table__toolbar":"tedi-table__toolbar-7ccf8a04","tedi-table__scroll":"tedi-table__scroll-a9c9ce5f","tedi-table__table":"tedi-table__table-0c156cdb","tedi-table__caption":"tedi-table__caption-378edbc2","tedi-table__head":"tedi-table__head-549b3a97","tedi-table__header-cell":"tedi-table__header-cell-31f2955e","tedi-table__row":"tedi-table__row-bcd5867d","tedi-table__cell":"tedi-table__cell-95d3876c","tedi-table__cell--align-left":"tedi-table__cell--align-left-2fbf07e9","tedi-table__cell--align-center":"tedi-table__cell--align-center-7aae1b56","tedi-table__cell--align-right":"tedi-table__cell--align-right-ec62c9b8","tedi-table__cell--valign-top":"tedi-table__cell--valign-top-af74bcaa","tedi-table__cell--valign-middle":"tedi-table__cell--valign-middle-86b5d5c3","tedi-table__cell--valign-bottom":"tedi-table__cell--valign-bottom-17cd68db","tedi-table__cell--placeholder":"tedi-table__cell--placeholder-c015ed76","tedi-table--small":"tedi-table--small-63dad8b3","tedi-table__foot":"tedi-table__foot-81a5fd8a","tedi-table__cell--footer":"tedi-table__cell--footer-6db3119e","tedi-table__row--selected":"tedi-table__row--selected-4e592b36","tedi-table__row--dragging":"tedi-table__row--dragging-a5ef9418","tedi-table__row--drag-over":"tedi-table__row--drag-over-6d93e8b7","tedi-table__row--drag-preview":"tedi-table__row--drag-preview-47e2dd99","tedi-table__header-cell--dragging":"tedi-table__header-cell--dragging-06a46b18","tedi-table__header-cell--drag-over":"tedi-table__header-cell--drag-over-f252af8e","tedi-table__cell--drag-over":"tedi-table__cell--drag-over-cbc1dbfb","tedi-table__header-cell--drag-preview":"tedi-table__header-cell--drag-preview-9bb286ec","tedi-table__row--picked-up":"tedi-table__row--picked-up-d3b1dea5","tedi-table__header-cell--picked-up":"tedi-table__header-cell--picked-up-15995295","tedi-table__drag-handle--picked-up":"tedi-table__drag-handle--picked-up-f844be33","tedi-table__sr-only":"tedi-table__sr-only-63bcee78","tedi-table__header-cell-inner":"tedi-table__header-cell-inner-56364d8d","tedi-table__cell--drag-handle":"tedi-table__cell--drag-handle-d53d19c1","tedi-table__drag-handle":"tedi-table__drag-handle-9672fabe","tedi-table__row--clickable":"tedi-table__row--clickable-05139b72","tedi-table__row--sub-component":"tedi-table__row--sub-component-effed53b","tedi-table__row--sub-row":"tedi-table__row--sub-row-3d164bb0","tedi-table__cell--sub-component":"tedi-table__cell--sub-component-39f49de2","tedi-table__row--filter":"tedi-table__row--filter-549a00f2","tedi-table--striped":"tedi-table--striped-213db29e","tedi-table__body":"tedi-table__body-622a274c","tedi-table--row-hover":"tedi-table--row-hover-399b73a2","tedi-table__row--active":"tedi-table__row--active-3d6fa5fc","tedi-table--vertical-borders":"tedi-table--vertical-borders-7daec7da","tedi-table--borderless":"tedi-table--borderless-32051e6f","tedi-table--has-pagination":"tedi-table--has-pagination-1eb2a663","tedi-table__pagination":"tedi-table__pagination-2bb8beb7","tedi-table--sticky-first-column":"tedi-table--sticky-first-column-0b93c772","tedi-table--sticky-header":"tedi-table--sticky-header-d8ee7437"};exports.default=e;
@@ -0,0 +1,54 @@
1
+ const e = {
2
+ "tedi-table": "tedi-table-f4707778",
3
+ "tedi-table__toolbar": "tedi-table__toolbar-7ccf8a04",
4
+ "tedi-table__scroll": "tedi-table__scroll-a9c9ce5f",
5
+ "tedi-table__table": "tedi-table__table-0c156cdb",
6
+ "tedi-table__caption": "tedi-table__caption-378edbc2",
7
+ "tedi-table__head": "tedi-table__head-549b3a97",
8
+ "tedi-table__header-cell": "tedi-table__header-cell-31f2955e",
9
+ "tedi-table__row": "tedi-table__row-bcd5867d",
10
+ "tedi-table__cell": "tedi-table__cell-95d3876c",
11
+ "tedi-table__cell--align-left": "tedi-table__cell--align-left-2fbf07e9",
12
+ "tedi-table__cell--align-center": "tedi-table__cell--align-center-7aae1b56",
13
+ "tedi-table__cell--align-right": "tedi-table__cell--align-right-ec62c9b8",
14
+ "tedi-table__cell--valign-top": "tedi-table__cell--valign-top-af74bcaa",
15
+ "tedi-table__cell--valign-middle": "tedi-table__cell--valign-middle-86b5d5c3",
16
+ "tedi-table__cell--valign-bottom": "tedi-table__cell--valign-bottom-17cd68db",
17
+ "tedi-table__cell--placeholder": "tedi-table__cell--placeholder-c015ed76",
18
+ "tedi-table--small": "tedi-table--small-63dad8b3",
19
+ "tedi-table__foot": "tedi-table__foot-81a5fd8a",
20
+ "tedi-table__cell--footer": "tedi-table__cell--footer-6db3119e",
21
+ "tedi-table__row--selected": "tedi-table__row--selected-4e592b36",
22
+ "tedi-table__row--dragging": "tedi-table__row--dragging-a5ef9418",
23
+ "tedi-table__row--drag-over": "tedi-table__row--drag-over-6d93e8b7",
24
+ "tedi-table__row--drag-preview": "tedi-table__row--drag-preview-47e2dd99",
25
+ "tedi-table__header-cell--dragging": "tedi-table__header-cell--dragging-06a46b18",
26
+ "tedi-table__header-cell--drag-over": "tedi-table__header-cell--drag-over-f252af8e",
27
+ "tedi-table__cell--drag-over": "tedi-table__cell--drag-over-cbc1dbfb",
28
+ "tedi-table__header-cell--drag-preview": "tedi-table__header-cell--drag-preview-9bb286ec",
29
+ "tedi-table__row--picked-up": "tedi-table__row--picked-up-d3b1dea5",
30
+ "tedi-table__header-cell--picked-up": "tedi-table__header-cell--picked-up-15995295",
31
+ "tedi-table__drag-handle--picked-up": "tedi-table__drag-handle--picked-up-f844be33",
32
+ "tedi-table__sr-only": "tedi-table__sr-only-63bcee78",
33
+ "tedi-table__header-cell-inner": "tedi-table__header-cell-inner-56364d8d",
34
+ "tedi-table__cell--drag-handle": "tedi-table__cell--drag-handle-d53d19c1",
35
+ "tedi-table__drag-handle": "tedi-table__drag-handle-9672fabe",
36
+ "tedi-table__row--clickable": "tedi-table__row--clickable-05139b72",
37
+ "tedi-table__row--sub-component": "tedi-table__row--sub-component-effed53b",
38
+ "tedi-table__row--sub-row": "tedi-table__row--sub-row-3d164bb0",
39
+ "tedi-table__cell--sub-component": "tedi-table__cell--sub-component-39f49de2",
40
+ "tedi-table__row--filter": "tedi-table__row--filter-549a00f2",
41
+ "tedi-table--striped": "tedi-table--striped-213db29e",
42
+ "tedi-table__body": "tedi-table__body-622a274c",
43
+ "tedi-table--row-hover": "tedi-table--row-hover-399b73a2",
44
+ "tedi-table__row--active": "tedi-table__row--active-3d6fa5fc",
45
+ "tedi-table--vertical-borders": "tedi-table--vertical-borders-7daec7da",
46
+ "tedi-table--borderless": "tedi-table--borderless-32051e6f",
47
+ "tedi-table--has-pagination": "tedi-table--has-pagination-1eb2a663",
48
+ "tedi-table__pagination": "tedi-table__pagination-2bb8beb7",
49
+ "tedi-table--sticky-first-column": "tedi-table--sticky-first-column-0b93c772",
50
+ "tedi-table--sticky-header": "tedi-table--sticky-header-d8ee7437"
51
+ };
52
+ export {
53
+ e as default
54
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),E=["columnVisibility","columnOrder"];function b(e){if(!e)return null;if(e.storage)return e.storage;if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function D(e,t){const n=b(e);if(!n||!e)return t;try{const o=n.getItem(e.key);if(!o)return t;const c=JSON.parse(o),u=e.include??E,i={};for(const s of u)c[s]!==void 0&&(i[s]=c[s]);return{...t,...i}}catch{return t}}function J(e){const{persist:t,controlled:n,defaultState:o,onStateChange:c}=e,[u,i]=r.useState(()=>D(t,o??{})),s=r.useMemo(()=>({...u,...n}),[u,n]),S=r.useRef(n);S.current=n;const l=r.useRef(c);l.current=c;const m=r.useRef(t);m.current=t;const N=r.useCallback(a=>{i(d=>{var P;const w=S.current,h={...d,...w},R=typeof a=="function"?a(h):a,k={...d,...R},g={...d,...w,...R},f=m.current,I=b(f);if(I&&f)try{const v=f.include??E,T={};for(const y of v)g[y]!==void 0&&(T[y]=g[y]);I.setItem(f.key,JSON.stringify(T))}catch{}return(P=l.current)==null||P.call(l,g),k})},[]);return[s,N]}exports.useTablePersistence=J;
@@ -0,0 +1,13 @@
1
+ import { TablePersistOptions, TableState } from './table';
2
+ /**
3
+ * Owns the Table's internal state and (optionally) syncs it to a Storage backend.
4
+ * The hook always returns a fully-merged TableState so callers never have to
5
+ * reason about `undefined` slices.
6
+ */
7
+ export type TableStatePatch = Partial<TableState> | ((prev: TableState) => Partial<TableState>);
8
+ export declare function useTablePersistence(options: {
9
+ persist?: TablePersistOptions;
10
+ controlled?: Partial<TableState>;
11
+ defaultState?: Partial<TableState>;
12
+ onStateChange?: (state: TableState) => void;
13
+ }): [TableState, (next: TableStatePatch) => void];
@@ -0,0 +1,53 @@
1
+ import { useState as J, useMemo as _, useRef as y, useCallback as p } from "react";
2
+ const R = ["columnVisibility", "columnOrder"];
3
+ function T(t) {
4
+ if (!t) return null;
5
+ if (t.storage) return t.storage;
6
+ if (typeof window > "u") return null;
7
+ try {
8
+ return window.localStorage;
9
+ } catch {
10
+ return null;
11
+ }
12
+ }
13
+ function v(t, e) {
14
+ const n = T(t);
15
+ if (!n || !t) return e;
16
+ try {
17
+ const o = n.getItem(t.key);
18
+ if (!o) return e;
19
+ const r = JSON.parse(o), s = t.include ?? R, u = {};
20
+ for (const c of s)
21
+ r[c] !== void 0 && (u[c] = r[c]);
22
+ return { ...e, ...u };
23
+ } catch {
24
+ return e;
25
+ }
26
+ }
27
+ function C(t) {
28
+ const { persist: e, controlled: n, defaultState: o, onStateChange: r } = t, [s, u] = J(() => v(e, o ?? {})), c = _(() => ({ ...s, ...n }), [s, n]), S = y(n);
29
+ S.current = n;
30
+ const i = y(r);
31
+ i.current = r;
32
+ const m = y(e);
33
+ m.current = e;
34
+ const h = p((f) => {
35
+ u((d) => {
36
+ var N;
37
+ const w = S.current, k = { ...d, ...w }, I = typeof f == "function" ? f(k) : f, x = { ...d, ...I }, a = { ...d, ...w, ...I }, l = m.current, E = T(l);
38
+ if (E && l)
39
+ try {
40
+ const D = l.include ?? R, P = {};
41
+ for (const g of D)
42
+ a[g] !== void 0 && (P[g] = a[g]);
43
+ E.setItem(l.key, JSON.stringify(P));
44
+ } catch {
45
+ }
46
+ return (N = i.current) == null || N.call(i, a), x;
47
+ });
48
+ }, []);
49
+ return [c, h];
50
+ }
51
+ export {
52
+ C as useTablePersistence
53
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext(null);exports.FilterGroupContext=e;
@@ -0,0 +1,8 @@
1
+ export interface FilterGroupContextValue {
2
+ isManaged: boolean;
3
+ multiselect: boolean;
4
+ disabled: boolean;
5
+ isSelected: (value: string) => boolean;
6
+ selectFilter: (value: string) => void;
7
+ }
8
+ export declare const FilterGroupContext: import('react').Context<FilterGroupContextValue | null>;
@@ -0,0 +1,5 @@
1
+ import { createContext as t } from "react";
2
+ const e = t(null);
3
+ export {
4
+ e as FilterGroupContext
5
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),N=require("../../../../../external/classnames/index.cjs.js"),a=require("react"),P=require("./filter.module.scss.cjs.js"),C=require("./filter-group-context.cjs.js"),G=new Set,F=S=>{const{label:d,ariaLabelledBy:p,disabled:v=!1,className:g,children:q,multiselect:t=!1,value:l,defaultValue:f,onValueChange:o,values:s,defaultValues:x,onValuesChange:n}=S,u=l!==void 0||f!==void 0||o!==void 0||s!==void 0||x!==void 0||n!==void 0||!!d||t,[h,j]=a.useState(f??null),[w,k]=a.useState(x??[]),c=l!==void 0?l:h,r=s!==void 0?s:w,m=a.useCallback(e=>{if(t){const i=r.includes(e)?r.filter(M=>M!==e):[...r,e];s===void 0&&k(i),n==null||n(i)}else{const i=c===e?null:e;l===void 0&&j(i),o==null||o(i)}},[t,r,c,s,l,n,o]),V=a.useCallback(e=>t?r.includes(e):c===e,[t,r,c]),B=a.useMemo(()=>({isManaged:u,multiselect:t,disabled:v,isSelected:V,selectFilter:m}),[u,t,v,V,m]),b=u?t?"group":"radiogroup":void 0;if(u&&!d&&!p){const e=b+"|"+(l??f??"")+"|"+t;G.has(e)||(G.add(e),console.warn(`[FilterGroup] role="${b}" needs an accessible name. Pass either \`label\` or \`ariaLabelledBy\` so screen readers can announce the group with context.`))}return y.jsx(C.FilterGroupContext.Provider,{value:B,children:y.jsx("div",{className:N.default(P.default["tedi-filter-group"],g),role:b,"aria-label":d,"aria-labelledby":p,children:q})})};F.displayName="FilterGroup";exports.FilterGroup=F;
@@ -0,0 +1,94 @@
1
+ import { default as React } from 'react';
2
+ interface FilterGroupCommonProps {
3
+ /**
4
+ * Accessible label for the group, exposed as `aria-label` on the container.
5
+ *
6
+ * **Required when the group is managed** (single- or multi-select). The container then
7
+ * has `role="radiogroup"` / `role="group"`, and ARIA requires every role to carry an
8
+ * accessible name — otherwise screen readers announce e.g. "radio group" with no context.
9
+ * Use `ariaLabelledBy` instead if the name lives in an existing heading.
10
+ *
11
+ * Setting `label` also implicitly turns the group into managed mode.
12
+ */
13
+ label?: string;
14
+ /**
15
+ * ID of an existing element that labels the group (alternative to `label`). Useful when
16
+ * the group is preceded by a heading that should also act as the accessible name —
17
+ * avoids duplicating the text. Sets `aria-labelledby` on the container.
18
+ */
19
+ ariaLabelledBy?: string;
20
+ /**
21
+ * When `true`, every `<Filter>` inside the group is disabled, regardless of their own
22
+ * `disabled` props. Useful for "this section isn't applicable yet" UX.
23
+ *
24
+ * @default false
25
+ */
26
+ disabled?: boolean;
27
+ /**
28
+ * Extra class name appended to the group container `<div>`. Use this for spacing/layout;
29
+ * the per-filter radius and border-collapsing already comes from the group's own styles.
30
+ */
31
+ className?: string;
32
+ /**
33
+ * `<Filter>` children that participate in the group. Non-`<Filter>` nodes are rendered
34
+ * verbatim but do not contribute to the managed selection state.
35
+ */
36
+ children: React.ReactNode;
37
+ }
38
+ interface FilterGroupSingleProps extends FilterGroupCommonProps {
39
+ /**
40
+ * When `false` or omitted, the group enforces single-select (radio-like) semantics —
41
+ * picking a child deselects the others; re-clicking the active one toggles it to `null`.
42
+ *
43
+ * @default false
44
+ */
45
+ multiselect?: false;
46
+ /**
47
+ * **Controlled** selected value. The string identifier matches the `value` prop on the
48
+ * `<Filter>` child you want highlighted, or `null` for "nothing selected".
49
+ *
50
+ * Pair with `onValueChange` to fully own the state.
51
+ */
52
+ value?: string | null;
53
+ /**
54
+ * **Uncontrolled** initial selected value. Ignored once `value` is provided.
55
+ */
56
+ defaultValue?: string | null;
57
+ /**
58
+ * Fires whenever the selected value changes — when a child is clicked, or when the
59
+ * currently-active child is re-clicked to toggle it back to `null`.
60
+ */
61
+ onValueChange?: (value: string | null) => void;
62
+ values?: never;
63
+ defaultValues?: never;
64
+ onValuesChange?: never;
65
+ }
66
+ interface FilterGroupMultiProps extends FilterGroupCommonProps {
67
+ /**
68
+ * Set to `true` to switch the group into multi-select (toggle-group) semantics — multiple
69
+ * children can be active at once and `aria-pressed` is used in place of `aria-checked`.
70
+ */
71
+ multiselect: true;
72
+ /**
73
+ * **Controlled** selected values array. Each entry should match the `value` prop of one
74
+ * `<Filter>` child. Order is preserved as the user toggles entries.
75
+ */
76
+ values?: string[];
77
+ /**
78
+ * **Uncontrolled** initial selected values array. Ignored once `values` is provided.
79
+ */
80
+ defaultValues?: string[];
81
+ /**
82
+ * Fires whenever the selected values array changes (any child toggled on or off).
83
+ */
84
+ onValuesChange?: (values: string[]) => void;
85
+ value?: never;
86
+ defaultValue?: never;
87
+ onValueChange?: never;
88
+ }
89
+ export type FilterGroupProps = FilterGroupSingleProps | FilterGroupMultiProps;
90
+ export declare const FilterGroup: {
91
+ (props: FilterGroupProps): JSX.Element;
92
+ displayName: string;
93
+ };
94
+ export {};
@@ -0,0 +1,64 @@
1
+ import { jsx as y } from "react/jsx-runtime";
2
+ import L from "../../../../../external/classnames/index.es.js";
3
+ import n from "react";
4
+ import M from "./filter.module.scss.es.js";
5
+ import { FilterGroupContext as P } from "./filter-group-context.es.js";
6
+ const F = /* @__PURE__ */ new Set(), _ = (G) => {
7
+ const {
8
+ label: d,
9
+ ariaLabelledBy: p,
10
+ disabled: b = !1,
11
+ className: h,
12
+ children: w,
13
+ multiselect: l = !1,
14
+ value: o,
15
+ defaultValue: f,
16
+ onValueChange: r,
17
+ values: s,
18
+ defaultValues: v,
19
+ onValuesChange: a
20
+ } = G, c = o !== void 0 || f !== void 0 || r !== void 0 || s !== void 0 || v !== void 0 || a !== void 0 || !!d || l, [N, S] = n.useState(f ?? null), [g, k] = n.useState(v ?? []), u = o !== void 0 ? o : N, t = s !== void 0 ? s : g, V = n.useCallback(
21
+ (e) => {
22
+ if (l) {
23
+ const i = t.includes(e) ? t.filter((I) => I !== e) : [...t, e];
24
+ s === void 0 && k(i), a == null || a(i);
25
+ } else {
26
+ const i = u === e ? null : e;
27
+ o === void 0 && S(i), r == null || r(i);
28
+ }
29
+ },
30
+ [l, t, u, s, o, a, r]
31
+ ), x = n.useCallback(
32
+ (e) => l ? t.includes(e) : u === e,
33
+ [l, t, u]
34
+ ), B = n.useMemo(
35
+ () => ({
36
+ isManaged: c,
37
+ multiselect: l,
38
+ disabled: b,
39
+ isSelected: x,
40
+ selectFilter: V
41
+ }),
42
+ [c, l, b, x, V]
43
+ ), m = c ? l ? "group" : "radiogroup" : void 0;
44
+ if (c && !d && !p) {
45
+ const e = m + "|" + (o ?? f ?? "") + "|" + l;
46
+ F.has(e) || (F.add(e), console.warn(
47
+ `[FilterGroup] role="${m}" needs an accessible name. Pass either \`label\` or \`ariaLabelledBy\` so screen readers can announce the group with context.`
48
+ ));
49
+ }
50
+ return /* @__PURE__ */ y(P.Provider, { value: B, children: /* @__PURE__ */ y(
51
+ "div",
52
+ {
53
+ className: L(M["tedi-filter-group"], h),
54
+ role: m,
55
+ "aria-label": d,
56
+ "aria-labelledby": p,
57
+ children: w
58
+ }
59
+ ) });
60
+ };
61
+ _.displayName = "FilterGroup";
62
+ export {
63
+ _ as FilterGroup
64
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),oe=require("../../../../../external/classnames/index.cjs.js"),l=require("react"),ce=require("../../base/icon/icon.cjs.js"),E=require("../../buttons/button/button.cjs.js"),de=require("../../form/checkbox/checkbox.cjs.js"),We=require("../../form/search/search.cjs.js"),d=require("../../overlays/dropdown/dropdown.cjs.js"),Ze=require("../../tags/status-badge/status-badge.cjs.js"),n=require("./filter.module.scss.cjs.js"),He=require("./filter-group-context.cjs.js"),Je=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),Ke=require("../../../providers/label-provider/use-labels.cjs.js"),ue=v=>v==="large"?24:18,Qe=v=>{const b=l.useId();return v??`tedi-filter-${b.replace(/[^a-zA-Z0-9-]/g,"")}`},W=l.forwardRef((v,b)=>{const{getCurrentBreakpointProps:fe}=Je.useBreakpointProps(v.defaultServerBreakpoint),{text:g,value:_,disabled:he=!1,className:pe,id:Z,selected:k,defaultSelected:H=!1,onSelectedChange:C,selectedValue:j,defaultSelectedValue:me,onSelectedValueChange:u,multiselect:J=!1,selectedValues:f,defaultSelectedValues:be,onSelectedValuesChange:a,options:S=[],searchable:xe=!1,showSelectAll:ve=!1,selectAllLabel:ge,showClear:K=!1,clearLabel:je,preserveLabel:Q=!1,children:U,onClear:B,prepend:y,hidePrependWhenSelected:Se=!0,append:I,placement:we="bottom-start",variant:_e="primary",size:D="default",searchLabel:V}=fe(v),{getLabel:X}=Ke.useLabels(),ke=ge??X("filter.select-all"),Y=je??X("filter.clear-selection"),i=l.useContext(He.FilterGroupContext),L=Qe(Z),Ce=l.useRef(null),P=S.length>0,F=!!U,x=P||F,h=P&&!J,p=P&&J,N=!!(i!=null&&i.isManaged)&&_!==void 0&&!x,O=N&&!(i!=null&&i.multiselect),ee=he||((i==null?void 0:i.disabled)??!1),[Le,Fe]=l.useState(H),[Ne,te]=l.useState(me??""),[Be,T]=l.useState(be??[]);F&&(H||C)&&k===void 0&&console.warn("[Filter] `defaultSelected` and `onSelectedChange` are not honoured in custom-content mode (when `children` is provided). Drive the selected state yourself via the controlled `selected` prop, e.g. `selected={Boolean(value)}`.");const M=k!==void 0?k:Le,m=j!==void 0?j:Ne,r=f!==void 0?f:Be,w=l.useMemo(()=>N?i.isSelected(_):p?r.length>0:h?m!=="":M,[N,_,i,p,r,h,m,M]),q=l.useMemo(()=>{var e;return!h||!m?null:((e=S.find(s=>s.value===m))==null?void 0:e.label)??null},[h,m,S]),Me=l.useMemo(()=>h?q&&Q?`${g}: ${q}`:q??g:g,[h,q,Q,g]),[$,le]=l.useState(!1),[z,se]=l.useState("");l.useEffect(()=>{$||se("")},[$]);const R=l.useMemo(()=>{const e=z.trim().toLowerCase();return e?S.filter(s=>s.label.toLowerCase().includes(e)):S},[z,S]),o=l.useMemo(()=>R.filter(e=>!e.disabled),[R]),A=l.useMemo(()=>o.length===0?!1:o.every(e=>r.includes(e.value)),[o,r]),qe=l.useMemo(()=>{if(o.length===0)return!1;const e=o.filter(s=>r.includes(s.value)).length;return e>0&&e<o.length},[o,r]),ye=l.useCallback(e=>{Ce.current=e,typeof b=="function"?b(e):b&&(b.current=e)},[b]),Ie=l.useCallback(()=>{if(N){i.selectFilter(_);return}const e=!M;k===void 0&&Fe(e),C==null||C(e)},[N,i,_,M,k,C]),De=l.useCallback(e=>{const s=m===e?"":e;j===void 0&&te(s),u==null||u(s)},[m,j,u]),Pe=l.useCallback(e=>{const s=r.includes(e)?r.filter(c=>c!==e):[...r,e];f===void 0&&T(s),a==null||a(s)},[r,f,a]),Oe=l.useCallback(()=>{let e;if(A){const s=new Set(o.map(c=>c.value));e=r.filter(c=>!s.has(c))}else{const s=new Set(r);o.forEach(c=>s.add(c.value)),e=[...s]}f===void 0&&T(e),a==null||a(e)},[A,o,r,f,a]),re=l.useCallback(()=>{F?B==null||B():p?(f===void 0&&T([]),a==null||a([])):h&&(j===void 0&&te(""),u==null||u("")),le(!1)},[F,B,p,f,a,h,j,u]),Te=w&&Se,$e=O?"radio":void 0,ze=O?w:void 0,Re=!x&&!O?w:void 0,Ae=t.jsxs(t.Fragment,{children:[!x&&w&&t.jsx(ce.Icon,{className:n.default["tedi-filter__icon"],name:"check",size:ue(D),color:"inherit"}),y!=null&&t.jsx("span",{className:oe.default(n.default["tedi-filter__prepend"],{[n.default["tedi-filter__prepend--hidden"]]:Te}),children:y}),t.jsx("span",{className:n.default["tedi-filter__text"],children:Me}),I!=null&&t.jsx("span",{className:n.default["tedi-filter__append"],children:I}),p&&w&&r.length>0&&t.jsx(Ze.StatusBadge,{className:n.default["tedi-filter__count"],color:ee?"neutral":"brand",children:String(r.length)}),x&&t.jsx(ce.Icon,{className:n.default["tedi-filter__icon"],name:"arrow_drop_down",filled:!0,size:ue(D),color:"inherit"})]}),ne=oe.default(n.default["tedi-filter"],n.default[`tedi-filter--${_e}`],D==="large"&&n.default["tedi-filter--large"],w&&n.default["tedi-filter--selected"],pe),ie=t.jsx(E.Button,{ref:ye,id:Z,type:"button",disabled:ee,className:n.default["tedi-filter__button"],onClick:x?void 0:Ie,role:x?void 0:$e,"aria-checked":ze,"aria-pressed":Re,noStyle:!0,children:Ae});if(!x)return t.jsx("div",{className:ne,children:ie});const G=p&&ve?0:null,Ge=G!==null?1:0,Ee=()=>R.map((e,s)=>{const c=p?r.includes(e.value):m===e.value,ae=s+Ge;return p?t.jsx(d.Dropdown.Item,{index:ae,asChild:!0,disabled:e.disabled,closeOnSelect:!1,children:t.jsx(de.Checkbox,{id:`${L}-option-${s}`,label:e.label,value:e.value,checked:c,disabled:e.disabled,onChange:()=>Pe(e.value),name:`${L}-options`})},e.value):t.jsx(d.Dropdown.Item,{index:ae,disabled:e.disabled,active:c,onClick:()=>De(e.value),children:e.label},e.value)});return t.jsx("div",{className:ne,children:t.jsxs(d.Dropdown,{open:$,onOpenChange:le,placement:we,width:"auto",children:[t.jsx(d.Dropdown.Trigger,{children:ie}),t.jsx(d.Dropdown.Content,{children:F?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:n.default["tedi-filter-dropdown__custom-content"],children:U}),K&&t.jsxs(t.Fragment,{children:[t.jsx(d.Dropdown.Separator,{}),t.jsx("div",{className:n.default["tedi-filter-dropdown__clear"],children:t.jsx(E.Button,{visualType:"neutral",size:"small",type:"button",iconLeft:"refresh",onClick:re,children:Y})})]})]}):t.jsxs(t.Fragment,{children:[xe&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:n.default["tedi-filter-dropdown__search"],children:t.jsx(We.Search,{id:`${L}-search`,label:V??g,hideLabel:!0,ariaLabel:V??g,value:z,onChange:se})}),t.jsx(d.Dropdown.Separator,{})]}),G!==null&&t.jsxs(t.Fragment,{children:[t.jsx(d.Dropdown.Item,{index:G,asChild:!0,closeOnSelect:!1,children:t.jsx(de.Checkbox,{id:`${L}-select-all`,label:ke,value:"select-all",checked:A,indeterminate:qe,onChange:Oe,name:`${L}-select-all`})}),t.jsx(d.Dropdown.Separator,{})]}),Ee(),K&&t.jsxs(t.Fragment,{children:[t.jsx(d.Dropdown.Separator,{}),t.jsx("div",{className:n.default["tedi-filter-dropdown__clear"],children:t.jsx(E.Button,{visualType:"neutral",size:"small",type:"button",iconLeft:"refresh",onClick:re,children:Y})})]})]})})]})})});W.displayName="Filter";exports.Filter=W;exports.default=W;
@@ -0,0 +1,98 @@
1
+ import { default as React } from 'react';
2
+ import { BreakpointSupport } from '../../../helpers';
3
+ import { Dropdown } from '../../overlays/dropdown/dropdown';
4
+ export type FilterVariant = 'primary' | 'secondary';
5
+ export type FilterSize = 'default' | 'large';
6
+ export interface FilterOption {
7
+ /** Display label of the option. */
8
+ label: string;
9
+ /** Stable identifier returned via selection callbacks. */
10
+ value: string;
11
+ /** Whether the option cannot be selected. */
12
+ disabled?: boolean;
13
+ }
14
+ type FilterBreakpointProps = {
15
+ /**
16
+ * Visual variant of the filter.
17
+ * @default primary
18
+ */
19
+ variant?: FilterVariant;
20
+ /**
21
+ * Visual size of the filter.
22
+ * @default default
23
+ */
24
+ size?: FilterSize;
25
+ };
26
+ export interface FilterProps extends BreakpointSupport<FilterBreakpointProps> {
27
+ /** Trigger label. In single-select mode it's replaced by the picked option (or prefixed when `preserveLabel`). */
28
+ text: string;
29
+ /** Identifier for participating in a managed `<FilterGroup>`. Unused outside a group. */
30
+ value?: string;
31
+ /** @default false */
32
+ disabled?: boolean;
33
+ /** Class on the root wrapper `<div>` (not the inner `<button>`). */
34
+ className?: string;
35
+ /** Trigger `<button>` id. Auto-generated when omitted; also used as a prefix for sub-element ids. */
36
+ id?: string;
37
+ /**
38
+ * Selected appearance.
39
+ * - Toggle mode (no `options`, no `children`): controlled or uncontrolled (`defaultSelected`).
40
+ * - Custom-content mode (`children`): controlled-only — derive it from your own state.
41
+ * - Dropdown mode (`options`): ignored; derived from `selectedValue` / `selectedValues`.
42
+ */
43
+ selected?: boolean;
44
+ /** Toggle-mode initial state. Ignored when `selected` is set. @default false */
45
+ defaultSelected?: boolean;
46
+ /** Toggle-mode change callback. Not fired in custom-content or dropdown modes. */
47
+ onSelectedChange?: (selected: boolean) => void;
48
+ /** Single-select controlled value (`''` = nothing selected). Pair with `options`. */
49
+ selectedValue?: string;
50
+ /** Single-select initial value. Ignored when `selectedValue` is set. */
51
+ defaultSelectedValue?: string;
52
+ /** Single-select change callback — fires on commit or clear (`''`). */
53
+ onSelectedValueChange?: (value: string) => void;
54
+ /** Switch the dropdown to multi-select (checkboxes). Requires `options`. @default false */
55
+ multiselect?: boolean;
56
+ /** Multi-select controlled values. */
57
+ selectedValues?: string[];
58
+ /** Multi-select initial values. Ignored when `selectedValues` is set. */
59
+ defaultSelectedValues?: string[];
60
+ /** Multi-select change callback — fires on toggle, "Select all", or clear. */
61
+ onSelectedValuesChange?: (values: string[]) => void;
62
+ /** Dropdown options. Mutually exclusive with `children` (children wins if both). */
63
+ options?: FilterOption[];
64
+ /** Search input that filters `options` by label (case-insensitive substring). @default false */
65
+ searchable?: boolean;
66
+ /** Multi-select "Select all" toggle; targets enabled + visible options. @default false */
67
+ showSelectAll?: boolean;
68
+ /** Override the `filter.select-all` i18n label. */
69
+ selectAllLabel?: string;
70
+ /**
71
+ * "Clear selection" button below the panel. Dropdown modes clear automatically;
72
+ * custom-content mode delegates to `onClear`. @default false
73
+ */
74
+ showClear?: boolean;
75
+ /** Override the `filter.clear-selection` i18n label. */
76
+ clearLabel?: string;
77
+ /** Single-select: keep `text` as a prefix once a value is picked ("Teenus: …"). @default false */
78
+ preserveLabel?: boolean;
79
+ /** Custom dropdown content. Switches the filter into controlled custom-content mode. */
80
+ children?: React.ReactNode;
81
+ /** Fires when "Clear" is clicked in custom-content mode — reset your own state here. */
82
+ onClear?: () => void;
83
+ /**
84
+ * Slot before `text` (icon, status). Auto-replaced by a check icon when toggle-mode
85
+ * selected — disable via `hidePrependWhenSelected={false}`.
86
+ */
87
+ prepend?: React.ReactNode;
88
+ /** Hide `prepend` while selected so the check icon can take its place. @default true */
89
+ hidePrependWhenSelected?: boolean;
90
+ /** Slot after `text`. In multi-select sits alongside the built-in count badge. */
91
+ append?: React.ReactNode;
92
+ /** Floating UI placement; flips when room is tight. @default bottom-start */
93
+ placement?: React.ComponentProps<typeof Dropdown>['placement'];
94
+ /** Accessible label for the search input. Falls back to `text`. */
95
+ searchLabel?: string;
96
+ }
97
+ export declare const Filter: React.ForwardRefExoticComponent<FilterProps & React.RefAttributes<HTMLButtonElement>>;
98
+ export default Filter;