@cryptlex/web-components 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/README.md +3 -7
  2. package/dist/_virtual/index.es.js +5 -0
  3. package/dist/_virtual/index.es.js.map +1 -0
  4. package/dist/_virtual/use-sync-external-store-shim.development.es.js +5 -0
  5. package/dist/_virtual/use-sync-external-store-shim.development.es.js.map +1 -0
  6. package/dist/_virtual/use-sync-external-store-shim.production.es.js +5 -0
  7. package/dist/_virtual/use-sync-external-store-shim.production.es.js.map +1 -0
  8. package/dist/components/data-table/column-picker.es.js +34 -73
  9. package/dist/components/data-table/column-picker.es.js.map +1 -1
  10. package/dist/components/data-table/data-table.es.js +106 -159
  11. package/dist/components/data-table/data-table.es.js.map +1 -1
  12. package/dist/components/data-table/page-size.es.js +15 -16
  13. package/dist/components/data-table/page-size.es.js.map +1 -1
  14. package/dist/components/data-table/paginator.es.js +37 -30
  15. package/dist/components/data-table/paginator.es.js.map +1 -1
  16. package/dist/components/data-table/table-actions.es.js +26 -61
  17. package/dist/components/data-table/table-actions.es.js.map +1 -1
  18. package/dist/components/data-table/table-commons.es.js +17 -17
  19. package/dist/components/data-table/table-commons.es.js.map +1 -1
  20. package/dist/components/data-table/table-content.es.js +42 -43
  21. package/dist/components/data-table/table-content.es.js.map +1 -1
  22. package/dist/components/data-table/table-utils/createTableFetchFn.es.js +10 -11
  23. package/dist/components/data-table/table-utils/createTableFetchFn.es.js.map +1 -1
  24. package/dist/components/data-table/table-utils/types.es.js.map +1 -1
  25. package/dist/components/{ui → inputs}/calendar.es.js +10 -10
  26. package/dist/components/inputs/calendar.es.js.map +1 -0
  27. package/dist/components/inputs/checkbox.es.js +27 -0
  28. package/dist/components/inputs/checkbox.es.js.map +1 -0
  29. package/dist/components/inputs/country-select.es.js +280 -0
  30. package/dist/components/inputs/country-select.es.js.map +1 -0
  31. package/dist/components/inputs/form-field.es.js +25 -0
  32. package/dist/components/inputs/form-field.es.js.map +1 -0
  33. package/dist/components/inputs/input-otp.es.js +49 -0
  34. package/dist/components/inputs/input-otp.es.js.map +1 -0
  35. package/dist/components/inputs/input.es.js +34 -0
  36. package/dist/components/inputs/input.es.js.map +1 -0
  37. package/dist/components/inputs/license-type-select.es.js +26 -0
  38. package/dist/components/inputs/license-type-select.es.js.map +1 -0
  39. package/dist/components/inputs/multi-select.es.js +57 -0
  40. package/dist/components/inputs/multi-select.es.js.map +1 -0
  41. package/dist/components/inputs/password-input.es.js +19 -0
  42. package/dist/components/inputs/password-input.es.js.map +1 -0
  43. package/dist/components/inputs/radio-group.es.js +32 -0
  44. package/dist/components/inputs/radio-group.es.js.map +1 -0
  45. package/dist/components/{ui → inputs}/search-input.es.js +7 -7
  46. package/dist/components/inputs/search-input.es.js.map +1 -0
  47. package/dist/components/inputs/select.es.js +29 -0
  48. package/dist/components/inputs/select.es.js.map +1 -0
  49. package/dist/components/inputs/textarea.es.js +35 -0
  50. package/dist/components/inputs/textarea.es.js.map +1 -0
  51. package/dist/components/key-value-card/key-value-card.es.js +32 -64
  52. package/dist/components/key-value-card/key-value-card.es.js.map +1 -1
  53. package/dist/components/sidebar/app-layout.es.js +33 -67
  54. package/dist/components/sidebar/app-layout.es.js.map +1 -1
  55. package/dist/components/sidebar/sidebar.es.js +4 -5
  56. package/dist/components/sidebar/sidebar.es.js.map +1 -1
  57. package/dist/components/ui/accordion.es.js +29 -29
  58. package/dist/components/ui/accordion.es.js.map +1 -1
  59. package/dist/components/ui/avatar.es.js +23 -23
  60. package/dist/components/ui/avatar.es.js.map +1 -1
  61. package/dist/components/ui/badge.es.js +4 -4
  62. package/dist/components/ui/badge.es.js.map +1 -1
  63. package/dist/components/ui/breadcrumb.es.js +8 -8
  64. package/dist/components/ui/breadcrumb.es.js.map +1 -1
  65. package/dist/components/ui/button.es.js +30 -28
  66. package/dist/components/ui/button.es.js.map +1 -1
  67. package/dist/components/ui/card.es.js +7 -7
  68. package/dist/components/ui/card.es.js.map +1 -1
  69. package/dist/components/ui/chart.es.js +24 -24
  70. package/dist/components/ui/chart.es.js.map +1 -1
  71. package/dist/components/ui/collapsible.es.js +5 -5
  72. package/dist/components/ui/collapsible.es.js.map +1 -1
  73. package/dist/components/ui/copy-button.es.js +18 -47
  74. package/dist/components/ui/copy-button.es.js.map +1 -1
  75. package/dist/components/ui/dialog.es.js +65 -65
  76. package/dist/components/ui/dialog.es.js.map +1 -1
  77. package/dist/components/ui/drawer.es.js +7 -7
  78. package/dist/components/ui/drawer.es.js.map +1 -1
  79. package/dist/components/ui/dropdown-menu.es.js +67 -92
  80. package/dist/components/ui/dropdown-menu.es.js.map +1 -1
  81. package/dist/components/ui/label.es.js +10 -13
  82. package/dist/components/ui/label.es.js.map +1 -1
  83. package/dist/components/ui/loader.es.js +6 -6
  84. package/dist/components/ui/loader.es.js.map +1 -1
  85. package/dist/components/ui/navigation-menu.es.js +75 -75
  86. package/dist/components/ui/navigation-menu.es.js.map +1 -1
  87. package/dist/components/ui/pagination.es.js +26 -26
  88. package/dist/components/ui/pagination.es.js.map +1 -1
  89. package/dist/components/ui/popover.es.js +15 -14
  90. package/dist/components/ui/popover.es.js.map +1 -1
  91. package/dist/components/ui/separator.es.js +11 -11
  92. package/dist/components/ui/separator.es.js.map +1 -1
  93. package/dist/components/ui/sheet.es.js +50 -50
  94. package/dist/components/ui/sheet.es.js.map +1 -1
  95. package/dist/components/ui/sidebar.es.js +105 -120
  96. package/dist/components/ui/sidebar.es.js.map +1 -1
  97. package/dist/components/ui/skeleton.es.js +3 -3
  98. package/dist/components/ui/skeleton.es.js.map +1 -1
  99. package/dist/components/{static-data-table → ui}/static-data-table.es.js +2 -2
  100. package/dist/components/ui/static-data-table.es.js.map +1 -0
  101. package/dist/components/ui/table.es.js +29 -33
  102. package/dist/components/ui/table.es.js.map +1 -1
  103. package/dist/components/ui/tabs.es.js +31 -31
  104. package/dist/components/ui/tabs.es.js.map +1 -1
  105. package/dist/components/ui/tooltip.es.js +13 -13
  106. package/dist/components/ui/tooltip.es.js.map +1 -1
  107. package/dist/index.es.d.ts +135 -188
  108. package/dist/index.es.js +253 -271
  109. package/dist/index.es.js.map +1 -1
  110. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +530 -0
  111. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +1 -0
  112. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +400 -0
  113. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +1 -0
  114. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.2_react-dom@18.3.1_react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +208 -0
  115. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.2_react-dom@18.3.1_react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js.map +1 -0
  116. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +132 -0
  117. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +1 -0
  118. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +130 -0
  119. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +1 -0
  120. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.es.js +10 -0
  121. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.es.js.map +1 -0
  122. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.10_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-accordion/dist/index.es.js +242 -0
  123. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.10_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-accordion/dist/index.es.js.map +1 -0
  124. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-arrow/dist/index.es.js +25 -0
  125. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-arrow/dist/index.es.js.map +1 -0
  126. package/dist/node_modules/.pnpm/@radix-ui_react-avatar@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-avatar/dist/index.es.js +78 -0
  127. package/dist/node_modules/.pnpm/@radix-ui_react-avatar@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-avatar/dist/index.es.js.map +1 -0
  128. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.10_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collapsible/dist/index.es.js +122 -0
  129. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.10_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collapsible/dist/index.es.js.map +1 -0
  130. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collection/dist/index.es.js +50 -0
  131. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collection/dist/index.es.js.map +1 -0
  132. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.es.js +30 -0
  133. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.es.js.map +1 -0
  134. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.es.js +71 -0
  135. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.es.js.map +1 -0
  136. package/dist/node_modules/.pnpm/@radix-ui_react-dialog@1.1.13_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.es.js +264 -0
  137. package/dist/node_modules/.pnpm/@radix-ui_react-dialog@1.1.13_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.es.js.map +1 -0
  138. package/dist/node_modules/.pnpm/@radix-ui_react-direction@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.es.js +11 -0
  139. package/dist/node_modules/.pnpm/@radix-ui_react-direction@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.es.js.map +1 -0
  140. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js +129 -0
  141. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js.map +1 -0
  142. package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.14_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dropdown-menu/dist/index.es.js +229 -0
  143. package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.14_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-dropdown-menu/dist/index.es.js.map +1 -0
  144. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.es.js +19 -0
  145. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.es.js.map +1 -0
  146. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-focus-scope/dist/index.es.js +139 -0
  147. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-focus-scope/dist/index.es.js.map +1 -0
  148. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.es.js +14 -0
  149. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.es.js.map +1 -0
  150. package/dist/node_modules/.pnpm/@radix-ui_react-label@2.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-label/dist/index.es.js +22 -0
  151. package/dist/node_modules/.pnpm/@radix-ui_react-label@2.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-label/dist/index.es.js.map +1 -0
  152. package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.14_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-menu/dist/index.es.js +654 -0
  153. package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.14_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-menu/dist/index.es.js.map +1 -0
  154. package/dist/node_modules/.pnpm/@radix-ui_react-navigation-menu@1.2.12_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-navigation-menu/dist/index.es.js +610 -0
  155. package/dist/node_modules/.pnpm/@radix-ui_react-navigation-menu@1.2.12_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-navigation-menu/dist/index.es.js.map +1 -0
  156. package/dist/node_modules/.pnpm/@radix-ui_react-popover@1.1.13_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-popover/dist/index.es.js +246 -0
  157. package/dist/node_modules/.pnpm/@radix-ui_react-popover@1.1.13_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-popover/dist/index.es.js.map +1 -0
  158. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-popper/dist/index.es.js +222 -0
  159. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-popper/dist/index.es.js.map +1 -0
  160. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.8_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-portal/dist/index.es.js +18 -0
  161. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.8_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-portal/dist/index.es.js.map +1 -0
  162. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.4_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.es.js +73 -0
  163. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.4_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.es.js.map +1 -0
  164. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.2_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-primitive/dist/index.es.js +37 -0
  165. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.2_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-primitive/dist/index.es.js.map +1 -0
  166. package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.3.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-radio-group/dist/index.es.js +241 -0
  167. package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.3.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-radio-group/dist/index.es.js.map +1 -0
  168. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-roving-focus/dist/index.es.js +185 -0
  169. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.9_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-roving-focus/dist/index.es.js.map +1 -0
  170. package/dist/node_modules/.pnpm/@radix-ui_react-separator@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-separator/dist/index.es.js +25 -0
  171. package/dist/node_modules/.pnpm/@radix-ui_react-separator@1.1.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-separator/dist/index.es.js.map +1 -0
  172. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.es.js +61 -0
  173. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.es.js.map +1 -0
  174. package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.11_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.es.js +166 -0
  175. package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.11_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.es.js.map +1 -0
  176. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tooltip/dist/index.es.js +341 -0
  177. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.6_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tooltip/dist/index.es.js.map +1 -0
  178. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js +14 -0
  179. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js.map +1 -0
  180. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js +55 -0
  181. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js.map +1 -0
  182. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js +15 -0
  183. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js.map +1 -0
  184. package/dist/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-is-hydrated/dist/index.es.js +16 -0
  185. package/dist/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-is-hydrated/dist/index.es.js.map +1 -0
  186. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.es.js +7 -0
  187. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.es.js.map +1 -0
  188. package/dist/node_modules/.pnpm/@radix-ui_react-use-previous@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-previous/dist/index.es.js +9 -0
  189. package/dist/node_modules/.pnpm/@radix-ui_react-use-previous@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-previous/dist/index.es.js.map +1 -0
  190. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.es.js +28 -0
  191. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@18.3.21_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.es.js.map +1 -0
  192. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.2_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js +33 -0
  193. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.2_@types_react-dom@18.3.7_@types_react@18.3.21_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js.map +1 -0
  194. package/dist/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.es.js +53 -0
  195. package/dist/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.es.js.map +1 -0
  196. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.es.js +10 -0
  197. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.es.js.map +1 -0
  198. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.es.js +19 -0
  199. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.es.js.map +1 -0
  200. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchFn.es.js +32 -0
  201. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchFn.es.js.map +1 -0
  202. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.es.js +16 -0
  203. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.es.js.map +1 -0
  204. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.es.js +71 -0
  205. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.es.js.map +1 -0
  206. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatLong.es.js +34 -0
  207. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatLong.es.js.map +1 -0
  208. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.es.js +12 -0
  209. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.es.js.map +1 -0
  210. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/localize.es.js +156 -0
  211. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/localize.es.js.map +1 -0
  212. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/match.es.js +111 -0
  213. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/match.es.js.map +1 -0
  214. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.es.js +22 -0
  215. package/dist/node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.es.js.map +1 -0
  216. package/dist/node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.es.js +8 -0
  217. package/dist/node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.es.js.map +1 -0
  218. package/dist/node_modules/.pnpm/react-day-picker@8.10.1_date-fns@3.6.0_react@18.3.1/node_modules/react-day-picker/dist/index.esm.es.js +1012 -0
  219. package/dist/node_modules/.pnpm/react-day-picker@8.10.1_date-fns@3.6.0_react@18.3.1/node_modules/react-day-picker/dist/index.esm.es.js.map +1 -0
  220. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.es.js +72 -0
  221. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.es.js.map +1 -0
  222. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.es.js +8 -0
  223. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.es.js.map +1 -0
  224. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.es.js +26 -0
  225. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.es.js.map +1 -0
  226. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.es.js +12 -0
  227. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.es.js.map +1 -0
  228. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.es.js +113 -0
  229. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.es.js.map +1 -0
  230. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.es.js +32 -0
  231. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.es.js.map +1 -0
  232. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.es.js +17 -0
  233. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.es.js.map +1 -0
  234. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.es.js +65 -0
  235. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.es.js.map +1 -0
  236. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.es.js +6 -0
  237. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.es.js.map +1 -0
  238. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.es.js +8 -0
  239. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.0_@types_react@18.3.21_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.es.js.map +1 -0
  240. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.es.js +12 -0
  241. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.es.js.map +1 -0
  242. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.es.js +16 -0
  243. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.es.js.map +1 -0
  244. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.es.js +31 -0
  245. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.21_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.es.js.map +1 -0
  246. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.es.js +28 -0
  247. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.es.js.map +1 -0
  248. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.es.js +7 -0
  249. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.es.js.map +1 -0
  250. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.es.js +27 -0
  251. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.es.js.map +1 -0
  252. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.es.js +26 -0
  253. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.21_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.es.js.map +1 -0
  254. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.21_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.es.js +19 -0
  255. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.21_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.es.js.map +1 -0
  256. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.21_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.es.js +68 -0
  257. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.21_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.es.js.map +1 -0
  258. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.es.js +68 -0
  259. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.es.js.map +1 -0
  260. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.es.js +56 -0
  261. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.es.js.map +1 -0
  262. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/index.es.js +9 -0
  263. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/index.es.js.map +1 -0
  264. package/dist/utils/form-context.es.js +8 -0
  265. package/dist/utils/form-context.es.js.map +1 -0
  266. package/dist/utils/form-hook.es.js +28 -0
  267. package/dist/utils/form-hook.es.js.map +1 -0
  268. package/dist/utils/index.es.js.map +1 -1
  269. package/lib/{tailwind.base.css → base.css} +0 -4
  270. package/lib/index.css +4 -2
  271. package/lib/{tailwind.theme.css → theme.css} +5 -59
  272. package/lib/utilities.css +77 -0
  273. package/package.json +43 -43
  274. package/dist/components/data-table/table-filter.es.js +0 -261
  275. package/dist/components/data-table/table-filter.es.js.map +0 -1
  276. package/dist/components/data-table/table-utils/link-display.es.js +0 -21
  277. package/dist/components/data-table/table-utils/link-display.es.js.map +0 -1
  278. package/dist/components/sidebar/breadcrumb.es.js +0 -58
  279. package/dist/components/sidebar/breadcrumb.es.js.map +0 -1
  280. package/dist/components/sidebar/nav-main.es.js +0 -90
  281. package/dist/components/sidebar/nav-main.es.js.map +0 -1
  282. package/dist/components/static-data-table/static-data-table.es.js.map +0 -1
  283. package/dist/components/ui/calendar.es.js.map +0 -1
  284. package/dist/components/ui/checkbox.es.js +0 -22
  285. package/dist/components/ui/checkbox.es.js.map +0 -1
  286. package/dist/components/ui/command.es.js +0 -110
  287. package/dist/components/ui/command.es.js.map +0 -1
  288. package/dist/components/ui/form.es.js +0 -94
  289. package/dist/components/ui/form.es.js.map +0 -1
  290. package/dist/components/ui/input-otp.es.js +0 -49
  291. package/dist/components/ui/input-otp.es.js.map +0 -1
  292. package/dist/components/ui/input.es.js +0 -27
  293. package/dist/components/ui/input.es.js.map +0 -1
  294. package/dist/components/ui/link-button.es.js +0 -22
  295. package/dist/components/ui/link-button.es.js.map +0 -1
  296. package/dist/components/ui/mutli-select.es.js +0 -198
  297. package/dist/components/ui/mutli-select.es.js.map +0 -1
  298. package/dist/components/ui/password-input.es.js +0 -19
  299. package/dist/components/ui/password-input.es.js.map +0 -1
  300. package/dist/components/ui/radio-group.es.js +0 -32
  301. package/dist/components/ui/radio-group.es.js.map +0 -1
  302. package/dist/components/ui/search-input.es.js.map +0 -1
  303. package/dist/components/ui/select.es.js +0 -99
  304. package/dist/components/ui/select.es.js.map +0 -1
  305. package/dist/components/ui/textarea.es.js +0 -19
  306. package/dist/components/ui/textarea.es.js.map +0 -1
package/README.md CHANGED
@@ -4,14 +4,10 @@ A React component library for Cryptlex.
4
4
 
5
5
  # Usage
6
6
 
7
- In your root React file or global CSS, import the index.css
8
-
9
- TS
10
- ```ts
11
- import '@cryptlex/web-components/index.css';
12
- ```
7
+ In your global CSS file, import the index.css and add the web-components as an explicit source for Tailwind.
13
8
 
14
9
  CSS
15
10
  ```css
16
- @import url('@cryptlex/web-components/index.css');
11
+ @import '@cryptlex/web-components/index.css';
12
+ @source "@cryptlex/web-components";
17
13
  ```
@@ -0,0 +1,5 @@
1
+ var e = { exports: {} };
2
+ export {
3
+ e as __module
4
+ };
5
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var e = {};
2
+ export {
3
+ e as __exports
4
+ };
5
+ //# sourceMappingURL=use-sync-external-store-shim.development.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sync-external-store-shim.development.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var r = {};
2
+ export {
3
+ r as __exports
4
+ };
5
+ //# sourceMappingURL=use-sync-external-store-shim.production.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sync-external-store-shim.production.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,79 +1,40 @@
1
- import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
- import "../ui/accordion.es.js";
3
- import "../ui/avatar.es.js";
4
- import "../ui/breadcrumb.es.js";
5
- import { Button as c } from "../ui/button.es.js";
6
- import "../ui/calendar.es.js";
7
- import "../ui/card.es.js";
8
- import "../ui/chart.es.js";
9
- import { Checkbox as l } from "../ui/checkbox.es.js";
10
- import "@radix-ui/react-collapsible";
11
- import "../ui/command.es.js";
12
- import { Columns3 as a } from "lucide-react";
13
- import { useState as d } from "react";
14
- import "../ui/dialog.es.js";
15
- import "../ui/drawer.es.js";
16
- import "../ui/dropdown-menu.es.js";
17
- import "../ui/form.es.js";
18
- import "../ui/input.es.js";
19
- import "../ui/input-otp.es.js";
20
- import { Label as s } from "../ui/label.es.js";
21
- import "@tanstack/react-router";
22
- import "../ui/mutli-select.es.js";
23
- import "../ui/navigation-menu.es.js";
24
- import "../ui/pagination.es.js";
25
- import "../ui/password-input.es.js";
26
- import { Popover as h, PopoverTrigger as f, PopoverContent as g } from "../ui/popover.es.js";
27
- import "../ui/radio-group.es.js";
28
- import { SearchInput as u } from "../ui/search-input.es.js";
29
- import "../ui/select.es.js";
30
- import "../ui/separator.es.js";
31
- import "../ui/sheet.es.js";
32
- import "../ui/sidebar.es.js";
33
- import "sonner";
34
- import "../ui/table.es.js";
35
- import "../ui/tabs.es.js";
36
- import "../ui/textarea.es.js";
37
- import "../ui/tooltip.es.js";
38
- import { getResourceDisplayName as C } from "./table-utils/constants.es.js";
39
- function ie({ table: r }) {
40
- const [t, p] = d(""), m = r.getAllColumns().filter(
41
- (e) => e.getCanHide() && e.id.toLowerCase().includes(t.toLowerCase())
42
- );
43
- return /* @__PURE__ */ i(h, { children: [
44
- /* @__PURE__ */ o(f, { asChild: !0, children: /* @__PURE__ */ o(c, { icon: a, variant: "outline", size: "sm", children: "Columns" }) }),
45
- /* @__PURE__ */ i(g, { className: "flex flex-col gap-4 divide-y-1", children: [
46
- /* @__PURE__ */ o("div", { className: " flex gap-1 justify-center items-center sticky top-0", children: /* @__PURE__ */ o(u, { value: t, onChange: (e) => p(e) }) }),
47
- /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
48
- /* @__PURE__ */ o(
49
- l,
1
+ import { jsxs as i, jsx as r } from "react/jsx-runtime";
2
+ import "react";
3
+ import "../../utils/form-context.es.js";
4
+ import "../../utils/form-hook.es.js";
5
+ import { Columns3 as m } from "lucide-react";
6
+ import { DropdownMenu as p, DropdownMenuTrigger as u, DropdownMenuContent as a, DropdownMenuGroup as c, DropdownMenuCheckboxItem as n } from "../ui/dropdown-menu.es.js";
7
+ import { Button as s } from "../ui/button.es.js";
8
+ import { getResourceDisplayName as h } from "./table-utils/constants.es.js";
9
+ function x({ toggleAllColumnsVisible: o, getIsAllColumnsVisible: t, getAllColumns: d }) {
10
+ return /* @__PURE__ */ i(p, { children: [
11
+ /* @__PURE__ */ r(u, { asChild: !0, children: /* @__PURE__ */ r(s, { icon: () => m, variant: "outline", children: "Columns" }) }),
12
+ /* @__PURE__ */ r(a, { children: /* @__PURE__ */ i(c, { children: [
13
+ /* @__PURE__ */ r(n, { className: "italic", onSelect: (e) => {
14
+ e.preventDefault(), o();
15
+ }, checked: t(), children: "(Select all)" }),
16
+ d().map(
17
+ (e) => /* @__PURE__ */ i(
18
+ n,
50
19
  {
51
- id: "selectAll",
52
- checked: r.getIsAllColumnsVisible(),
53
- onCheckedChange: () => r.toggleAllColumnsVisible()
54
- }
55
- ),
56
- /* @__PURE__ */ o(s, { className: "font-normal cursor-pointer", htmlFor: "selectAll", children: "Show All Columns" })
57
- ] }),
58
- /* @__PURE__ */ i("div", { className: "flex flex-col gap-3 max-h-96 overflow-auto", children: [
59
- m.map((e) => /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
60
- /* @__PURE__ */ o(
61
- l,
62
- {
63
- id: e.id,
64
- checked: e.getIsVisible(),
65
- onCheckedChange: (n) => e.toggleVisibility(!!n)
66
- }
67
- ),
68
- /* @__PURE__ */ o(s, { className: "font-normal cursor-pointer", htmlFor: e.id, children: C(e.id, "admin-portal") })
69
- ] }, e.id)),
70
- " ",
71
- m.length === 0 && /* @__PURE__ */ o("p", { className: "text-gray-500 text-sm italic", children: "No matching columns found." })
72
- ] })
73
- ] })
20
+ onSelect: (l) => {
21
+ l.preventDefault(), e.toggleVisibility();
22
+ },
23
+ disabled: !e.getCanHide(),
24
+ checked: e.getIsVisible(),
25
+ children: [
26
+ e.getIsSorted(),
27
+ " ",
28
+ h(e.id, "admin-portal")
29
+ ]
30
+ },
31
+ e.id
32
+ )
33
+ )
34
+ ] }) })
74
35
  ] });
75
36
  }
76
37
  export {
77
- ie as ColumnPicker
38
+ x as ColumnPicker
78
39
  };
79
40
  //# sourceMappingURL=column-picker.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-picker.es.js","sources":["../../../lib/components/data-table/column-picker.tsx"],"sourcesContent":["import {\n Button,\n Checkbox,\n Label,\n Popover,\n PopoverContent,\n PopoverTrigger,\n SearchInput,\n} from '@/index';\nimport { Table } from '@tanstack/react-table';\nimport { Columns3 } from 'lucide-react';\nimport { useState } from 'react';\nimport { getResourceDisplayName } from './table-utils';\n\nexport function ColumnPicker<TData>({ table }: { table: Table<TData> }) {\n const [columnsSearch, setColumnsSearch] = useState('');\n\n const filteredColumns = table\n .getAllColumns()\n .filter(\n (column) =>\n column.getCanHide() && column.id.toLowerCase().includes(columnsSearch.toLowerCase()),\n );\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button icon={Columns3} variant=\"outline\" size=\"sm\">\n Columns\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"flex flex-col gap-4 divide-y-1\">\n <div className=\" flex gap-1 justify-center items-center sticky top-0\">\n <SearchInput value={columnsSearch} onChange={(e) => setColumnsSearch(e)} />\n </div>\n <div className=\"flex items-center space-x-2\">\n <Checkbox\n id=\"selectAll\"\n checked={table.getIsAllColumnsVisible()}\n onCheckedChange={() => table.toggleAllColumnsVisible()}\n />\n <Label className=\"font-normal cursor-pointer\" htmlFor={'selectAll'}>\n Show All Columns\n </Label>\n </div>\n {/* Filtered Columns */}\n <div className=\"flex flex-col gap-3 max-h-96 overflow-auto\">\n {filteredColumns.map((column) => (\n <div key={column.id} className=\"flex items-center space-x-2\">\n <Checkbox\n id={column.id}\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(!!value)}\n />\n <Label className=\"font-normal cursor-pointer\" htmlFor={column.id}>\n {getResourceDisplayName(column.id, 'admin-portal')}\n </Label>\n </div>\n ))}{' '}\n {/* No columns found */}\n {filteredColumns.length === 0 && (\n <p className=\"text-gray-500 text-sm italic\">No matching columns found.</p>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n"],"names":["ColumnPicker","table","columnsSearch","setColumnsSearch","useState","filteredColumns","column","Popover","jsx","PopoverTrigger","Button","Columns3","jsxs","PopoverContent","SearchInput","Checkbox","Label","value","getResourceDisplayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcgB,SAAAA,GAAoB,EAAE,OAAAC,KAAkC;AACtE,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAE,GAE/CC,IAAkBJ,EACrB,cAAA,EACA;AAAA,IACC,CAACK,MACCA,EAAO,WAAA,KAAgBA,EAAO,GAAG,cAAc,SAASJ,EAAc,YAAa,CAAA;AAAA,EACvF;AAEF,2BACGK,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAe,EAAA,SAAO,IACrB,UAAA,gBAAAD,EAACE,GAAO,EAAA,MAAMC,GAAU,SAAQ,WAAU,MAAK,MAAK,UAAA,UAEpD,CAAA,GACF;AAAA,IACA,gBAAAC,EAACC,GAAe,EAAA,WAAU,kCACxB,UAAA;AAAA,MAAA,gBAAAL,EAAC,OAAI,EAAA,WAAU,wDACb,UAAA,gBAAAA,EAACM,GAAY,EAAA,OAAOZ,GAAe,UAAU,CAAC,MAAMC,EAAiB,CAAC,EAAG,CAAA,GAC3E;AAAA,MACA,gBAAAS,EAAC,OAAI,EAAA,WAAU,+BACb,UAAA;AAAA,QAAA,gBAAAJ;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,SAASd,EAAM,uBAAuB;AAAA,YACtC,iBAAiB,MAAMA,EAAM,wBAAwB;AAAA,UAAA;AAAA,QACvD;AAAA,0BACCe,GAAM,EAAA,WAAU,8BAA6B,SAAS,aAAa,UAEpE,mBAAA,CAAA;AAAA,MAAA,GACF;AAAA,MAEA,gBAAAJ,EAAC,OAAI,EAAA,WAAU,8CACZ,UAAA;AAAA,QAAAP,EAAgB,IAAI,CAACC,MACnB,gBAAAM,EAAA,OAAA,EAAoB,WAAU,+BAC7B,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,IAAIT,EAAO;AAAA,cACX,SAASA,EAAO,aAAa;AAAA,cAC7B,iBAAiB,CAACW,MAAUX,EAAO,iBAAiB,CAAC,CAACW,CAAK;AAAA,YAAA;AAAA,UAC7D;AAAA,UACA,gBAAAT,EAACQ,GAAM,EAAA,WAAU,8BAA6B,SAASV,EAAO,IAC3D,UAAuBY,EAAAZ,EAAO,IAAI,cAAc,EACnD,CAAA;AAAA,QAAA,KARQA,EAAO,EASjB,CACD;AAAA,QAAG;AAAA,QAEHD,EAAgB,WAAW,uBACzB,KAAE,EAAA,WAAU,gCAA+B,UAA0B,6BAAA,CAAA;AAAA,MAAA,EAE1E,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"column-picker.es.js","sources":["../../../lib/components/data-table/column-picker.tsx"],"sourcesContent":["import {\n Button,\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuTrigger,\n getResourceDisplayName\n} from '@/index';\nimport type { Column } from '@tanstack/react-table';\nimport { Columns3 } from 'lucide-react';\n\nexport function ColumnPicker({ toggleAllColumnsVisible, getIsAllColumnsVisible, getAllColumns }: { toggleAllColumnsVisible: () => void; getIsAllColumnsVisible: () => boolean, getAllColumns: () => Column<any, any>[] }) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button icon={() => Columns3} variant={'outline'}>Columns</Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuGroup>\n <DropdownMenuCheckboxItem className=\"italic\" onSelect={(e) => { e.preventDefault(); toggleAllColumnsVisible(); }} checked={getIsAllColumnsVisible()}>(Select all)</DropdownMenuCheckboxItem>\n {getAllColumns().map(col =>\n <DropdownMenuCheckboxItem\n onSelect={(e) => {\n e.preventDefault();\n col.toggleVisibility()\n }}\n key={col.id}\n disabled={!col.getCanHide()}\n checked={col.getIsVisible()}>{col.getIsSorted()} {getResourceDisplayName(col.id, 'admin-portal')}</DropdownMenuCheckboxItem>\n )}\n {/* TODO getResourceDisplayName needs some review here. */}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["ColumnPicker","toggleAllColumnsVisible","getIsAllColumnsVisible","getAllColumns","DropdownMenu","jsx","DropdownMenuTrigger","Button","Columns3","DropdownMenuContent","jsxs","DropdownMenuGroup","DropdownMenuCheckboxItem","col","e","getResourceDisplayName"],"mappings":";;;;;;;;AAYO,SAASA,EAAa,EAAE,yBAAAC,GAAyB,wBAAAC,GAAwB,eAAAC,KAA0I;AACxN,2BACGC,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAoB,SAAO,IAC1B,UAAC,gBAAAD,EAAAE,GAAA,EAAO,MAAM,MAAMC,GAAU,SAAS,WAAW,UAAA,UAAO,CAAA,GAC3D;AAAA,IACA,gBAAAH,EAACI,GACC,EAAA,UAAA,gBAAAC,EAACC,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAN,EAACO,GAAyB,EAAA,WAAU,UAAS,UAAU,CAAC,MAAM;AAAE,UAAE,eAAe,GAA2BX,EAAA;AAAA,MAAM,GAAA,SAASC,EAAuB,GAAG,UAAY,eAAA,CAAA;AAAA,MAChKC,EAAgB,EAAA;AAAA,QAAI,CACnBU,MAAA,gBAAAH;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAU,CAACE,MAAM;AACf,cAAAA,EAAE,eAAe,GACjBD,EAAI,iBAAiB;AAAA,YACvB;AAAA,YAEA,UAAU,CAACA,EAAI,WAAW;AAAA,YAC1B,SAASA,EAAI,aAAa;AAAA,YAAI,UAAA;AAAA,cAAAA,EAAI,YAAY;AAAA,cAAE;AAAA,cAAEE,EAAuBF,EAAI,IAAI,cAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAF1FA,EAAI;AAAA,QAAA;AAAA,MAEwF;AAAA,IACrG,EAAA,CAEF,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,62 +1,30 @@
1
1
  "use client";
2
- import { jsx as i, jsxs as c, Fragment as H } from "react/jsx-runtime";
3
- import { TableFilter as W } from "./table-filter.es.js";
4
- import "../ui/accordion.es.js";
5
- import "../ui/avatar.es.js";
6
- import "../ui/breadcrumb.es.js";
7
- import "../ui/button.es.js";
8
- import "../ui/calendar.es.js";
9
- import "../ui/card.es.js";
10
- import "../ui/chart.es.js";
11
- import "../ui/checkbox.es.js";
12
- import "@radix-ui/react-collapsible";
13
- import "../ui/command.es.js";
14
- import { Info as G } from "lucide-react";
15
- import { useState as M, useEffect as X, useMemo as d } from "react";
16
- import "../ui/dialog.es.js";
17
- import "../ui/drawer.es.js";
18
- import "../ui/dropdown-menu.es.js";
19
- import "../ui/form.es.js";
20
- import "../ui/input.es.js";
21
- import "../ui/input-otp.es.js";
22
- import "../ui/label.es.js";
23
- import "@tanstack/react-router";
24
- import "../ui/mutli-select.es.js";
25
- import "../ui/navigation-menu.es.js";
26
- import "../ui/pagination.es.js";
27
- import "../ui/password-input.es.js";
28
- import "../ui/popover.es.js";
29
- import "../ui/radio-group.es.js";
30
- import "../ui/select.es.js";
31
- import "../ui/separator.es.js";
32
- import "../ui/sheet.es.js";
33
- import "../ui/sidebar.es.js";
34
- import "sonner";
35
- import "../ui/table.es.js";
36
- import "../ui/tabs.es.js";
37
- import "../ui/textarea.es.js";
38
- import { TooltipProvider as J, Tooltip as Y, TooltipTrigger as Z, TooltipContent as $ } from "../ui/tooltip.es.js";
39
- import { useQuery as Q, keepPreviousData as tt } from "@tanstack/react-query";
40
- import { createColumnHelper as ot, useReactTable as et, getCoreRowModel as it } from "@tanstack/react-table";
41
- import { useDebounce as rt } from "use-debounce";
42
- import { ColumnPicker as nt } from "./column-picker.es.js";
43
- import { PageSize as at } from "./page-size.es.js";
44
- import { Paginator as lt } from "./paginator.es.js";
45
- import mt from "./table-actions.es.js";
46
- import { TableContent as st } from "./table-content.es.js";
47
- import { TABLE_CHECK_BOX_COLUMN as ct, TABLE_ID_COLUMN as pt, TABLE_DEFAULT_DATE_COLUMNS as ft } from "./table-commons.es.js";
48
- import { DEFAULT_FILTERABLE_FIELDS as ut } from "./table-utils/constants.es.js";
49
- const N = "actions_button";
50
- function lo({
51
- columns: g,
52
- fetchFn: O,
53
- tableName: I,
54
- tableActions: h,
55
- columnsToHideByDefault: S,
56
- filterableFields: V
2
+ import { jsx as n, jsxs as c, Fragment as O } from "react/jsx-runtime";
3
+ import { useState as z, useEffect as U, useMemo as M } from "react";
4
+ import "../../utils/form-context.es.js";
5
+ import "../../utils/form-hook.es.js";
6
+ import { useQuery as H, keepPreviousData as K } from "@tanstack/react-query";
7
+ import { createColumnHelper as j, useReactTable as k, getCoreRowModel as q } from "@tanstack/react-table";
8
+ import { Info as B } from "lucide-react";
9
+ import { useDebounce as G } from "use-debounce";
10
+ import { ColumnPicker as Q } from "./column-picker.es.js";
11
+ import { PageSize as W } from "./page-size.es.js";
12
+ import { Paginator as X } from "./paginator.es.js";
13
+ import J from "./table-actions.es.js";
14
+ import { TableContent as Y } from "./table-content.es.js";
15
+ import { TABLE_CHECK_BOX_COLUMN as Z, TABLE_ID_COLUMN as $, TABLE_DEFAULT_DATE_COLUMNS as ee } from "./table-commons.es.js";
16
+ import { TooltipProvider as te, Tooltip as oe, TooltipTrigger as ne, TooltipContent as ae } from "../ui/tooltip.es.js";
17
+ const N = "Actions";
18
+ function we({
19
+ columns: u,
20
+ fetchFn: _,
21
+ tableName: V,
22
+ tableActions: d,
23
+ columnsToHideByDefault: p
24
+ // filterableFields,
57
25
  }) {
58
- var D, E, L, v, x, P;
59
- const [U, R] = M({
26
+ var w, P, y, x, v;
27
+ const [F, D] = z({
60
28
  sorting: [],
61
29
  // Sorting state
62
30
  columnFilters: [],
@@ -69,148 +37,127 @@ function lo({
69
37
  // Row selection state
70
38
  pagination: { pageIndex: 0, pageSize: 20 }
71
39
  // Pagination state
72
- }), a = (t) => {
73
- R((o) => ({ ...o, ...t }));
74
- }, { sorting: p, columnFilters: w, searching: y, columnVisibility: T, rowSelection: f, pagination: u } = U, [j] = rt(y.trim(), 300);
75
- X(() => {
76
- a({
77
- columnVisibility: { id: !1, updatedAt: !1, ...S }
40
+ }), i = (e) => {
41
+ D((t) => ({ ...t, ...e }));
42
+ }, { sorting: g, columnFilters: C, searching: h, columnVisibility: S, rowSelection: b, pagination: m } = F, [E] = G(h.trim(), 300);
43
+ U(() => {
44
+ i({
45
+ columnVisibility: { id: !1, updatedAt: !1, ...p }
78
46
  });
79
- }, [S]);
80
- const [C, k] = M([]), F = d(() => C.reduce((t, o) => {
81
- const { property: r, value: n, operator: l } = o;
82
- return t[r] || (t[r] = {}), t[r][l] = n, t;
83
- }, {}), [C]), e = Q({
84
- queryKey: [I, u, p, j, F],
85
- queryFn: () => O(u, p, y.trim(), F),
86
- placeholderData: tt,
47
+ }, [p]);
48
+ const a = H({
49
+ queryKey: [V, m, g, E],
50
+ queryFn: () => _(m, g, h.trim()),
51
+ placeholderData: K,
87
52
  // Keep previous data while loading new data
88
53
  retry: 0,
89
54
  refetchOnWindowFocus: !1
90
- }), B = ot(), b = d(() => {
91
- var r;
92
- const t = (r = e.data) == null ? void 0 : r.data;
93
- if (!(t != null && t.length)) return [];
94
- const o = /* @__PURE__ */ new Set();
95
- return t.forEach((n) => {
96
- n.metadata && n.metadata.forEach((l) => {
97
- o.add(l.key);
55
+ }), I = j(), f = M(() => {
56
+ var T;
57
+ const e = (T = a.data) == null ? void 0 : T.data;
58
+ if (!(e != null && e.length)) return [];
59
+ const t = /* @__PURE__ */ new Set();
60
+ return e.forEach((r) => {
61
+ r.metadata && r.metadata.forEach((s) => {
62
+ t.add(s.key);
98
63
  });
99
- }), Array.from(o).map(
100
- (n) => B.accessor(
101
- (l) => {
64
+ }), Array.from(t).map(
65
+ (r) => I.accessor(
66
+ (s) => {
102
67
  var A;
103
- const m = (A = l.metadata) == null ? void 0 : A.find((q) => q.key === n);
104
- return m == null ? void 0 : m.value;
68
+ const l = (A = s.metadata) == null ? void 0 : A.find((R) => R.key === r);
69
+ return l == null ? void 0 : l.value;
105
70
  },
106
71
  {
107
- header: () => /* @__PURE__ */ i(J, { delayDuration: 0, children: /* @__PURE__ */ c(Y, { children: [
108
- /* @__PURE__ */ i(Z, { asChild: !0, children: /* @__PURE__ */ c("span", { className: "flex gap-1 items-center align-middle", children: [
109
- n,
72
+ header: () => /* @__PURE__ */ n(te, { delayDuration: 0, children: /* @__PURE__ */ c(oe, { children: [
73
+ /* @__PURE__ */ n(ne, { asChild: !0, children: /* @__PURE__ */ c("span", { className: "flex gap-1 items-center align-middle", children: [
74
+ r,
110
75
  " ",
111
- /* @__PURE__ */ i(G, { size: 18, strokeWidth: "1px" })
76
+ /* @__PURE__ */ n(B, { size: 18, strokeWidth: "1px" })
112
77
  ] }) }),
113
- /* @__PURE__ */ i($, { children: "Metadata Key" })
78
+ /* @__PURE__ */ n(ae, { children: "Metadata Key" })
114
79
  ] }) }),
115
80
  // Use the metadata key as the column header
116
- id: n,
81
+ id: r,
117
82
  enableSorting: !1,
118
- cell: (l) => {
119
- const m = l.getValue();
120
- return m == null ? "" : String(m);
83
+ cell: (s) => {
84
+ const l = s.getValue();
85
+ return l == null ? "" : String(l);
121
86
  }
122
87
  }
123
88
  )
124
89
  );
125
- }, [(D = e.data) == null ? void 0 : D.data]), _ = d(() => [
126
- ...h.selection ? ct : [],
127
- ...pt,
128
- ...g.filter((o) => o.id !== N),
129
- ...b.length ? b : [],
130
- ...ft,
131
- ...g.filter((o) => o.id === N)
132
- ], [g, b, (E = e.data) == null ? void 0 : E.data, h.selection]), K = d(
133
- () => Object.entries(f).map((t) => {
134
- var o, r;
135
- return (r = (o = e == null ? void 0 : e.data) == null ? void 0 : o.data) == null ? void 0 : r[t[0]];
136
- }),
137
- [(L = e == null ? void 0 : e.data) == null ? void 0 : L.data, f]
138
- ), s = et({
139
- data: ((v = e.data) == null ? void 0 : v.data) ?? [],
140
- columns: _,
141
- getCoreRowModel: it(),
142
- rowCount: (x = e.data) == null ? void 0 : x.total,
90
+ }, [(w = a.data) == null ? void 0 : w.data]), L = M(() => [
91
+ ...d.selection ? Z : [],
92
+ ...$,
93
+ ...u.filter((t) => t.id !== N),
94
+ ...f.length ? f : [],
95
+ ...ee,
96
+ ...u.filter((t) => t.id === N)
97
+ ], [u, f, (P = a.data) == null ? void 0 : P.data, d.selection]), o = k({
98
+ data: ((y = a.data) == null ? void 0 : y.data) ?? [],
99
+ columns: L,
100
+ getCoreRowModel: q(),
101
+ rowCount: (x = a.data) == null ? void 0 : x.total,
143
102
  manualPagination: !0,
144
103
  // Handle pagination manually since pagination is done server side for data tables
145
- onPaginationChange: (t) => {
146
- const o = typeof t == "function" ? t(u) : t;
147
- a({ pagination: o });
104
+ onPaginationChange: (e) => {
105
+ const t = typeof e == "function" ? e(m) : e;
106
+ i({ pagination: t });
148
107
  },
149
108
  manualSorting: !0,
150
109
  // Handle sorting manually since sorting is done server side for data tables
151
- onSortingChange: (t) => {
152
- const o = typeof t == "function" ? t(p) : t;
153
- a({ sorting: o, rowSelection: {} });
110
+ onSortingChange: (e) => {
111
+ const t = typeof e == "function" ? e(g) : e;
112
+ i({ sorting: t, rowSelection: {} });
154
113
  },
155
114
  manualFiltering: !0,
156
115
  // Handle filtering manually since filtering is done server side for data tables
157
- onGlobalFilterChange: (t) => {
158
- const o = typeof t == "function" ? t(w) : t;
159
- a({ columnFilters: o });
116
+ onGlobalFilterChange: (e) => {
117
+ const t = typeof e == "function" ? e(C) : e;
118
+ i({ columnFilters: t });
160
119
  },
161
- onColumnVisibilityChange: (t) => {
162
- const o = typeof t == "function" ? t(T) : t;
163
- a({ columnVisibility: o });
120
+ onColumnVisibilityChange: (e) => {
121
+ const t = typeof e == "function" ? e(S) : e;
122
+ i({ columnVisibility: t });
164
123
  },
165
- onRowSelectionChange: (t) => {
166
- const o = typeof t == "function" ? t(f) : t;
167
- a({ rowSelection: o });
124
+ onRowSelectionChange: (e) => {
125
+ const t = typeof e == "function" ? e(b) : e;
126
+ i({ rowSelection: t });
168
127
  },
169
128
  state: {
170
- sorting: p,
171
- columnFilters: w,
172
- columnVisibility: T,
173
- pagination: u,
174
- rowSelection: f
129
+ sorting: g,
130
+ columnFilters: C,
131
+ columnVisibility: S,
132
+ pagination: m,
133
+ rowSelection: b
175
134
  },
176
135
  meta: {
177
- refetch: e.refetch
136
+ refetch: a.refetch
178
137
  }
179
- }), z = {
180
- key: "",
181
- stateData: K
182
- };
183
- return /* @__PURE__ */ c(H, { children: [
184
- /* @__PURE__ */ i(
185
- W,
138
+ });
139
+ return /* @__PURE__ */ n(O, { children: /* @__PURE__ */ c("div", { className: "bg-card", children: [
140
+ /* @__PURE__ */ n(
141
+ J,
186
142
  {
187
- filterableProperties: { ...V, ...ut },
188
- filters: C,
189
- onFiltersChange: k
143
+ dataQuery: a,
144
+ getSelectedRowModel: o.getSelectedRowModel,
145
+ tableActions: d,
146
+ handleSearching: (e) => i({ searching: e })
190
147
  }
191
148
  ),
192
- /* @__PURE__ */ i(
193
- mt,
194
- {
195
- dataQuery: e,
196
- table: s,
197
- tableActions: h,
198
- stateToPass: z,
199
- handleSearching: (t) => a({ searching: t })
200
- }
201
- ),
202
- /* @__PURE__ */ i("div", { className: "w-full bg-card overflow-auto border-x", children: /* @__PURE__ */ i(st, { table: s, columns: _, dataQuery: e }) }),
203
- /* @__PURE__ */ c("div", { className: "bg-card flex w-full justify-between border gap-4 p-4 overflow-x-auto", children: [
149
+ /* @__PURE__ */ n("div", { className: "w-full overflow-auto border-x", tabIndex: 0, children: /* @__PURE__ */ n(Y, { getRowModel: o.getRowModel, getHeaderGroups: o.getHeaderGroups, query: a }) }),
150
+ /* @__PURE__ */ c("div", { className: "flex w-full justify-between border gap-4 p-4 overflow-x-auto", children: [
204
151
  /* @__PURE__ */ c("div", { className: "flex gap-4", children: [
205
- /* @__PURE__ */ i(nt, { table: s }),
206
- /* @__PURE__ */ i(at, { table: s })
152
+ /* @__PURE__ */ n(Q, { getAllColumns: o.getAllColumns, getIsAllColumnsVisible: o.getIsAllColumnsVisible, toggleAllColumnsVisible: o.toggleAllColumnsVisible }),
153
+ /* @__PURE__ */ n(W, { size: o.getState().pagination.pageSize, onSelect: o.setPageSize })
207
154
  ] }),
208
- /* @__PURE__ */ i(lt, { table: s, rowCount: ((P = e.data) == null ? void 0 : P.total) ?? 0 })
155
+ /* @__PURE__ */ n(X, { firstPage: o.firstPage, previousPage: o.previousPage, getCanNextPage: o.getCanNextPage, getCanPreviousPage: o.getCanPreviousPage, lastPage: o.lastPage, nextPage: o.nextPage, getState: o.getState, rowCount: ((v = a.data) == null ? void 0 : v.total) ?? 0 })
209
156
  ] })
210
- ] });
157
+ ] }) });
211
158
  }
212
159
  export {
213
160
  N as ACTIONS_COLUMN_ID,
214
- lo as DataTable
161
+ we as DataTable
215
162
  };
216
163
  //# sourceMappingURL=data-table.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.es.js","sources":["../../../lib/components/data-table/data-table.tsx"],"sourcesContent":["'use client';\nimport { TableFilter, type FilterFormType } from '@/components/data-table/table-filter';\nimport {\n DEFAULT_FILTERABLE_FIELDS,\n TABLE_CHECK_BOX_COLUMN,\n TABLE_DEFAULT_DATE_COLUMNS,\n TABLE_ID_COLUMN,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/index';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport {\n ColumnDef,\n ColumnFiltersState,\n createColumnHelper,\n getCoreRowModel,\n PaginationState,\n SortingState,\n useReactTable,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { Info } from 'lucide-react';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useDebounce } from 'use-debounce';\nimport { ColumnPicker } from './column-picker';\nimport { PageSize } from './page-size';\nimport { Paginator } from './paginator';\nimport Actions from './table-actions';\nimport { TableContent } from './table-content';\nimport type { FilterableProperties, MetadataDto, TableActions, TableFetchFn } from './table-utils';\n\n/** Reserved name for actions column */\nexport const ACTIONS_COLUMN_ID = 'actions_button';\n\n// Props type for the DataTable component\nexport interface DataTableProps<TData, TValue = any> {\n columns: ColumnDef<TData, TValue>[]; // Columns for the table\n tableName: string; // Table name used as query key\n fetchFn: TableFetchFn<TData>; // Function for fetching data from the server\n tableActions: TableActions;\n filterableFields: FilterableProperties<TData>; // Fields that can be filtered\n columnsToHideByDefault: VisibilityState; // Columns that are hidden by default\n}\nexport function DataTable<TData extends Record<string, any>, TValue = any>({\n columns,\n fetchFn,\n tableName,\n tableActions,\n columnsToHideByDefault,\n filterableFields,\n}: DataTableProps<TData, TValue>) {\n // State for managing table data and filters\n\n //TODO: This is later to be stored in url as params\n const [tableState, setTableState] = useState({\n sorting: [] as SortingState, // Sorting state\n columnFilters: [] as ColumnFiltersState, // Filters for columns\n searching: '', // Search query state\n columnVisibility: {} as VisibilityState, // Visibility of columns\n rowSelection: {}, // Row selection state\n pagination: { pageIndex: 0, pageSize: 20 } as PaginationState, // Pagination state\n });\n\n // Update table state with new values\n const updateTableState = (updates: Partial<typeof tableState>) => {\n setTableState((prev) => ({ ...prev, ...updates }));\n };\n\n // Destructuring the table state for easier access\n const { sorting, columnFilters, searching, columnVisibility, rowSelection, pagination } =\n tableState;\n\n // Debounce the search query to avoid making a request on every keystroke\n const [debouncedQuery] = useDebounce(searching.trim(), 300);\n\n // Update column visibility when columnsToHideByDefault changes\n useEffect(() => {\n updateTableState({\n columnVisibility: { id: false, updatedAt: false, ...columnsToHideByDefault },\n });\n }, [columnsToHideByDefault]);\n const [filters, setFilters] = useState<FilterFormType[]>([]);\n\n const formatedFilters = useMemo(() => {\n return filters.reduce((acc, filter) => {\n const { property, value, operator } = filter;\n if (!acc[property]) {\n acc[property] = {};\n }\n acc[property][operator] = value;\n return acc;\n }, {} as Record<string, Record<string, any>>);\n }, [filters]);\n\n // Fetch table data using the fetchFn and react-query's useQuery hook\n const dataQuery = useQuery({\n queryKey: [tableName, pagination, sorting, debouncedQuery, formatedFilters],\n queryFn: () => fetchFn(pagination, sorting, searching.trim(), formatedFilters),\n placeholderData: keepPreviousData, // Keep previous data while loading new data\n retry: 0,\n refetchOnWindowFocus: false,\n });\n\n // Create column helpers for dynamic column generation\n const columnHelper = createColumnHelper<TData>();\n const metadataColumns = useMemo<ColumnDef<TData, TValue>[]>(() => {\n const data = dataQuery.data?.data;\n if (!data?.length) return [];\n // set of all the keys present in a given view\n const allMetadataKeys = new Set<string>();\n\n // Collect all unique metadata keys\n data.forEach((row: TData) => {\n if (row.metadata) {\n row.metadata.forEach((meta: MetadataDto) => {\n allMetadataKeys.add(meta.key);\n });\n }\n });\n\n // Generate columns for all unique metadata keys\n return Array.from(allMetadataKeys).map((key) =>\n columnHelper.accessor(\n (row: TData) => {\n // Find the metadata object with the matching key\n const metadataEntry = row.metadata?.find((meta: MetadataDto) => meta.key === key);\n return metadataEntry?.value; // Return the value for the specific key\n },\n {\n header: () => (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"flex gap-1 items-center align-middle\">\n {key} <Info size={18} strokeWidth={'1px'} />\n </span>\n </TooltipTrigger>\n <TooltipContent>Metadata Key</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n ), // Use the metadata key as the column header\n id: key,\n enableSorting: false,\n cell: (info) => {\n const value = info.getValue();\n // Handle null/undefined values\n if (value === null || value === undefined) return '';\n // For primitive types, return the string representation\n return String(value);\n },\n },\n ),\n );\n }, [dataQuery.data?.data]);\n\n /**\n * ID,createdAt and updatedAt will be added by default for all tables\n * If selection is allowed, checkbox will be added\n * If the dto has metadata, dynamics columns for all the metadata key-value will be added(particular for a view)\n * If there are actions for the table, they will be placed fixed at the right side of table.\n */\n const extendedColumns = useMemo<ColumnDef<any, any>[]>(() => {\n const _columns = [\n ...(tableActions.selection ? TABLE_CHECK_BOX_COLUMN : []),\n ...TABLE_ID_COLUMN,\n ...columns.filter((col) => col.id !== ACTIONS_COLUMN_ID),\n ...(metadataColumns.length ? metadataColumns : []),\n ...TABLE_DEFAULT_DATE_COLUMNS,\n ...columns.filter((col) => col.id === ACTIONS_COLUMN_ID),\n ];\n\n return _columns;\n }, [columns, metadataColumns, dataQuery.data?.data, tableActions.selection]);\n\n // Get selected row data\n const rowSelectedData = useMemo(\n () => Object.entries(rowSelection).map((d: any) => dataQuery?.data?.data?.[d[0]]),\n [dataQuery?.data?.data, rowSelection],\n );\n\n // Use react-table's hook to create the table instance\n const table = useReactTable({\n data: dataQuery.data?.data ?? [],\n columns: extendedColumns,\n getCoreRowModel: getCoreRowModel(),\n rowCount: dataQuery.data?.total,\n manualPagination: true, // Handle pagination manually since pagination is done server side for data tables\n onPaginationChange: (updater) => {\n const newPagination = typeof updater === 'function' ? updater(pagination) : updater;\n updateTableState({ pagination: newPagination });\n },\n manualSorting: true, // Handle sorting manually since sorting is done server side for data tables\n onSortingChange: (updater) => {\n const newSorting = typeof updater === 'function' ? updater(sorting) : updater;\n // Reset selection when sorting.\n updateTableState({ sorting: newSorting, rowSelection: {} });\n },\n manualFiltering: true, // Handle filtering manually since filtering is done server side for data tables\n onGlobalFilterChange: (updater) => {\n const newFilters = typeof updater === 'function' ? updater(columnFilters) : updater;\n updateTableState({ columnFilters: newFilters });\n },\n onColumnVisibilityChange: (updater) => {\n const newVisibility = typeof updater === 'function' ? updater(columnVisibility) : updater;\n updateTableState({ columnVisibility: newVisibility });\n },\n onRowSelectionChange: (updater) => {\n const newSelection = typeof updater === 'function' ? updater(rowSelection) : updater;\n updateTableState({ rowSelection: newSelection });\n },\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n pagination,\n rowSelection,\n },\n meta: {\n refetch: dataQuery.refetch,\n },\n });\n const stateToPass = {\n key: '',\n stateData: rowSelectedData,\n };\n\n return (\n <>\n <TableFilter\n filterableProperties={{ ...filterableFields, ...DEFAULT_FILTERABLE_FIELDS }}\n filters={filters}\n onFiltersChange={setFilters}\n />\n\n {/* Table Actions Section */}\n <Actions\n dataQuery={dataQuery}\n table={table}\n tableActions={tableActions}\n stateToPass={stateToPass}\n handleSearching={(value) => updateTableState({ searching: value })}\n />\n\n {/* Table Content Section */}\n {/* TODO, content tabindex */}\n {/* TODO set height */}\n <div className='w-full bg-card overflow-auto border-x'>\n <TableContent table={table} columns={extendedColumns} dataQuery={dataQuery} />\n </div>\n\n {/* Table Footer Section with Pagination and Column Picker */}\n <div className=\"bg-card flex w-full justify-between border gap-4 p-4 overflow-x-auto\">\n <div className=\"flex gap-4\">\n <ColumnPicker table={table} />\n <PageSize table={table} />\n </div>\n <Paginator table={table} rowCount={dataQuery.data?.total ?? 0} />\n </div>\n </>\n );\n}\n"],"names":["ACTIONS_COLUMN_ID","DataTable","columns","fetchFn","tableName","tableActions","columnsToHideByDefault","filterableFields","tableState","setTableState","useState","updateTableState","updates","prev","sorting","columnFilters","searching","columnVisibility","rowSelection","pagination","debouncedQuery","useDebounce","useEffect","filters","setFilters","formatedFilters","useMemo","acc","filter","property","value","operator","dataQuery","useQuery","keepPreviousData","columnHelper","createColumnHelper","metadataColumns","data","_a","allMetadataKeys","row","meta","key","metadataEntry","jsx","TooltipProvider","Tooltip","TooltipTrigger","jsxs","Info","TooltipContent","info","extendedColumns","TABLE_CHECK_BOX_COLUMN","TABLE_ID_COLUMN","col","TABLE_DEFAULT_DATE_COLUMNS","_b","rowSelectedData","d","_c","table","useReactTable","_d","getCoreRowModel","_e","updater","newPagination","newSorting","newFilters","newVisibility","newSelection","stateToPass","Fragment","TableFilter","DEFAULT_FILTERABLE_FIELDS","Actions","TableContent","ColumnPicker","PageSize","Paginator","_f"],"mappings":"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"}
1
+ {"version":3,"file":"data-table.es.js","sources":["../../../lib/components/data-table/data-table.tsx"],"sourcesContent":["'use client';\n// import { TableFilter, type FilterFormType } from '@/components/data-table/table-filter';\nimport {\n TABLE_CHECK_BOX_COLUMN,\n TABLE_DEFAULT_DATE_COLUMNS,\n TABLE_ID_COLUMN,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger\n} from '@/index';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport {\n ColumnDef,\n ColumnFiltersState,\n createColumnHelper,\n getCoreRowModel,\n PaginationState,\n SortingState,\n useReactTable,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { Info } from 'lucide-react';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useDebounce } from 'use-debounce';\nimport { ColumnPicker } from './column-picker';\nimport { PageSize } from './page-size';\nimport { Paginator } from './paginator';\nimport Actions from './table-actions';\nimport { TableContent } from './table-content';\nimport type { MetadataDto, TableActions, TableFetchFn } from './table-utils';\n\n/** Reserved name for actions column */\nexport const ACTIONS_COLUMN_ID = 'Actions';\n\n// Props type for the DataTable component\nexport interface DataTableProps<TData, TValue = any> {\n columns: ColumnDef<TData, TValue>[]; // Columns for the table\n tableName: string; // Table name used as query key\n fetchFn: TableFetchFn<TData>; // Function for fetching data from the server\n tableActions: TableActions;\n // filterableFields: FilterableProperties<TData>; // Fields that can be filtered\n columnsToHideByDefault: VisibilityState; // Columns that are hidden by default\n}\nexport function DataTable<TData extends Record<string, any>, TValue = any>({\n columns,\n fetchFn,\n tableName,\n tableActions,\n columnsToHideByDefault,\n // filterableFields,\n}: DataTableProps<TData, TValue>) {\n // State for managing table data and filters\n\n //TODO: This is later to be stored in url as params\n const [tableState, setTableState] = useState({\n sorting: [] as SortingState, // Sorting state\n columnFilters: [] as ColumnFiltersState, // Filters for columns\n searching: '', // Search query state\n columnVisibility: {} as VisibilityState, // Visibility of columns\n rowSelection: {}, // Row selection state\n pagination: { pageIndex: 0, pageSize: 20 } as PaginationState, // Pagination state\n });\n\n // Update table state with new values\n const updateTableState = (updates: Partial<typeof tableState>) => {\n setTableState((prev) => ({ ...prev, ...updates }));\n };\n\n // Destructuring the table state for easier access\n const { sorting, columnFilters, searching, columnVisibility, rowSelection, pagination } =\n tableState;\n\n // Debounce the search query to avoid making a request on every keystroke\n const [debouncedQuery] = useDebounce(searching.trim(), 300);\n\n // Update column visibility when columnsToHideByDefault changes\n useEffect(() => {\n updateTableState({\n columnVisibility: { id: false, updatedAt: false, ...columnsToHideByDefault },\n });\n }, [columnsToHideByDefault]);\n // const [filters, setFilters] = useState<FilterFormType[]>([]);\n\n // const formatedFilters = useMemo(() => {\n // return filters.reduce((acc, filter) => {\n // const { property, value, operator } = filter;\n // if (!acc[property]) {\n // acc[property] = {};\n // }\n // acc[property][operator] = value;\n // return acc;\n // }, {} as Record<string, Record<string, any>>);\n // }, [filters]);\n\n // Fetch table data using the fetchFn and react-query's useQuery hook\n const query = useQuery({\n queryKey: [tableName, pagination, sorting, debouncedQuery],\n queryFn: () => fetchFn(pagination, sorting, searching.trim()),\n placeholderData: keepPreviousData, // Keep previous data while loading new data\n retry: 0,\n refetchOnWindowFocus: false,\n });\n\n // Create column helpers for dynamic column generation\n const columnHelper = createColumnHelper<TData>();\n const metadataColumns = useMemo<ColumnDef<TData, TValue>[]>(() => {\n const data = query.data?.data;\n if (!data?.length) return [];\n // set of all the keys present in a given view\n const allMetadataKeys = new Set<string>();\n\n // Collect all unique metadata keys\n data.forEach((row: TData) => {\n if (row.metadata) {\n row.metadata.forEach((meta: MetadataDto) => {\n allMetadataKeys.add(meta.key);\n });\n }\n });\n\n // Generate columns for all unique metadata keys\n return Array.from(allMetadataKeys).map((key) =>\n columnHelper.accessor(\n (row: TData) => {\n // Find the metadata object with the matching key\n const metadataEntry = row.metadata?.find((meta: MetadataDto) => meta.key === key);\n return metadataEntry?.value; // Return the value for the specific key\n },\n {\n header: () => (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"flex gap-1 items-center align-middle\">\n {key} <Info size={18} strokeWidth={'1px'} />\n </span>\n </TooltipTrigger>\n <TooltipContent>Metadata Key</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n ), // Use the metadata key as the column header\n id: key,\n enableSorting: false,\n cell: (info) => {\n const value = info.getValue();\n // Handle null/undefined values\n if (value === null || value === undefined) return '';\n // For primitive types, return the string representation\n return String(value);\n },\n },\n ),\n );\n }, [query.data?.data]);\n\n /**\n * ID,createdAt and updatedAt will be added by default for all tables\n * If selection is allowed, checkbox will be added\n * If the dto has metadata, dynamics columns for all the metadata key-value will be added(particular for a view)\n * If there are actions for the table, they will be placed fixed at the right side of table.\n */\n const extendedColumns = useMemo<ColumnDef<any, any>[]>(() => {\n const _columns = [\n ...(tableActions.selection ? TABLE_CHECK_BOX_COLUMN : []),\n ...TABLE_ID_COLUMN,\n ...columns.filter((col) => col.id !== ACTIONS_COLUMN_ID),\n ...(metadataColumns.length ? metadataColumns : []),\n ...TABLE_DEFAULT_DATE_COLUMNS,\n ...columns.filter((col) => col.id === ACTIONS_COLUMN_ID),\n ];\n\n return _columns;\n }, [columns, metadataColumns, query.data?.data, tableActions.selection]);\n\n // Use react-table's hook to create the table instance\n const table = useReactTable({\n data: query.data?.data ?? [],\n columns: extendedColumns,\n getCoreRowModel: getCoreRowModel(),\n rowCount: query.data?.total,\n manualPagination: true, // Handle pagination manually since pagination is done server side for data tables\n onPaginationChange: (updater) => {\n const newPagination = typeof updater === 'function' ? updater(pagination) : updater;\n updateTableState({ pagination: newPagination });\n },\n manualSorting: true, // Handle sorting manually since sorting is done server side for data tables\n onSortingChange: (updater) => {\n const newSorting = typeof updater === 'function' ? updater(sorting) : updater;\n // Reset selection when sorting.\n updateTableState({ sorting: newSorting, rowSelection: {} });\n },\n manualFiltering: true, // Handle filtering manually since filtering is done server side for data tables\n onGlobalFilterChange: (updater) => {\n const newFilters = typeof updater === 'function' ? updater(columnFilters) : updater;\n updateTableState({ columnFilters: newFilters });\n },\n onColumnVisibilityChange: (updater) => {\n const newVisibility = typeof updater === 'function' ? updater(columnVisibility) : updater;\n updateTableState({ columnVisibility: newVisibility });\n },\n onRowSelectionChange: (updater) => {\n const newSelection = typeof updater === 'function' ? updater(rowSelection) : updater;\n updateTableState({ rowSelection: newSelection });\n },\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n pagination,\n rowSelection,\n },\n meta: {\n refetch: query.refetch,\n },\n });\n\n return (\n <>\n {/* <TableFilter\n filterableProperties={{ ...filterableFields, ...DEFAULT_FILTERABLE_FIELDS }}\n filters={filters}\n onFiltersChange={setFilters}\n /> */}\n\n {/* Table Actions Section */}\n <div className='bg-card'>\n <Actions\n dataQuery={query}\n getSelectedRowModel={table.getSelectedRowModel}\n tableActions={tableActions}\n handleSearching={(value) => updateTableState({ searching: value })}\n />\n\n {/* The div here is necessary because TableContent is internally a <table> tag and does not respect width, height CSS */}\n <div className='w-full overflow-auto border-x' tabIndex={0}>\n <TableContent getRowModel={table.getRowModel} getHeaderGroups={table.getHeaderGroups} query={query} />\n </div>\n\n {/* Table Footer Section with Pagination and Column Picker */}\n <div className=\"flex w-full justify-between border gap-4 p-4 overflow-x-auto\">\n <div className=\"flex gap-4\">\n <ColumnPicker getAllColumns={table.getAllColumns} getIsAllColumnsVisible={table.getIsAllColumnsVisible} toggleAllColumnsVisible={table.toggleAllColumnsVisible} />\n <PageSize size={table.getState().pagination.pageSize} onSelect={table.setPageSize} />\n </div>\n <Paginator firstPage={table.firstPage} previousPage={table.previousPage} getCanNextPage={table.getCanNextPage} getCanPreviousPage={table.getCanPreviousPage} lastPage={table.lastPage} nextPage={table.nextPage} getState={table.getState} rowCount={query.data?.total ?? 0} />\n </div>\n </div>\n </>\n );\n}\n"],"names":["ACTIONS_COLUMN_ID","DataTable","columns","fetchFn","tableName","tableActions","columnsToHideByDefault","tableState","setTableState","useState","updateTableState","updates","prev","sorting","columnFilters","searching","columnVisibility","rowSelection","pagination","debouncedQuery","useDebounce","useEffect","query","useQuery","keepPreviousData","columnHelper","createColumnHelper","metadataColumns","useMemo","data","_a","allMetadataKeys","row","meta","key","metadataEntry","jsx","TooltipProvider","Tooltip","TooltipTrigger","jsxs","Info","TooltipContent","info","value","extendedColumns","TABLE_CHECK_BOX_COLUMN","TABLE_ID_COLUMN","col","TABLE_DEFAULT_DATE_COLUMNS","_b","table","useReactTable","_c","getCoreRowModel","_d","updater","newPagination","newSorting","newFilters","newVisibility","newSelection","Fragment","Actions","TableContent","ColumnPicker","PageSize","Paginator","_e"],"mappings":"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"}