@plumile/ui 0.1.134 → 0.1.142

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 (570) hide show
  1. package/README.md +129 -15
  2. package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +4 -4
  3. package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +0 -2
  4. package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -0
  5. package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js +2 -2
  6. package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js.map +1 -1
  7. package/lib/esm/atomic/atoms/badge/Badge.js.map +1 -1
  8. package/lib/esm/atomic/atoms/error_message/ErrorMessage.js +9 -8
  9. package/lib/esm/atomic/atoms/error_message/ErrorMessage.js.map +1 -1
  10. package/lib/esm/atomic/atoms/error_message/errorMessage.css.js +1 -0
  11. package/lib/esm/atomic/molecules/card/Card.js +17 -19
  12. package/lib/esm/atomic/molecules/card/Card.js.map +1 -1
  13. package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js +80 -2
  14. package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js.map +1 -1
  15. package/lib/esm/atomic/molecules/empty-state/EmptyState.js +50 -28
  16. package/lib/esm/atomic/molecules/empty-state/EmptyState.js.map +1 -1
  17. package/lib/esm/atomic/molecules/form_error/FormError.js +29 -19
  18. package/lib/esm/atomic/molecules/form_error/FormError.js.map +1 -1
  19. package/lib/esm/atomic/molecules/form_error/formError.css.js +1 -1
  20. package/lib/esm/atomic/molecules/form_error/formError.css.js.map +1 -1
  21. package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js +0 -1
  22. package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +1 -0
  23. package/lib/esm/atomic/molecules/tabs/Tabs.js +82 -28
  24. package/lib/esm/atomic/molecules/tabs/Tabs.js.map +1 -1
  25. package/lib/esm/atomic/molecules/tabs/tabs.css.js +50 -8
  26. package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
  27. package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js +48 -48
  28. package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js.map +1 -1
  29. package/lib/esm/backoffice/atoms/status_badge/StatusBadge.js.map +1 -1
  30. package/lib/esm/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.js +38 -0
  31. package/lib/esm/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.js.map +1 -0
  32. package/lib/esm/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.js +35 -0
  33. package/lib/esm/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.js.map +1 -0
  34. package/lib/esm/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.js +16 -0
  35. package/lib/esm/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.js.map +1 -0
  36. package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.js +25 -0
  37. package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.js.map +1 -0
  38. package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.js +8 -0
  39. package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.js.map +1 -0
  40. package/lib/esm/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.js +37 -0
  41. package/lib/esm/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.js.map +1 -0
  42. package/lib/esm/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.js +8 -0
  43. package/lib/esm/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.js.map +1 -0
  44. package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.js +19 -0
  45. package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.js.map +1 -0
  46. package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.js +8 -0
  47. package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.js.map +1 -0
  48. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js +15 -32
  49. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js.map +1 -1
  50. package/lib/esm/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.js +11 -0
  51. package/lib/esm/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.js.map +1 -0
  52. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +17 -18
  53. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js.map +1 -1
  54. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.js +12 -0
  55. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.js.map +1 -0
  56. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +15 -20
  57. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js.map +1 -1
  58. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js +23 -16
  59. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js.map +1 -1
  60. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +2 -2
  61. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js.map +1 -1
  62. package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.js +11 -0
  63. package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.js.map +1 -0
  64. package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.js +55 -0
  65. package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.js.map +1 -0
  66. package/lib/esm/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.js +8 -0
  67. package/lib/esm/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.js.map +1 -0
  68. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.js +15 -0
  69. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.js.map +1 -0
  70. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.js +63 -0
  71. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.js.map +1 -0
  72. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.js +8 -0
  73. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.js.map +1 -0
  74. package/lib/esm/backoffice/molecules/backoffice_picker/BackofficePicker.js +76 -0
  75. package/lib/esm/backoffice/molecules/backoffice_picker/BackofficePicker.js.map +1 -0
  76. package/lib/esm/backoffice/molecules/backoffice_picker/backofficePicker.css.js +8 -0
  77. package/lib/esm/backoffice/molecules/backoffice_picker/backofficePicker.css.js.map +1 -0
  78. package/lib/esm/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.js +23 -0
  79. package/lib/esm/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.js.map +1 -0
  80. package/lib/esm/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.js +8 -0
  81. package/lib/esm/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.js.map +1 -0
  82. package/lib/esm/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.js +18 -0
  83. package/lib/esm/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.js.map +1 -0
  84. package/lib/esm/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.js +8 -0
  85. package/lib/esm/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.js.map +1 -0
  86. package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.js +28 -0
  87. package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.js.map +1 -0
  88. package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.js +8 -0
  89. package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.js.map +1 -0
  90. package/lib/esm/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.js +60 -0
  91. package/lib/esm/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.js.map +1 -0
  92. package/lib/esm/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.js +14 -0
  93. package/lib/esm/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.js.map +1 -0
  94. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +1 -1
  95. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js.map +1 -1
  96. package/lib/esm/backoffice/molecules/confirm_dialog/ConfirmDialog.js +3 -3
  97. package/lib/esm/backoffice/molecules/confirm_dialog/ConfirmDialog.js.map +1 -1
  98. package/lib/esm/backoffice/molecules/global_search_input/GlobalSearchInput.js +4 -4
  99. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js +1 -1
  100. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js.map +1 -1
  101. package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js +60 -60
  102. package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js.map +1 -1
  103. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +2 -2
  104. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -1
  105. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +96 -96
  106. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js.map +1 -1
  107. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +2 -2
  108. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -1
  109. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +52 -52
  110. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js.map +1 -1
  111. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +6 -6
  112. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js.map +1 -1
  113. package/lib/esm/backoffice/organisms/audit_timeline/AuditTimeline.js +69 -34
  114. package/lib/esm/backoffice/organisms/audit_timeline/AuditTimeline.js.map +1 -1
  115. package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js +22 -2
  116. package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js.map +1 -1
  117. package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js +4 -4
  118. package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js.map +1 -1
  119. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +70 -40
  120. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js.map +1 -1
  121. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +66 -3
  122. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js.map +1 -1
  123. package/lib/esm/components/dashboard/activity_card/ActivityCard.js +4 -4
  124. package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.js +9 -0
  125. package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.js.map +1 -0
  126. package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.js +30 -0
  127. package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.js.map +1 -0
  128. package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.css.js +8 -0
  129. package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.css.js.map +1 -0
  130. package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.js +16 -0
  131. package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.js.map +1 -0
  132. package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.js +8 -0
  133. package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.js.map +1 -0
  134. package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.js +27 -0
  135. package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.js.map +1 -0
  136. package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.css.js +8 -0
  137. package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.css.js.map +1 -0
  138. package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.js +28 -0
  139. package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.js.map +1 -0
  140. package/lib/esm/components/dashboard/metric_card/MetricCard.css.js +30 -2
  141. package/lib/esm/components/dashboard/metric_card/MetricCard.css.js.map +1 -1
  142. package/lib/esm/components/dashboard/metric_card/MetricCard.js +40 -26
  143. package/lib/esm/components/dashboard/metric_card/MetricCard.js.map +1 -1
  144. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js +23 -2
  145. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js.map +1 -1
  146. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.js +16 -4
  147. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.js.map +1 -1
  148. package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.js +4 -4
  149. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js +14 -2
  150. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js.map +1 -1
  151. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js +46 -25
  152. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js.map +1 -1
  153. package/lib/esm/components/data-table/DataTable.css.js +19 -19
  154. package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
  155. package/lib/esm/components/data-table/DataTable.js +142 -76
  156. package/lib/esm/components/data-table/DataTable.js.map +1 -1
  157. package/lib/esm/components/data-table/ResponsiveRecordList.js.map +1 -1
  158. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +2 -2
  159. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js.map +1 -1
  160. package/lib/esm/components/data-table/VirtualizedConnectionTable.js +177 -170
  161. package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
  162. package/lib/esm/components/feedback/InlineBanner.js +49 -0
  163. package/lib/esm/components/feedback/InlineBanner.js.map +1 -0
  164. package/lib/esm/components/feedback/OperationFeedback.css.js +2 -2
  165. package/lib/esm/components/feedback/OperationFeedback.css.js.map +1 -1
  166. package/lib/esm/components/feedback/OperationFeedback.js +20 -24
  167. package/lib/esm/components/feedback/OperationFeedback.js.map +1 -1
  168. package/lib/esm/components/feedback/inlineBanner.css.js +19 -0
  169. package/lib/esm/components/feedback/inlineBanner.css.js.map +1 -0
  170. package/lib/esm/components/infinite/InfiniteScrollTrigger.js +31 -23
  171. package/lib/esm/components/infinite/InfiniteScrollTrigger.js.map +1 -1
  172. package/lib/esm/components/layout/ActionPanel.css.js +2 -2
  173. package/lib/esm/components/layout/ActionPanel.css.js.map +1 -1
  174. package/lib/esm/components/layout/ActionPanel.js +29 -35
  175. package/lib/esm/components/layout/ActionPanel.js.map +1 -1
  176. package/lib/esm/components/layout/PageShell.css.js +2 -20
  177. package/lib/esm/components/layout/PageShell.css.js.map +1 -1
  178. package/lib/esm/components/layout/PageShell.js +155 -279
  179. package/lib/esm/components/layout/PageShell.js.map +1 -1
  180. package/lib/esm/components/layout/ResizableSplitView.css.js +8 -0
  181. package/lib/esm/components/layout/ResizableSplitView.css.js.map +1 -0
  182. package/lib/esm/components/layout/ResizableSplitView.js +176 -0
  183. package/lib/esm/components/layout/ResizableSplitView.js.map +1 -0
  184. package/lib/esm/components/layout/Surface.css.js +41 -0
  185. package/lib/esm/components/layout/Surface.css.js.map +1 -0
  186. package/lib/esm/components/layout/Surface.js +61 -0
  187. package/lib/esm/components/layout/Surface.js.map +1 -0
  188. package/lib/esm/components/layout/toolbar/Toolbar.css.js +64 -0
  189. package/lib/esm/components/layout/toolbar/Toolbar.css.js.map +1 -0
  190. package/lib/esm/components/layout/toolbar/Toolbar.js +36 -0
  191. package/lib/esm/components/layout/toolbar/Toolbar.js.map +1 -0
  192. package/lib/esm/components/navigation/sidebar/SidebarNavigation.js +89 -0
  193. package/lib/esm/components/navigation/sidebar/SidebarNavigation.js.map +1 -0
  194. package/lib/esm/components/navigation/sidebar/SidebarNavigationItem.js +2 -0
  195. package/lib/esm/components/navigation/sidebar/SidebarNavigationSection.js +2 -0
  196. package/lib/esm/components/navigation/sidebar/SidebarProfileMenu.js +2 -0
  197. package/lib/esm/components/navigation/sidebar/sidebarNavigation.css.js +48 -0
  198. package/lib/esm/components/navigation/sidebar/sidebarNavigation.css.js.map +1 -0
  199. package/lib/esm/components/subscriptions/RefetchNeededBanner.js +16 -23
  200. package/lib/esm/components/subscriptions/RefetchNeededBanner.js.map +1 -1
  201. package/lib/esm/i18n/locales/en/ui.js +16 -5
  202. package/lib/esm/i18n/locales/en/ui.js.map +1 -1
  203. package/lib/esm/i18n/locales/fr/ui.js +16 -5
  204. package/lib/esm/i18n/locales/fr/ui.js.map +1 -1
  205. package/lib/esm/index.js +237 -233
  206. package/lib/esm/internal/data-table/virtualization.js +1 -1
  207. package/lib/esm/internal/data-table/virtualization.js.map +1 -1
  208. package/lib/esm/internal/infinite/infiniteLoad.js +23 -0
  209. package/lib/esm/internal/infinite/infiniteLoad.js.map +1 -0
  210. package/lib/esm/node_modules/dompurify/dist/purify.es.js +290 -246
  211. package/lib/esm/node_modules/dompurify/dist/purify.es.js.map +1 -1
  212. package/lib/esm/node_modules/katex/dist/katex.js +1561 -1599
  213. package/lib/esm/node_modules/katex/dist/katex.js.map +1 -1
  214. package/lib/esm/style.css +1 -1
  215. package/lib/esm/theme/backofficeTheme.css.js +100 -0
  216. package/lib/esm/theme/backofficeTheme.css.js.map +1 -1
  217. package/lib/esm/theme/publicTheme.css.js +100 -0
  218. package/lib/esm/theme/publicTheme.css.js.map +1 -1
  219. package/lib/esm/theme/theme.css.js +200 -0
  220. package/lib/esm/theme/themeContract.css.js +359 -309
  221. package/lib/esm/theme/themeContract.css.js.map +1 -1
  222. package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts +4 -4
  223. package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts.map +1 -1
  224. package/lib/types/atomic/atoms/badge/Badge.d.ts +3 -3
  225. package/lib/types/atomic/atoms/badge/Badge.d.ts.map +1 -1
  226. package/lib/types/atomic/atoms/error_message/ErrorMessage.d.ts +1 -1
  227. package/lib/types/atomic/atoms/error_message/ErrorMessage.d.ts.map +1 -1
  228. package/lib/types/atomic/molecules/card/Card.d.ts.map +1 -1
  229. package/lib/types/atomic/molecules/empty-state/EmptyState.css.d.ts +56 -5
  230. package/lib/types/atomic/molecules/empty-state/EmptyState.css.d.ts.map +1 -1
  231. package/lib/types/atomic/molecules/empty-state/EmptyState.d.ts +14 -4
  232. package/lib/types/atomic/molecules/empty-state/EmptyState.d.ts.map +1 -1
  233. package/lib/types/atomic/molecules/form_error/FormError.d.ts +5 -2
  234. package/lib/types/atomic/molecules/form_error/FormError.d.ts.map +1 -1
  235. package/lib/types/atomic/molecules/form_error/formError.css.d.ts.map +1 -1
  236. package/lib/types/atomic/molecules/tabs/Tabs.d.ts +16 -7
  237. package/lib/types/atomic/molecules/tabs/Tabs.d.ts.map +1 -1
  238. package/lib/types/atomic/molecules/tabs/tabs.css.d.ts +21 -2
  239. package/lib/types/atomic/molecules/tabs/tabs.css.d.ts.map +1 -1
  240. package/lib/types/backoffice/atoms/status_badge/StatusBadge.d.ts.map +1 -1
  241. package/lib/types/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.d.ts +21 -0
  242. package/lib/types/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.d.ts.map +1 -0
  243. package/lib/types/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.d.ts +17 -0
  244. package/lib/types/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.d.ts.map +1 -0
  245. package/lib/types/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.d.ts +14 -0
  246. package/lib/types/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.d.ts.map +1 -0
  247. package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.d.ts +11 -0
  248. package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.d.ts.map +1 -0
  249. package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.d.ts +4 -0
  250. package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.d.ts.map +1 -0
  251. package/lib/types/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.d.ts +12 -0
  252. package/lib/types/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.d.ts.map +1 -0
  253. package/lib/types/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.d.ts +6 -0
  254. package/lib/types/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.d.ts.map +1 -0
  255. package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.d.ts +13 -0
  256. package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.d.ts.map +1 -0
  257. package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.d.ts +3 -0
  258. package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.d.ts.map +1 -0
  259. package/lib/types/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.d.ts.map +1 -1
  260. package/lib/types/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.d.ts +9 -0
  261. package/lib/types/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.d.ts.map +1 -0
  262. package/lib/types/backoffice/molecules/backoffice_form_section/BackofficeFormSection.d.ts.map +1 -1
  263. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts +0 -3
  264. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts.map +1 -1
  265. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.d.ts +5 -0
  266. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.d.ts.map +1 -0
  267. package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts +8 -2
  268. package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts.map +1 -1
  269. package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts +3 -0
  270. package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts.map +1 -1
  271. package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.d.ts +23 -0
  272. package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.d.ts.map +1 -0
  273. package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.d.ts +25 -0
  274. package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.d.ts.map +1 -0
  275. package/lib/types/backoffice/molecules/{backoffice_infinite_list_status/backofficeInfiniteListStatus.css.d.ts → backoffice_list_footer/backofficeListFooter.css.d.ts} +3 -2
  276. package/lib/types/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.d.ts.map +1 -0
  277. package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.d.ts +26 -0
  278. package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.d.ts.map +1 -0
  279. package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.d.ts +7 -0
  280. package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.d.ts.map +1 -0
  281. package/lib/types/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.d.ts +6 -0
  282. package/lib/types/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.d.ts.map +1 -0
  283. package/lib/types/backoffice/molecules/backoffice_picker/BackofficePicker.d.ts +35 -0
  284. package/lib/types/backoffice/molecules/backoffice_picker/BackofficePicker.d.ts.map +1 -0
  285. package/lib/types/backoffice/molecules/backoffice_picker/backofficePicker.css.d.ts +9 -0
  286. package/lib/types/backoffice/molecules/backoffice_picker/backofficePicker.css.d.ts.map +1 -0
  287. package/lib/types/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.d.ts +10 -0
  288. package/lib/types/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.d.ts.map +1 -0
  289. package/lib/types/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.d.ts +3 -0
  290. package/lib/types/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.d.ts.map +1 -0
  291. package/lib/types/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.d.ts +15 -0
  292. package/lib/types/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.d.ts.map +1 -0
  293. package/lib/types/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.d.ts +8 -0
  294. package/lib/types/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.d.ts.map +1 -0
  295. package/lib/types/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.d.ts +14 -0
  296. package/lib/types/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.d.ts.map +1 -0
  297. package/lib/types/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.d.ts +2 -0
  298. package/lib/types/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.d.ts.map +1 -0
  299. package/lib/types/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.d.ts +22 -0
  300. package/lib/types/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.d.ts.map +1 -0
  301. package/lib/types/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.d.ts +18 -0
  302. package/lib/types/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.d.ts.map +1 -0
  303. package/lib/types/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.d.ts.map +1 -1
  304. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.d.ts.map +1 -1
  305. package/lib/types/backoffice/molecules/sidebar_nav_item/SidebarNavItem.d.ts.map +1 -1
  306. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts +1 -0
  307. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -1
  308. package/lib/types/backoffice/molecules/sidebar_nav_section/SidebarNavSection.d.ts.map +1 -1
  309. package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts +2 -0
  310. package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts.map +1 -1
  311. package/lib/types/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.d.ts.map +1 -1
  312. package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts +8 -0
  313. package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts.map +1 -1
  314. package/lib/types/backoffice/organisms/audit_timeline/AuditTimeline.d.ts +20 -2
  315. package/lib/types/backoffice/organisms/audit_timeline/AuditTimeline.d.ts.map +1 -1
  316. package/lib/types/backoffice/organisms/audit_timeline/auditTimeline.css.d.ts +32 -2
  317. package/lib/types/backoffice/organisms/audit_timeline/auditTimeline.css.d.ts.map +1 -1
  318. package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts +2 -2
  319. package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts.map +1 -1
  320. package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts +12 -1
  321. package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts.map +1 -1
  322. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts +25 -4
  323. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -1
  324. package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.d.ts +4 -0
  325. package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.d.ts.map +1 -0
  326. package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.d.ts +19 -0
  327. package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.d.ts.map +1 -0
  328. package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.css.d.ts +2 -0
  329. package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.css.d.ts.map +1 -0
  330. package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.d.ts +11 -0
  331. package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.d.ts.map +1 -0
  332. package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.d.ts +5 -0
  333. package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.d.ts.map +1 -0
  334. package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.d.ts +14 -0
  335. package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.d.ts.map +1 -0
  336. package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.css.d.ts +6 -0
  337. package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.css.d.ts.map +1 -0
  338. package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.d.ts +14 -0
  339. package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.d.ts.map +1 -0
  340. package/lib/types/components/dashboard/metric_card/MetricCard.css.d.ts +38 -1
  341. package/lib/types/components/dashboard/metric_card/MetricCard.css.d.ts.map +1 -1
  342. package/lib/types/components/dashboard/metric_card/MetricCard.d.ts +7 -1
  343. package/lib/types/components/dashboard/metric_card/MetricCard.d.ts.map +1 -1
  344. package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.css.d.ts +17 -1
  345. package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.css.d.ts.map +1 -1
  346. package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.d.ts +4 -1
  347. package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.d.ts.map +1 -1
  348. package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.css.d.ts +31 -2
  349. package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.css.d.ts.map +1 -1
  350. package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.d.ts +8 -3
  351. package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.d.ts.map +1 -1
  352. package/lib/types/components/data-table/DataTable.css.d.ts +1 -0
  353. package/lib/types/components/data-table/DataTable.css.d.ts.map +1 -1
  354. package/lib/types/components/data-table/DataTable.d.ts +54 -3
  355. package/lib/types/components/data-table/DataTable.d.ts.map +1 -1
  356. package/lib/types/components/data-table/ResponsiveRecordList.d.ts +1 -4
  357. package/lib/types/components/data-table/ResponsiveRecordList.d.ts.map +1 -1
  358. package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts +0 -1
  359. package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts.map +1 -1
  360. package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +11 -5
  361. package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -1
  362. package/lib/types/{backoffice/molecules/inline_banner → components/feedback}/InlineBanner.d.ts +4 -2
  363. package/lib/types/components/feedback/InlineBanner.d.ts.map +1 -0
  364. package/lib/types/components/feedback/OperationFeedback.css.d.ts +0 -1
  365. package/lib/types/components/feedback/OperationFeedback.css.d.ts.map +1 -1
  366. package/lib/types/components/feedback/OperationFeedback.d.ts.map +1 -1
  367. package/lib/types/components/feedback/inlineBanner.css.d.ts.map +1 -0
  368. package/lib/types/components/infinite/InfiniteScrollTrigger.d.ts.map +1 -1
  369. package/lib/types/components/layout/ActionPanel.css.d.ts +1 -0
  370. package/lib/types/components/layout/ActionPanel.css.d.ts.map +1 -1
  371. package/lib/types/components/layout/ActionPanel.d.ts.map +1 -1
  372. package/lib/types/components/layout/PageShell.css.d.ts +1 -14
  373. package/lib/types/components/layout/PageShell.css.d.ts.map +1 -1
  374. package/lib/types/components/layout/PageShell.d.ts +1 -3
  375. package/lib/types/components/layout/PageShell.d.ts.map +1 -1
  376. package/lib/types/components/layout/ResizableSplitView.css.d.ts +8 -0
  377. package/lib/types/components/layout/ResizableSplitView.css.d.ts.map +1 -0
  378. package/lib/types/components/layout/ResizableSplitView.d.ts +27 -0
  379. package/lib/types/components/layout/ResizableSplitView.d.ts.map +1 -0
  380. package/lib/types/components/layout/Surface.css.d.ts +31 -0
  381. package/lib/types/components/layout/Surface.css.d.ts.map +1 -0
  382. package/lib/types/components/layout/Surface.d.ts +30 -0
  383. package/lib/types/components/layout/Surface.d.ts.map +1 -0
  384. package/lib/types/components/layout/toolbar/Toolbar.css.d.ts +40 -0
  385. package/lib/types/components/layout/toolbar/Toolbar.css.d.ts.map +1 -0
  386. package/lib/types/components/layout/toolbar/Toolbar.d.ts +35 -0
  387. package/lib/types/components/layout/toolbar/Toolbar.d.ts.map +1 -0
  388. package/lib/types/components/navigation/sidebar/SidebarNavigation.d.ts +57 -0
  389. package/lib/types/components/navigation/sidebar/SidebarNavigation.d.ts.map +1 -0
  390. package/lib/types/components/navigation/sidebar/SidebarNavigationItem.d.ts +2 -0
  391. package/lib/types/components/navigation/sidebar/SidebarNavigationItem.d.ts.map +1 -0
  392. package/lib/types/components/navigation/sidebar/SidebarNavigationSection.d.ts +2 -0
  393. package/lib/types/components/navigation/sidebar/SidebarNavigationSection.d.ts.map +1 -0
  394. package/lib/types/components/navigation/sidebar/SidebarProfileMenu.d.ts +2 -0
  395. package/lib/types/components/navigation/sidebar/SidebarProfileMenu.d.ts.map +1 -0
  396. package/lib/types/components/navigation/sidebar/sidebarNavigation.css.d.ts +19 -0
  397. package/lib/types/components/navigation/sidebar/sidebarNavigation.css.d.ts.map +1 -0
  398. package/lib/types/components/subscriptions/RefetchNeededBanner.d.ts.map +1 -1
  399. package/lib/types/i18n/resources.d.ts +32 -14
  400. package/lib/types/i18n/resources.d.ts.map +1 -1
  401. package/lib/types/index.d.ts +33 -33
  402. package/lib/types/index.d.ts.map +1 -1
  403. package/lib/types/internal/data-table/virtualization.d.ts +2 -2
  404. package/lib/types/internal/data-table/virtualization.d.ts.map +1 -1
  405. package/lib/types/internal/infinite/infiniteLoad.d.ts +27 -0
  406. package/lib/types/internal/infinite/infiniteLoad.d.ts.map +1 -0
  407. package/lib/types/theme/backofficeTheme.css.d.ts +100 -0
  408. package/lib/types/theme/backofficeTheme.css.d.ts.map +1 -1
  409. package/lib/types/theme/publicTheme.css.d.ts +100 -0
  410. package/lib/types/theme/publicTheme.css.d.ts.map +1 -1
  411. package/lib/types/theme/sprinkles.css.d.ts +2 -2
  412. package/lib/types/theme/themeContract.css.d.ts +50 -0
  413. package/lib/types/theme/themeContract.css.d.ts.map +1 -1
  414. package/package.json +3 -3
  415. package/src/i18n/locales/en/ui.json +16 -7
  416. package/src/i18n/locales/fr/ui.json +16 -7
  417. package/lib/esm/atomic/molecules/card/Card.css.js +0 -8
  418. package/lib/esm/atomic/molecules/card/Card.css.js.map +0 -1
  419. package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js +0 -8
  420. package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js.map +0 -1
  421. package/lib/esm/atomic/molecules/form/FormErrorBanner.js +0 -17
  422. package/lib/esm/atomic/molecules/form/FormErrorBanner.js.map +0 -1
  423. package/lib/esm/atomic/templates/detail-page/DetailPage.js +0 -49
  424. package/lib/esm/atomic/templates/detail-page/DetailPage.js.map +0 -1
  425. package/lib/esm/atomic/templates/detail-page/detailPage.css.js +0 -8
  426. package/lib/esm/atomic/templates/detail-page/detailPage.css.js.map +0 -1
  427. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js +0 -33
  428. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js.map +0 -1
  429. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +0 -8
  430. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js.map +0 -1
  431. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +0 -8
  432. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js.map +0 -1
  433. package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js +0 -36
  434. package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js.map +0 -1
  435. package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js +0 -8
  436. package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js.map +0 -1
  437. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +0 -8
  438. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js.map +0 -1
  439. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js +0 -37
  440. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js.map +0 -1
  441. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js +0 -8
  442. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js.map +0 -1
  443. package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js +0 -35
  444. package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js.map +0 -1
  445. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js +0 -8
  446. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js.map +0 -1
  447. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +0 -41
  448. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js.map +0 -1
  449. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +0 -8
  450. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +0 -1
  451. package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js +0 -46
  452. package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js.map +0 -1
  453. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +0 -17
  454. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +0 -1
  455. package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js +0 -46
  456. package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js.map +0 -1
  457. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js +0 -19
  458. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js.map +0 -1
  459. package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js +0 -41
  460. package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js.map +0 -1
  461. package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js +0 -8
  462. package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js.map +0 -1
  463. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js +0 -26
  464. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js.map +0 -1
  465. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js +0 -8
  466. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js.map +0 -1
  467. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/helpers.js +0 -18
  468. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/helpers.js.map +0 -1
  469. package/lib/esm/components/dashboard/section_nav/SectionNav.css.js +0 -8
  470. package/lib/esm/components/dashboard/section_nav/SectionNav.css.js.map +0 -1
  471. package/lib/esm/components/dashboard/section_nav/SectionNav.js +0 -25
  472. package/lib/esm/components/dashboard/section_nav/SectionNav.js.map +0 -1
  473. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js +0 -8
  474. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js.map +0 -1
  475. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.js +0 -24
  476. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.js.map +0 -1
  477. package/lib/esm/components/layout/AppShell.js +0 -19
  478. package/lib/esm/components/layout/AppShell.js.map +0 -1
  479. package/lib/esm/components/layout/SidebarPageLayout.js +0 -16
  480. package/lib/esm/components/layout/SidebarPageLayout.js.map +0 -1
  481. package/lib/esm/components/layout/SplitViewLayout.css.js +0 -8
  482. package/lib/esm/components/layout/SplitViewLayout.css.js.map +0 -1
  483. package/lib/esm/components/layout/SplitViewLayout.js +0 -18
  484. package/lib/esm/components/layout/SplitViewLayout.js.map +0 -1
  485. package/lib/esm/components/layout/TabsContentLayout.css.js +0 -8
  486. package/lib/esm/components/layout/TabsContentLayout.css.js.map +0 -1
  487. package/lib/esm/components/layout/TabsContentLayout.js +0 -31
  488. package/lib/esm/components/layout/TabsContentLayout.js.map +0 -1
  489. package/lib/esm/components/layout/ToolbarRow.css.js +0 -8
  490. package/lib/esm/components/layout/ToolbarRow.css.js.map +0 -1
  491. package/lib/esm/components/layout/ToolbarRow.js +0 -12
  492. package/lib/esm/components/layout/ToolbarRow.js.map +0 -1
  493. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +0 -8
  494. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js.map +0 -1
  495. package/lib/types/atomic/molecules/card/Card.css.d.ts +0 -5
  496. package/lib/types/atomic/molecules/card/Card.css.d.ts.map +0 -1
  497. package/lib/types/atomic/molecules/form/FormErrorBanner.css.d.ts +0 -2
  498. package/lib/types/atomic/molecules/form/FormErrorBanner.css.d.ts.map +0 -1
  499. package/lib/types/atomic/molecules/form/FormErrorBanner.d.ts +0 -7
  500. package/lib/types/atomic/molecules/form/FormErrorBanner.d.ts.map +0 -1
  501. package/lib/types/atomic/templates/detail-page/DetailPage.d.ts +0 -19
  502. package/lib/types/atomic/templates/detail-page/DetailPage.d.ts.map +0 -1
  503. package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts +0 -9
  504. package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts.map +0 -1
  505. package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts +0 -10
  506. package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts.map +0 -1
  507. package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts +0 -7
  508. package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts.map +0 -1
  509. package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts +0 -6
  510. package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts.map +0 -1
  511. package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts +0 -13
  512. package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts.map +0 -1
  513. package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts +0 -6
  514. package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts.map +0 -1
  515. package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts +0 -5
  516. package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts.map +0 -1
  517. package/lib/types/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.d.ts +0 -16
  518. package/lib/types/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.d.ts.map +0 -1
  519. package/lib/types/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.d.ts.map +0 -1
  520. package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts +0 -13
  521. package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts.map +0 -1
  522. package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts +0 -5
  523. package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts.map +0 -1
  524. package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts +0 -16
  525. package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts.map +0 -1
  526. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts +0 -10
  527. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +0 -1
  528. package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts +0 -19
  529. package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts.map +0 -1
  530. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts +0 -15
  531. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +0 -1
  532. package/lib/types/backoffice/molecules/inline_banner/InlineBanner.d.ts.map +0 -1
  533. package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts.map +0 -1
  534. package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts +0 -13
  535. package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts.map +0 -1
  536. package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts +0 -6
  537. package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts.map +0 -1
  538. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts +0 -31
  539. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts.map +0 -1
  540. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts +0 -5
  541. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts.map +0 -1
  542. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts +0 -5
  543. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts.map +0 -1
  544. package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts +0 -4
  545. package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts.map +0 -1
  546. package/lib/types/components/dashboard/section_nav/SectionNav.d.ts +0 -15
  547. package/lib/types/components/dashboard/section_nav/SectionNav.d.ts.map +0 -1
  548. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts +0 -4
  549. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts.map +0 -1
  550. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.d.ts +0 -15
  551. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.d.ts.map +0 -1
  552. package/lib/types/components/layout/AppShell.d.ts +0 -17
  553. package/lib/types/components/layout/AppShell.d.ts.map +0 -1
  554. package/lib/types/components/layout/SidebarPageLayout.d.ts +0 -15
  555. package/lib/types/components/layout/SidebarPageLayout.d.ts.map +0 -1
  556. package/lib/types/components/layout/SplitViewLayout.css.d.ts +0 -3
  557. package/lib/types/components/layout/SplitViewLayout.css.d.ts.map +0 -1
  558. package/lib/types/components/layout/SplitViewLayout.d.ts +0 -11
  559. package/lib/types/components/layout/SplitViewLayout.d.ts.map +0 -1
  560. package/lib/types/components/layout/TabsContentLayout.css.d.ts +0 -6
  561. package/lib/types/components/layout/TabsContentLayout.css.d.ts.map +0 -1
  562. package/lib/types/components/layout/TabsContentLayout.d.ts +0 -9
  563. package/lib/types/components/layout/TabsContentLayout.d.ts.map +0 -1
  564. package/lib/types/components/layout/ToolbarRow.css.d.ts +0 -2
  565. package/lib/types/components/layout/ToolbarRow.css.d.ts.map +0 -1
  566. package/lib/types/components/layout/ToolbarRow.d.ts +0 -8
  567. package/lib/types/components/layout/ToolbarRow.d.ts.map +0 -1
  568. package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts +0 -5
  569. package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts.map +0 -1
  570. /package/lib/types/{backoffice/molecules/inline_banner → components/feedback}/inlineBanner.css.d.ts +0 -0
@@ -75,38 +75,38 @@ var t = e({
75
75
  } },
76
76
  defaultVariants: { kind: "default" },
77
77
  compoundVariants: []
78
- }), _ = "ysn8461p txvbqbfd0 txvbqb19c9", v = "ysn8461q txvbqb19c9", y = "ysn8461r", b = e({
79
- defaultClassName: "ysn8461v",
78
+ }), _ = "ysn8461p txvbqbfd0 txvbqb19c9", v = "ysn8461q txvbqb19c9", y = "ysn8461r txvbqb18xk txvbqbusr txvbqb16g0 txvbqbt9i", b = "ysn8461s", x = e({
79
+ defaultClassName: "ysn8461w",
80
80
  variantClassNames: { align: {
81
- left: "ysn8461w ysn8461s txvbqbjuf txvbqb16ex",
82
- center: "ysn8461x ysn8461t txvbqbjtp txvbqb16fa",
83
- right: "ysn8461y ysn8461u txvbqbju2 txvbqb16fn"
81
+ left: "ysn8461x ysn8461t txvbqbjuf txvbqb16ex",
82
+ center: "ysn8461y ysn8461u txvbqbjtp txvbqb16fa",
83
+ right: "ysn8461z ysn8461v txvbqbju2 txvbqb16fn"
84
84
  } },
85
85
  defaultVariants: {},
86
86
  compoundVariants: []
87
- }), x = e({
88
- defaultClassName: "ysn8461z",
87
+ }), S = e({
88
+ defaultClassName: "ysn84620",
89
89
  variantClassNames: { state: {
90
- default: "ysn84620",
91
- selected: "ysn84621",
92
- muted: "ysn84622",
93
- danger: "ysn84623"
90
+ default: "ysn84621",
91
+ selected: "ysn84622",
92
+ muted: "ysn84623",
93
+ danger: "ysn84624"
94
94
  } },
95
95
  defaultVariants: {},
96
96
  compoundVariants: []
97
- }), S = "ysn84624", C = "ysn84625 txvbqb9w txvbqb19cb txvbqb16fa", w = e({
98
- defaultClassName: "ysn84626",
97
+ }), C = "ysn84625", w = "ysn84626 txvbqb9w txvbqb19cb txvbqb16fa", T = e({
98
+ defaultClassName: "ysn84627",
99
99
  variantClassNames: { minVisibleAt: {
100
- sm: "ysn84627",
101
- md: "ysn84628",
102
- lg: "ysn84629",
103
- xl: "ysn8462a",
104
- xxl: "ysn8462b"
100
+ sm: "ysn84628",
101
+ md: "ysn84629",
102
+ lg: "ysn8462a",
103
+ xl: "ysn8462b",
104
+ xxl: "ysn8462c"
105
105
  } },
106
106
  defaultVariants: {},
107
107
  compoundVariants: []
108
108
  });
109
109
  //#endregion
110
- export { b as alignRecipe, d as body, f as bodyContained, g as cell, t as container, n as containerWithContainedBody, l as densityRecipe, C as emptyCell, S as emptyRow, r as header, u as headerCell, i as headerRow, w as hideBelowRecipe, _ as primaryCell, v as primaryHeaderCell, p as row, m as rowEven, h as rowOdd, x as rowStateRecipe, y as stickyHeader, o as tableCellFontSizeVar, a as tableCellPaddingVar, s as tableEmptyRowPaddingVar, c as tableRowMinHeightVar };
110
+ export { x as alignRecipe, d as body, f as bodyContained, g as cell, t as container, n as containerWithContainedBody, l as densityRecipe, w as emptyCell, C as emptyRow, r as header, u as headerCell, i as headerRow, T as hideBelowRecipe, _ as primaryCell, v as primaryHeaderCell, p as row, m as rowEven, h as rowOdd, S as rowStateRecipe, y as singleLineCell, b as stickyHeader, o as tableCellFontSizeVar, a as tableCellPaddingVar, s as tableEmptyRowPaddingVar, c as tableRowMinHeightVar };
111
111
 
112
112
  //# sourceMappingURL=DataTable.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.css.js","names":[],"sources":["../../../../src/components/data-table/DataTable.css.ts"],"sourcesContent":["import {\n style,\n createVar,\n fallbackVar,\n type StyleRule,\n} from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { vars } from '../../theme/themeContract.css.js';\n\nimport {\n DATA_TABLE_BREAKPOINT_ENTRIES,\n type DataTableBreakpoint,\n} from './tableBreakpoints.js';\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const container = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n width: 'full',\n containerType: 'inline-size',\n }),\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surface',\n borderColor: 'border',\n borderRadius: 'lg',\n borderStyle: 'solid',\n borderWidth: 'default',\n overflowX: 'auto',\n overflowY: 'hidden',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderRadius: 'none',\n borderStyle: 'none',\n borderWidth: 0,\n overflow: 'visible',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const containerWithContainedBody = sprinkles({\n height: 'full',\n minHeight: 0,\n overflow: 'hidden',\n});\n\nexport const header = recipe({\n variants: {\n kind: {\n default: style([\n sprinkles({\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\n }),\n {\n backgroundImage: `linear-gradient(90deg, color-mix(in srgb, ${vars.colors.primaryLight} 55%, transparent), transparent 64%)`,\n },\n ]),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'brandSecondaryOrange-20',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const headerRow = sprinkles({\n display: 'grid',\n width: 'full',\n alignItems: 'stretch',\n});\n\nexport const tableCellPaddingVar = createVar();\nexport const tableCellFontSizeVar = createVar();\nexport const tableEmptyRowPaddingVar = createVar();\nexport const tableRowMinHeightVar = createVar();\n\nexport const densityRecipe = recipe({\n variants: {\n density: {\n compact: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[2]} ${vars.spacing[3]}`,\n [tableCellFontSizeVar]: vars.fontSize.sm,\n [tableEmptyRowPaddingVar]: `${vars.spacing[4]} ${vars.spacing[3]}`,\n [tableRowMinHeightVar]: vars.spacing[9],\n },\n },\n default: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[3]} ${vars.spacing[4]}`,\n [tableCellFontSizeVar]: vars.fontSize.sm,\n [tableEmptyRowPaddingVar]: `${vars.spacing[6]} ${vars.spacing[4]}`,\n [tableRowMinHeightVar]: vars.spacing[10],\n },\n },\n comfortable: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[3]} ${vars.spacing[5]}`,\n [tableCellFontSizeVar]: vars.fontSize.base,\n [tableEmptyRowPaddingVar]: `${vars.spacing[7]} ${vars.spacing[5]}`,\n [tableRowMinHeightVar]: vars.spacing[12],\n },\n },\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport const headerCell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n gap: 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'textSecondary',\n fontWeight: 'semibold',\n letterSpacing: 'capsNarrow',\n textTransform: 'uppercase',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n minHeight: fallbackVar(tableRowMinHeightVar, vars.spacing[10]),\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'black-300',\n fontWeight: 'bold',\n fontSize: 'xs',\n letterSpacing: 'caps',\n textTransform: 'uppercase',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const body = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n }),\n variants: {\n kind: {\n default: {},\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const bodyContained = style([\n sprinkles({\n flex: 1,\n minHeight: 0,\n }),\n {\n overflowY: 'auto',\n scrollbarWidth: 'thin',\n scrollbarColor: `${vars.colors.border} transparent`,\n },\n]);\n\nexport const row = recipe({\n base: sprinkles({\n alignItems: 'stretch',\n borderStyle: 'solid',\n borderWidth: 0,\n display: 'grid',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n backgroundColor: 'surface',\n borderBottomColor: 'borderLight',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${vars.colors.surfaceMuted} 84%, ${vars.colors.primaryLight})`,\n },\n },\n },\n ]),\n brandTable: style([\n sprinkles({\n backgroundColor: 'transparent',\n borderBottomColor: 'brandSecondaryOrange-20',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n },\n ]),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowEven = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surfaceSecondary',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowOdd = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surface',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const cell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n gap: 2,\n minWidth: 0,\n overflow: 'hidden',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'textSecondary',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n minHeight: fallbackVar(tableRowMinHeightVar, vars.spacing[10]),\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'text',\n fontWeight: 'semibold',\n fontSize: 'sm',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const primaryCell = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n});\n\nexport const primaryHeaderCell = sprinkles({\n color: 'text',\n});\n\nexport const stickyHeader = style({\n position: 'sticky',\n top: 0,\n zIndex: vars.zIndex[10],\n});\n\nexport const alignRecipe = recipe({\n variants: {\n align: {\n left: sprinkles({\n justifyContent: 'flex-start',\n textAlign: 'left',\n }),\n center: sprinkles({\n justifyContent: 'center',\n textAlign: 'center',\n }),\n right: sprinkles({\n justifyContent: 'flex-end',\n textAlign: 'end',\n }),\n },\n },\n});\n\nexport const rowStateRecipe = recipe({\n variants: {\n state: {\n default: {},\n selected: {\n backgroundColor: vars.colors.primaryLight,\n },\n muted: {\n opacity: 0.72,\n },\n danger: {\n backgroundColor: vars.colors['red-50'],\n },\n },\n },\n});\n\nexport const emptyRow = style({\n padding: fallbackVar(\n tableEmptyRowPaddingVar,\n `${vars.spacing[6]} ${vars.spacing[4]}`,\n ),\n});\n\nexport const emptyCell = sprinkles({\n fontSize: 'base',\n color: 'textSecondary',\n textAlign: 'center',\n});\n\nconst hideBelowMap: Record<DataTableBreakpoint, StyleRule> = {} as Record<\n DataTableBreakpoint,\n StyleRule\n>;\n\nDATA_TABLE_BREAKPOINT_ENTRIES.forEach(([breakpoint, width]) => {\n hideBelowMap[breakpoint] = {\n '@container': {\n [`(max-width: ${width - 0.5}px)`]: {\n visibility: 'hidden',\n opacity: 0,\n pointerEvents: 'none',\n paddingInline: 0,\n paddingBlock: 0,\n borderRight: 'none',\n overflow: 'hidden',\n },\n },\n };\n});\n\nexport const hideBelowRecipe = recipe({\n variants: {\n minVisibleAt: hideBelowMap,\n },\n});\n"],"mappings":""}
1
+ {"version":3,"file":"DataTable.css.js","names":[],"sources":["../../../../src/components/data-table/DataTable.css.ts"],"sourcesContent":["import {\n style,\n createVar,\n fallbackVar,\n type StyleRule,\n} from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { vars } from '../../theme/themeContract.css.js';\n\nimport {\n DATA_TABLE_BREAKPOINT_ENTRIES,\n type DataTableBreakpoint,\n} from './tableBreakpoints.js';\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const container = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n width: 'full',\n containerType: 'inline-size',\n }),\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surface',\n borderColor: 'border',\n borderRadius: 'lg',\n borderStyle: 'solid',\n borderWidth: 'default',\n overflowX: 'auto',\n overflowY: 'hidden',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderRadius: 'none',\n borderStyle: 'none',\n borderWidth: 0,\n overflow: 'visible',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const containerWithContainedBody = sprinkles({\n height: 'full',\n minHeight: 0,\n overflow: 'hidden',\n});\n\nexport const header = recipe({\n variants: {\n kind: {\n default: style([\n sprinkles({\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\n }),\n {\n backgroundImage: `linear-gradient(90deg, color-mix(in srgb, ${vars.colors.primaryLight} 55%, transparent), transparent 64%)`,\n },\n ]),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'brandSecondaryOrange-20',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const headerRow = sprinkles({\n display: 'grid',\n width: 'full',\n alignItems: 'stretch',\n});\n\nexport const tableCellPaddingVar = createVar();\nexport const tableCellFontSizeVar = createVar();\nexport const tableEmptyRowPaddingVar = createVar();\nexport const tableRowMinHeightVar = createVar();\n\nexport const densityRecipe = recipe({\n variants: {\n density: {\n compact: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[2]} ${vars.spacing[3]}`,\n [tableCellFontSizeVar]: vars.fontSize.sm,\n [tableEmptyRowPaddingVar]: `${vars.spacing[4]} ${vars.spacing[3]}`,\n [tableRowMinHeightVar]: vars.spacing[9],\n },\n },\n default: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[3]} ${vars.spacing[4]}`,\n [tableCellFontSizeVar]: vars.fontSize.sm,\n [tableEmptyRowPaddingVar]: `${vars.spacing[6]} ${vars.spacing[4]}`,\n [tableRowMinHeightVar]: vars.spacing[10],\n },\n },\n comfortable: {\n vars: {\n [tableCellPaddingVar]: `${vars.spacing[3]} ${vars.spacing[5]}`,\n [tableCellFontSizeVar]: vars.fontSize.base,\n [tableEmptyRowPaddingVar]: `${vars.spacing[7]} ${vars.spacing[5]}`,\n [tableRowMinHeightVar]: vars.spacing[12],\n },\n },\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport const headerCell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n gap: 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'textSecondary',\n fontWeight: 'semibold',\n letterSpacing: 'capsNarrow',\n textTransform: 'uppercase',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n minHeight: fallbackVar(tableRowMinHeightVar, vars.spacing[10]),\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'black-300',\n fontWeight: 'bold',\n fontSize: 'xs',\n letterSpacing: 'caps',\n textTransform: 'uppercase',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const body = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n }),\n variants: {\n kind: {\n default: {},\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const bodyContained = style([\n sprinkles({\n flex: 1,\n minHeight: 0,\n }),\n {\n overflowY: 'auto',\n scrollbarWidth: 'thin',\n scrollbarColor: `${vars.colors.border} transparent`,\n },\n]);\n\nexport const row = recipe({\n base: sprinkles({\n alignItems: 'stretch',\n borderStyle: 'solid',\n borderWidth: 0,\n display: 'grid',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n backgroundColor: 'surface',\n borderBottomColor: 'borderLight',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${vars.colors.surfaceMuted} 84%, ${vars.colors.primaryLight})`,\n },\n },\n },\n ]),\n brandTable: style([\n sprinkles({\n backgroundColor: 'transparent',\n borderBottomColor: 'brandSecondaryOrange-20',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n },\n ]),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowEven = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surfaceSecondary',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowOdd = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surface',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const cell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n gap: 2,\n minWidth: 0,\n overflow: 'hidden',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'textSecondary',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n minHeight: fallbackVar(tableRowMinHeightVar, vars.spacing[10]),\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'text',\n fontWeight: 'semibold',\n fontSize: 'sm',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const primaryCell = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n});\n\nexport const primaryHeaderCell = sprinkles({\n color: 'text',\n});\n\nexport const singleLineCell = sprinkles({\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 0,\n});\n\nexport const stickyHeader = style({\n position: 'sticky',\n top: 0,\n zIndex: vars.zIndex[10],\n});\n\nexport const alignRecipe = recipe({\n variants: {\n align: {\n left: sprinkles({\n justifyContent: 'flex-start',\n textAlign: 'left',\n }),\n center: sprinkles({\n justifyContent: 'center',\n textAlign: 'center',\n }),\n right: sprinkles({\n justifyContent: 'flex-end',\n textAlign: 'end',\n }),\n },\n },\n});\n\nexport const rowStateRecipe = recipe({\n variants: {\n state: {\n default: {},\n selected: {\n backgroundColor: vars.colors.primaryLight,\n },\n muted: {\n opacity: 0.72,\n },\n danger: {\n backgroundColor: vars.colors['red-50'],\n },\n },\n },\n});\n\nexport const emptyRow = style({\n padding: fallbackVar(\n tableEmptyRowPaddingVar,\n `${vars.spacing[6]} ${vars.spacing[4]}`,\n ),\n});\n\nexport const emptyCell = sprinkles({\n fontSize: 'base',\n color: 'textSecondary',\n textAlign: 'center',\n});\n\nconst hideBelowMap: Record<DataTableBreakpoint, StyleRule> = {} as Record<\n DataTableBreakpoint,\n StyleRule\n>;\n\nDATA_TABLE_BREAKPOINT_ENTRIES.forEach(([breakpoint, width]) => {\n hideBelowMap[breakpoint] = {\n '@container': {\n [`(max-width: ${width - 0.5}px)`]: {\n visibility: 'hidden',\n opacity: 0,\n pointerEvents: 'none',\n paddingInline: 0,\n paddingBlock: 0,\n borderRight: 'none',\n overflow: 'hidden',\n },\n },\n };\n});\n\nexport const hideBelowRecipe = recipe({\n variants: {\n minVisibleAt: hideBelowMap,\n },\n});\n"],"mappings":""}
@@ -1,88 +1,154 @@
1
1
  import { cx as e } from "../../theme/tools.js";
2
2
  import { useUiTranslation as t } from "../../i18n/useUiTranslation.js";
3
- import { alignRecipe as n, body as r, bodyContained as i, cell as a, container as o, containerWithContainedBody as s, densityRecipe as ee, emptyCell as te, emptyRow as ne, header as re, headerCell as c, headerRow as l, hideBelowRecipe as u, primaryCell as d, primaryHeaderCell as f, row as p, rowEven as m, rowOdd as h, rowStateRecipe as g, stickyHeader as _ } from "./DataTable.css.js";
4
- import { buildDataTableInlineTemplate as v } from "../../internal/data-table/layout.js";
5
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
3
+ import { alignRecipe as n, body as r, bodyContained as i, cell as a, container as o, containerWithContainedBody as s, densityRecipe as c, emptyRow as l, header as u, headerCell as d, headerRow as f, hideBelowRecipe as p, primaryCell as m, primaryHeaderCell as h, row as g, rowEven as _, rowOdd as v, rowStateRecipe as y, singleLineCell as b, stickyHeader as x } from "./DataTable.css.js";
4
+ import { buildDataTableInlineTemplate as S } from "../../internal/data-table/layout.js";
5
+ import { forwardRef as C } from "react";
6
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
6
7
  //#region src/components/data-table/DataTable.tsx
7
- var S = (e) => e == null ? null : u({ minVisibleAt: e }), C = ({ columns: u, rows: C, getRowId: ie, emptyState: w, className: T, headerClassName: E, bodyClassName: D, rowClassName: O, gridTemplateClassName: k, gridTemplateColumns: A, kind: j, density: M, headerBehavior: N, bodyScrollMode: P = "page", rowState: F, classes: I, ariaLabel: L, ariaLabelledBy: R, bodyFooterNode: z }) => {
8
- let { t: B } = t(), V = j ?? "default", H = L ?? B("common.table.label");
9
- R != null && (H = void 0);
10
- let U = /* @__PURE__ */ b("div", {
11
- className: e(te, I?.emptyCell),
12
- children: B("common.table.empty")
13
- }), W = w ?? U, G = C.length === 0, K = P === "contained", q;
14
- k ?? (q = v(u.length, A));
15
- let J = null;
16
- N?.sticky === !0 && (J = _);
17
- let Y;
18
- N?.offsetTop != null && (Y = { top: N.offsetTop });
19
- let X = [ee({ density: M ?? "default" })];
20
- k != null && X.push(k);
21
- let Z;
22
- Z = G ? /* @__PURE__ */ b("div", {
23
- className: e(ne, I?.emptyRow),
8
+ var E = (e) => e ?? "default", D = (e) => e ?? "default", O = (e) => e == null ? null : p({ minVisibleAt: e }), k = ({ columnCount: e, gridTemplateClassName: t, gridTemplateColumns: n }) => {
9
+ if (t == null) return S(e, n);
10
+ }, A = ({ density: e, gridTemplateClassName: t }) => {
11
+ let n = [c({ density: D(e) })];
12
+ return t != null && n.push(t), n;
13
+ }, j = C(({ children: n, className: r, kind: i, bodyScrollMode: a = "page", classes: c, ariaLabel: l, ariaLabelledBy: u }, d) => {
14
+ let { t: f } = t(), p;
15
+ u ?? (p = l ?? f("common.table.label"));
16
+ let m = a === "contained", h = null;
17
+ return m && (h = s), /* @__PURE__ */ w("div", {
18
+ ref: d,
19
+ className: e(o({ kind: E(i) }), h, c?.container, r),
20
+ role: "table",
21
+ "aria-label": p,
22
+ "aria-labelledby": u,
23
+ "data-scroll-mode": a,
24
+ children: n
25
+ });
26
+ });
27
+ j.displayName = "DataTableRoot";
28
+ var M = ({ columns: t, kind: r, density: i, headerBehavior: a, headerClassName: o, gridTemplateClassName: s, gridTemplateColumns: c, classes: l }) => {
29
+ let p = E(r), m = k({
30
+ columnCount: t.length,
31
+ gridTemplateClassName: s,
32
+ gridTemplateColumns: c
33
+ }), g = A({
34
+ density: i,
35
+ gridTemplateClassName: s
36
+ }), _;
37
+ a?.offsetTop != null && (_ = { top: a.offsetTop });
38
+ let v = null;
39
+ return a?.sticky === !0 && (v = x), /* @__PURE__ */ w("div", {
40
+ className: e(u({ kind: p }), v, l?.header, o),
41
+ style: _,
42
+ role: "rowgroup",
43
+ children: /* @__PURE__ */ w("div", {
44
+ className: e(f, l?.headerRow, ...g),
45
+ role: "row",
46
+ style: m,
47
+ children: t.map((t) => {
48
+ let r = [d({ kind: p }), l?.headerCell], i = O(t.minVisibleAt);
49
+ return i != null && r.push(i), t.className != null && r.push(t.className), t.isPrimary && r.push(h, l?.primaryHeaderCell), t.align != null && r.push(n({ align: t.align })), /* @__PURE__ */ w("div", {
50
+ role: "columnheader",
51
+ className: e(...r),
52
+ children: t.header
53
+ }, t.id);
54
+ })
55
+ })
56
+ });
57
+ }, N = C(({ children: t, className: n, kind: a, bodyScrollMode: o = "page", classes: s }, c) => {
58
+ let l = o === "contained", u = null;
59
+ return l && (u = i), /* @__PURE__ */ w("div", {
60
+ ref: c,
61
+ className: e(r({ kind: E(a) }), u, s?.body, n),
62
+ role: "rowgroup",
63
+ "data-scroll-mode": o,
64
+ children: t
65
+ });
66
+ });
67
+ N.displayName = "DataTableBody";
68
+ var P = ({ row: t, index: r, columns: i, getRowId: o, kind: s, density: c, rowClassName: l, rowState: u, gridTemplateClassName: d, gridTemplateColumns: f, classes: p, style: h, cellMode: x = "normal" }) => {
69
+ let S = E(s), C = k({
70
+ columnCount: i.length,
71
+ gridTemplateClassName: d,
72
+ gridTemplateColumns: f
73
+ }), T = [g({ kind: S }), p?.row], D = u?.(t, r);
74
+ D != null && T.push(y({ state: D })), r % 2 == 0 ? T.push(_({ kind: S }), p?.rowEven) : T.push(v({ kind: S }), p?.rowOdd), T.push(...A({
75
+ density: c,
76
+ gridTemplateClassName: d
77
+ }));
78
+ let j = l?.(t, r);
79
+ return j != null && T.push(j), /* @__PURE__ */ w("div", {
24
80
  role: "row",
25
- children: /* @__PURE__ */ b("div", {
81
+ className: e(...T),
82
+ style: {
83
+ ...C,
84
+ ...h
85
+ },
86
+ children: i.map((r) => {
87
+ let i = [a({ kind: S }), p?.cell], o = O(r.minVisibleAt);
88
+ return o != null && i.push(o), x === "singleLine" && i.push(b), r.className != null && i.push(r.className), r.isPrimary && i.push(m, p?.primaryCell), r.align != null && i.push(n({ align: r.align })), /* @__PURE__ */ w("div", {
89
+ role: "cell",
90
+ className: e(...i),
91
+ children: r.cell(t)
92
+ }, r.id);
93
+ })
94
+ }, o(t, r));
95
+ }, F = ({ emptyState: n, density: r, classes: i }) => {
96
+ let { t: a } = t(), o = n ?? /* @__PURE__ */ w("div", {
97
+ className: e("ysn84626 txvbqb9w txvbqb19cb txvbqb16fa", i?.emptyCell),
98
+ children: a("common.table.empty")
99
+ });
100
+ return /* @__PURE__ */ w("div", {
101
+ className: e(l, c({ density: D(r) }), i?.emptyRow),
102
+ role: "row",
103
+ children: /* @__PURE__ */ w("div", {
26
104
  role: "cell",
27
- children: W
105
+ children: o
28
106
  })
29
- }) : /* @__PURE__ */ b(y, { children: C.map((t, r) => {
30
- let i = ie(t, r), o = [p({ kind: V }), I?.row], s = F?.(t, r);
31
- s != null && o.push(g({ state: s })), r % 2 == 0 ? o.push(m({ kind: V }), I?.rowEven) : o.push(h({ kind: V }), I?.rowOdd);
32
- for (let e of X) o.push(e);
33
- if (O != null) {
34
- let e = O(t, r);
35
- e != null && o.push(e);
36
- }
37
- return /* @__PURE__ */ b("div", {
38
- role: "row",
39
- className: e(...o),
40
- style: q,
41
- children: u.map((r) => {
42
- let i = [a({ kind: V }), I?.cell], o = S(r.minVisibleAt);
43
- o != null && i.push(o), r.className != null && i.push(r.className), r.isPrimary && i.push(d, I?.primaryCell), r.align != null && i.push(n({ align: r.align }));
44
- let s = r.cell(t);
45
- return /* @__PURE__ */ b("div", {
46
- role: "cell",
47
- className: e(...i),
48
- children: s
49
- }, r.id);
50
- })
51
- }, i);
52
- }) });
53
- let Q = null, $ = null;
54
- return K && (Q = s, $ = i), /* @__PURE__ */ x("div", {
55
- className: e(o({ kind: V }), Q, I?.container, T),
56
- role: "table",
57
- "aria-label": H,
58
- "aria-labelledby": R,
59
- "data-scroll-mode": P,
60
- children: [/* @__PURE__ */ b("div", {
61
- className: e(re({ kind: V }), J, I?.header, E),
62
- style: Y,
63
- role: "rowgroup",
64
- children: /* @__PURE__ */ b("div", {
65
- className: e(l, I?.headerRow, ...X),
66
- role: "row",
67
- style: q,
68
- children: u.map((t) => {
69
- let r = [c({ kind: V }), I?.headerCell], i = S(t.minVisibleAt);
70
- return i != null && r.push(i), t.className != null && r.push(t.className), t.isPrimary && r.push(f, I?.primaryHeaderCell), t.align != null && r.push(n({ align: t.align })), /* @__PURE__ */ b("div", {
71
- role: "columnheader",
72
- className: e(...r),
73
- children: t.header
74
- }, t.id);
75
- })
76
- })
77
- }), /* @__PURE__ */ x("div", {
78
- className: e(r({ kind: V }), $, I?.body, D),
79
- role: "rowgroup",
80
- "data-scroll-mode": P,
81
- children: [Z, z]
107
+ });
108
+ }, I = ({ columns: e, rows: t, getRowId: n, emptyState: r, className: i, headerClassName: a, bodyClassName: o, rowClassName: s, gridTemplateClassName: c, gridTemplateColumns: l, kind: u, density: d, headerBehavior: f, bodyScrollMode: p = "page", rowState: m, classes: h, ariaLabel: g, ariaLabelledBy: _, bodyFooterNode: v }) => {
109
+ let y;
110
+ return y = t.length === 0 ? /* @__PURE__ */ w(F, {
111
+ emptyState: r,
112
+ density: d,
113
+ classes: h
114
+ }) : t.map((t, r) => /* @__PURE__ */ w(P, {
115
+ row: t,
116
+ index: r,
117
+ columns: e,
118
+ getRowId: n,
119
+ kind: u,
120
+ density: d,
121
+ rowClassName: s,
122
+ rowState: m,
123
+ gridTemplateClassName: c,
124
+ gridTemplateColumns: l,
125
+ classes: h
126
+ }, n(t, r))), /* @__PURE__ */ T(j, {
127
+ className: i,
128
+ kind: u,
129
+ bodyScrollMode: p,
130
+ classes: h,
131
+ ariaLabel: g,
132
+ ariaLabelledBy: _,
133
+ children: [/* @__PURE__ */ w(M, {
134
+ columns: e,
135
+ kind: u,
136
+ density: d,
137
+ headerBehavior: f,
138
+ headerClassName: a,
139
+ gridTemplateClassName: c,
140
+ gridTemplateColumns: l,
141
+ classes: h
142
+ }), /* @__PURE__ */ T(N, {
143
+ className: o,
144
+ kind: u,
145
+ bodyScrollMode: p,
146
+ classes: h,
147
+ children: [y, v]
82
148
  })]
83
149
  });
84
150
  };
85
151
  //#endregion
86
- export { C as DataTable };
152
+ export { I as DataTable, N as DataTableBody, F as DataTableEmptyRow, M as DataTableHeader, j as DataTableRoot, P as DataTableRow };
87
153
 
88
154
  //# sourceMappingURL=DataTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":[],"sources":["../../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import { type CSSProperties, type JSX, type ReactNode } from 'react';\n\nimport * as styles from './DataTable.css.js';\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport { buildDataTableInlineTemplate } from '../../internal/data-table/layout.js';\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type DataTableColumn<Row> = {\n id: string;\n header: JSX.Element | string;\n cell: (row: Row) => JSX.Element | string | null;\n minVisibleAt?: DataTableBreakpoint;\n className?: string;\n isPrimary?: boolean;\n align?: 'left' | 'center' | 'right';\n priority?: 'primary' | 'important' | 'secondary' | 'debug';\n mobileRole?:\n | 'title'\n | 'subtitle'\n | 'meta'\n | 'badge'\n | 'status'\n | 'action'\n | 'hidden';\n};\n\nexport type GetRowId<Row> = (row: Row, index: number) => string;\n\nexport type DataTableKind = NonNullable<\n Parameters<typeof styles.container>[0]\n>['kind'];\n\nexport type DataTableDensity = NonNullable<\n Parameters<typeof styles.densityRecipe>[0]\n>['density'];\n\nexport type DataTableRowState = NonNullable<\n Parameters<typeof styles.rowStateRecipe>[0]\n>['state'];\n\nexport type DataTableHeaderBehavior = {\n sticky?: boolean;\n offsetTop?: number;\n};\n\nexport type DataTableBodyScrollMode = 'page' | 'contained';\n\ntype DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type DataTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n rowClassName?: (row: Row, index: number) => string | null | undefined;\n gridTemplateClassName?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n density?: DataTableDensity;\n headerBehavior?: DataTableHeaderBehavior;\n bodyScrollMode?: DataTableBodyScrollMode;\n rowState?: (row: Row, index: number) => DataTableRowState;\n classes?: SlotClasses<DataTableSlot>;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n bodyFooterNode?: ReactNode;\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n\n return styles.hideBelowRecipe({ minVisibleAt });\n};\n\n/**\n * Generic responsive data table component.\n */\nexport const DataTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n headerClassName,\n bodyClassName,\n rowClassName,\n gridTemplateClassName,\n gridTemplateColumns,\n kind,\n density,\n headerBehavior,\n bodyScrollMode = 'page',\n rowState,\n classes,\n ariaLabel,\n ariaLabelledBy,\n bodyFooterNode,\n}: DataTableProps<Row>): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedKind: DataTableKind = kind ?? 'default';\n const resolvedAriaLabel = ariaLabel ?? t('common.table.label');\n let tableAriaLabel: string | undefined = resolvedAriaLabel;\n if (ariaLabelledBy != null) {\n tableAriaLabel = undefined;\n }\n const defaultEmptyState = (\n <div className={cx(styles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n ) as JSX.Element;\n const resolvedEmptyState = emptyState ?? defaultEmptyState;\n const showEmpty = rows.length === 0;\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n\n let inlineTemplateStyle: CSSProperties | undefined;\n if (gridTemplateClassName == null) {\n inlineTemplateStyle = buildDataTableInlineTemplate(\n columns.length,\n gridTemplateColumns,\n );\n }\n let headerStickyClass: string | null = null;\n if (headerBehavior?.sticky === true) {\n headerStickyClass = styles.stickyHeader;\n }\n let headerStyle: CSSProperties | undefined;\n if (headerBehavior?.offsetTop != null) {\n headerStyle = { top: headerBehavior.offsetTop };\n }\n\n const resolvedDensity: DataTableDensity = density ?? 'default';\n const sharedRowClasses: string[] = [\n styles.densityRecipe({ density: resolvedDensity }),\n ];\n if (gridTemplateClassName != null) {\n sharedRowClasses.push(gridTemplateClassName);\n }\n\n let rowsContent: JSX.Element;\n if (showEmpty) {\n rowsContent = (\n <div className={cx(styles.emptyRow, classes?.emptyRow)} role=\"row\">\n <div role=\"cell\">{resolvedEmptyState}</div>\n </div>\n );\n } else {\n rowsContent = (\n <>\n {rows.map((row, index) => {\n const rowId = getRowId(row, index);\n const rowClasses = [styles.row({ kind: resolvedKind }), classes?.row];\n const state = rowState?.(row, index);\n if (state != null) {\n rowClasses.push(styles.rowStateRecipe({ state }));\n }\n if (index % 2 === 0) {\n rowClasses.push(\n styles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n styles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n for (const sharedClass of sharedRowClasses) {\n rowClasses.push(sharedClass);\n }\n\n if (rowClassName != null) {\n const customClass = rowClassName(row, index);\n if (customClass != null) {\n rowClasses.push(customClass);\n }\n }\n\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n styles.cell({ kind: resolvedKind }),\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(styles.primaryCell, classes?.primaryCell);\n }\n if (column.align != null) {\n cellClasses.push(styles.alignRecipe({ align: column.align }));\n }\n\n const content = column.cell(row);\n\n return (\n <div\n key={column.id}\n role=\"cell\"\n className={cx(...cellClasses)}\n >\n {content}\n </div>\n );\n })}\n </div>\n );\n })}\n </>\n );\n }\n\n let containedContainerClassName: string | null = null;\n let containedBodyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedContainerClassName = styles.containerWithContainedBody;\n containedBodyClassName = styles.bodyContained;\n }\n\n return (\n <div\n className={cx(\n styles.container({ kind: resolvedKind }),\n containedContainerClassName,\n classes?.container,\n className,\n )}\n role=\"table\"\n aria-label={tableAriaLabel}\n aria-labelledby={ariaLabelledBy}\n data-scroll-mode={bodyScrollMode}\n >\n <div\n className={cx(\n styles.header({ kind: resolvedKind }),\n headerStickyClass,\n classes?.header,\n headerClassName,\n )}\n style={headerStyle}\n role=\"rowgroup\"\n >\n <div\n className={cx(\n styles.headerRow,\n classes?.headerRow,\n ...sharedRowClasses,\n )}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n styles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n styles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(styles.alignRecipe({ align: column.align }));\n }\n\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n\n <div\n className={cx(\n styles.body({ kind: resolvedKind }),\n containedBodyClassName,\n classes?.body,\n bodyClassName,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {rowsContent}\n {bodyFooterNode}\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":[],"sources":["../../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type JSX,\n type ReactNode,\n} from 'react';\n\nimport * as styles from './DataTable.css.js';\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport { buildDataTableInlineTemplate } from '../../internal/data-table/layout.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\nimport { cx } from '../../theme/tools.js';\n\nexport type DataTableColumn<Row> = {\n id: string;\n header: JSX.Element | string;\n cell: (row: Row) => JSX.Element | string | null;\n minVisibleAt?: DataTableBreakpoint;\n className?: string;\n isPrimary?: boolean;\n align?: 'left' | 'center' | 'right';\n priority?: 'primary' | 'important' | 'secondary' | 'debug';\n mobileRole?:\n | 'title'\n | 'subtitle'\n | 'meta'\n | 'badge'\n | 'status'\n | 'action'\n | 'hidden';\n};\n\nexport type GetRowId<Row> = (row: Row, index: number) => string;\n\nexport type DataTableKind = NonNullable<\n Parameters<typeof styles.container>[0]\n>['kind'];\n\nexport type DataTableDensity = NonNullable<\n Parameters<typeof styles.densityRecipe>[0]\n>['density'];\n\nexport type DataTableRowState = NonNullable<\n Parameters<typeof styles.rowStateRecipe>[0]\n>['state'];\n\nexport type DataTableHeaderBehavior = {\n sticky?: boolean;\n offsetTop?: number;\n};\n\nexport type DataTableBodyScrollMode = 'page' | 'contained';\n\nexport type DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type DataTableCellMode = 'normal' | 'singleLine';\n\nexport type DataTablePrimitiveLayoutProps = {\n gridTemplateClassName?: string;\n gridTemplateColumns?: string;\n};\n\nexport type DataTableRootProps = {\n children: ReactNode;\n className?: string;\n kind?: DataTableKind;\n bodyScrollMode?: DataTableBodyScrollMode;\n classes?: Pick<SlotClasses<DataTableSlot>, 'container'>;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n};\n\nexport type DataTableHeaderProps<Row> = DataTablePrimitiveLayoutProps & {\n columns: readonly DataTableColumn<Row>[];\n kind?: DataTableKind;\n density?: DataTableDensity;\n headerBehavior?: DataTableHeaderBehavior;\n headerClassName?: string;\n classes?: Pick<\n SlotClasses<DataTableSlot>,\n 'header' | 'headerRow' | 'headerCell' | 'primaryHeaderCell'\n >;\n};\n\nexport type DataTableBodyProps = {\n children: ReactNode;\n className?: string;\n kind?: DataTableKind;\n bodyScrollMode?: DataTableBodyScrollMode;\n classes?: Pick<SlotClasses<DataTableSlot>, 'body'>;\n};\n\nexport type DataTableRowProps<Row> = DataTablePrimitiveLayoutProps & {\n row: Row;\n index: number;\n columns: readonly DataTableColumn<Row>[];\n getRowId: GetRowId<Row>;\n kind?: DataTableKind;\n density?: DataTableDensity;\n rowClassName?: (row: Row, index: number) => string | null | undefined;\n rowState?: (row: Row, index: number) => DataTableRowState;\n classes?: Pick<\n SlotClasses<DataTableSlot>,\n 'row' | 'rowEven' | 'rowOdd' | 'cell' | 'primaryCell'\n >;\n style?: CSSProperties;\n cellMode?: DataTableCellMode;\n};\n\nexport type DataTableEmptyRowProps = {\n emptyState?: JSX.Element;\n density?: DataTableDensity;\n classes?: Pick<SlotClasses<DataTableSlot>, 'emptyRow' | 'emptyCell'>;\n};\n\nexport type DataTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n rowClassName?: (row: Row, index: number) => string | null | undefined;\n gridTemplateClassName?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n density?: DataTableDensity;\n headerBehavior?: DataTableHeaderBehavior;\n bodyScrollMode?: DataTableBodyScrollMode;\n rowState?: (row: Row, index: number) => DataTableRowState;\n classes?: SlotClasses<DataTableSlot>;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n bodyFooterNode?: ReactNode;\n};\n\nconst resolveKind = (kind?: DataTableKind): DataTableKind => {\n return kind ?? 'default';\n};\n\nconst resolveDensity = (density?: DataTableDensity): DataTableDensity => {\n return density ?? 'default';\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n\n return styles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst getInlineTemplateStyle = ({\n columnCount,\n gridTemplateClassName,\n gridTemplateColumns,\n}: DataTablePrimitiveLayoutProps & {\n columnCount: number;\n}): CSSProperties | undefined => {\n if (gridTemplateClassName != null) {\n return undefined;\n }\n return buildDataTableInlineTemplate(columnCount, gridTemplateColumns);\n};\n\nconst getGridRowClasses = ({\n density,\n gridTemplateClassName,\n}: DataTablePrimitiveLayoutProps & {\n density?: DataTableDensity;\n}): string[] => {\n const rowClasses = [\n styles.densityRecipe({ density: resolveDensity(density) }),\n ];\n if (gridTemplateClassName != null) {\n rowClasses.push(gridTemplateClassName);\n }\n return rowClasses;\n};\n\nexport const DataTableRoot = forwardRef<HTMLDivElement, DataTableRootProps>(\n (\n {\n children,\n className,\n kind,\n bodyScrollMode = 'page',\n classes,\n ariaLabel,\n ariaLabelledBy,\n },\n ref,\n ): JSX.Element => {\n const { t } = useUiTranslation();\n let tableAriaLabel: string | undefined;\n if (ariaLabelledBy == null) {\n tableAriaLabel = ariaLabel ?? t('common.table.label');\n }\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n let containedClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedClassName = styles.containerWithContainedBody;\n }\n\n return (\n <div\n ref={ref}\n className={cx(\n styles.container({ kind: resolveKind(kind) }),\n containedClassName,\n classes?.container,\n className,\n )}\n role=\"table\"\n aria-label={tableAriaLabel}\n aria-labelledby={ariaLabelledBy}\n data-scroll-mode={bodyScrollMode}\n >\n {children}\n </div>\n );\n },\n);\n\nDataTableRoot.displayName = 'DataTableRoot';\n\nexport const DataTableHeader = <Row,>({\n columns,\n kind,\n density,\n headerBehavior,\n headerClassName,\n gridTemplateClassName,\n gridTemplateColumns,\n classes,\n}: DataTableHeaderProps<Row>): JSX.Element => {\n const resolvedKind = resolveKind(kind);\n const inlineTemplateStyle = getInlineTemplateStyle({\n columnCount: columns.length,\n gridTemplateClassName,\n gridTemplateColumns,\n });\n const gridRowClasses = getGridRowClasses({\n density,\n gridTemplateClassName,\n });\n let headerStyle: CSSProperties | undefined;\n if (headerBehavior?.offsetTop != null) {\n headerStyle = { top: headerBehavior.offsetTop };\n }\n let stickyHeaderClassName: string | null = null;\n if (headerBehavior?.sticky === true) {\n stickyHeaderClassName = styles.stickyHeader;\n }\n\n return (\n <div\n className={cx(\n styles.header({ kind: resolvedKind }),\n stickyHeaderClassName,\n classes?.header,\n headerClassName,\n )}\n style={headerStyle}\n role=\"rowgroup\"\n >\n <div\n className={cx(styles.headerRow, classes?.headerRow, ...gridRowClasses)}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n styles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n styles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(styles.alignRecipe({ align: column.align }));\n }\n\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport const DataTableBody = forwardRef<HTMLDivElement, DataTableBodyProps>(\n (\n { children, className, kind, bodyScrollMode = 'page', classes },\n ref,\n ): JSX.Element => {\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n let containedClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedClassName = styles.bodyContained;\n }\n\n return (\n <div\n ref={ref}\n className={cx(\n styles.body({ kind: resolveKind(kind) }),\n containedClassName,\n classes?.body,\n className,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {children}\n </div>\n );\n },\n);\n\nDataTableBody.displayName = 'DataTableBody';\n\nexport const DataTableRow = <Row,>({\n row,\n index,\n columns,\n getRowId,\n kind,\n density,\n rowClassName,\n rowState,\n gridTemplateClassName,\n gridTemplateColumns,\n classes,\n style,\n cellMode = 'normal',\n}: DataTableRowProps<Row>): JSX.Element => {\n const resolvedKind = resolveKind(kind);\n const inlineTemplateStyle = getInlineTemplateStyle({\n columnCount: columns.length,\n gridTemplateClassName,\n gridTemplateColumns,\n });\n const rowClasses = [styles.row({ kind: resolvedKind }), classes?.row];\n const state = rowState?.(row, index);\n if (state != null) {\n rowClasses.push(styles.rowStateRecipe({ state }));\n }\n if (index % 2 === 0) {\n rowClasses.push(styles.rowEven({ kind: resolvedKind }), classes?.rowEven);\n } else {\n rowClasses.push(styles.rowOdd({ kind: resolvedKind }), classes?.rowOdd);\n }\n rowClasses.push(...getGridRowClasses({ density, gridTemplateClassName }));\n\n const customClass = rowClassName?.(row, index);\n if (customClass != null) {\n rowClasses.push(customClass);\n }\n\n return (\n <div\n key={getRowId(row, index)}\n role=\"row\"\n className={cx(...rowClasses)}\n style={{ ...inlineTemplateStyle, ...style }}\n >\n {columns.map((column) => {\n const cellClasses = [\n styles.cell({ kind: resolvedKind }),\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n if (cellMode === 'singleLine') {\n cellClasses.push(styles.singleLineCell);\n }\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(styles.primaryCell, classes?.primaryCell);\n }\n if (column.align != null) {\n cellClasses.push(styles.alignRecipe({ align: column.align }));\n }\n\n return (\n <div key={column.id} role=\"cell\" className={cx(...cellClasses)}>\n {column.cell(row)}\n </div>\n );\n })}\n </div>\n );\n};\n\nexport const DataTableEmptyRow = ({\n emptyState,\n density,\n classes,\n}: DataTableEmptyRowProps): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedEmptyState = emptyState ?? (\n <div className={cx(styles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n );\n\n return (\n <div\n className={cx(\n styles.emptyRow,\n styles.densityRecipe({ density: resolveDensity(density) }),\n classes?.emptyRow,\n )}\n role=\"row\"\n >\n <div role=\"cell\">{resolvedEmptyState}</div>\n </div>\n );\n};\n\n/**\n * Generic responsive data table component.\n */\nexport const DataTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n headerClassName,\n bodyClassName,\n rowClassName,\n gridTemplateClassName,\n gridTemplateColumns,\n kind,\n density,\n headerBehavior,\n bodyScrollMode = 'page',\n rowState,\n classes,\n ariaLabel,\n ariaLabelledBy,\n bodyFooterNode,\n}: DataTableProps<Row>): JSX.Element => {\n let rowsContent: ReactNode;\n if (rows.length === 0) {\n rowsContent = (\n <DataTableEmptyRow\n emptyState={emptyState}\n density={density}\n classes={classes}\n />\n );\n } else {\n rowsContent = rows.map((row, index) => {\n return (\n <DataTableRow\n key={getRowId(row, index)}\n row={row}\n index={index}\n columns={columns}\n getRowId={getRowId}\n kind={kind}\n density={density}\n rowClassName={rowClassName}\n rowState={rowState}\n gridTemplateClassName={gridTemplateClassName}\n gridTemplateColumns={gridTemplateColumns}\n classes={classes}\n />\n );\n });\n }\n\n return (\n <DataTableRoot\n className={className}\n kind={kind}\n bodyScrollMode={bodyScrollMode}\n classes={classes}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n >\n <DataTableHeader\n columns={columns}\n kind={kind}\n density={density}\n headerBehavior={headerBehavior}\n headerClassName={headerClassName}\n gridTemplateClassName={gridTemplateClassName}\n gridTemplateColumns={gridTemplateColumns}\n classes={classes}\n />\n <DataTableBody\n className={bodyClassName}\n kind={kind}\n bodyScrollMode={bodyScrollMode}\n classes={classes}\n >\n {rowsContent}\n {bodyFooterNode}\n </DataTableBody>\n </DataTableRoot>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsiveRecordList.js","names":[],"sources":["../../../../src/components/data-table/ResponsiveRecordList.tsx"],"sourcesContent":["import { useEffect, useState, type JSX, type ReactNode } from 'react';\n\nimport {\n DataTable,\n type DataTableColumn,\n type DataTableDensity,\n type DataTableProps,\n} from './DataTable.js';\nimport * as styles from './ResponsiveRecordList.css.js';\nimport { cx } from '../../theme/tools.js';\n\nconst CARDS_MEDIA_QUERY = '(max-width: 767px)';\n\nexport type ResponsiveRecordListMode = 'table' | 'cards' | 'auto';\nexport type ResponsiveRecordListDensity = DataTableDensity;\n\nexport type ResponsiveRecordListColumn<Row> = DataTableColumn<Row> & {\n priority?: 'primary' | 'important' | 'secondary' | 'debug';\n mobileRole?:\n | 'title'\n | 'subtitle'\n | 'meta'\n | 'badge'\n | 'status'\n | 'action'\n | 'hidden';\n};\n\nexport type ResponsiveRecordListProps<Row> = Omit<\n DataTableProps<Row>,\n 'columns'\n> & {\n columns: readonly ResponsiveRecordListColumn<Row>[];\n mode?: ResponsiveRecordListMode;\n density?: ResponsiveRecordListDensity;\n renderAction?: (row: Row) => ReactNode;\n};\n\nconst renderCellText = <Row,>(\n column: ResponsiveRecordListColumn<Row> | null,\n row: Row,\n): ReactNode => {\n if (column == null) {\n return null;\n }\n return column.cell(row);\n};\n\nconst findColumn = <Row,>(\n columns: readonly ResponsiveRecordListColumn<Row>[],\n role: ResponsiveRecordListColumn<Row>['mobileRole'],\n): ResponsiveRecordListColumn<Row> | null => {\n return (\n columns.find((column) => {\n return column.mobileRole === role;\n }) ?? null\n );\n};\n\nconst isMetaColumn = <Row,>(\n column: ResponsiveRecordListColumn<Row>,\n): boolean => {\n if (column.mobileRole === 'hidden') {\n return false;\n }\n if (column.mobileRole === 'meta') {\n return true;\n }\n if (column.mobileRole != null) {\n return false;\n }\n return column.priority === 'important' || column.priority === 'secondary';\n};\n\nconst useIsCardsViewport = (): boolean => {\n const [matches, setMatches] = useState(() => {\n if (typeof window === 'undefined') {\n return false;\n }\n return window.matchMedia(CARDS_MEDIA_QUERY).matches;\n });\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n const mediaQuery = window.matchMedia(CARDS_MEDIA_QUERY);\n const handleChange = () => {\n setMatches(mediaQuery.matches);\n };\n\n handleChange();\n mediaQuery.addEventListener('change', handleChange);\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange);\n };\n }, []);\n\n return matches;\n};\n\nexport const ResponsiveRecordList = <Row,>({\n columns,\n rows,\n getRowId,\n mode = 'auto',\n density = 'compact',\n renderAction,\n className,\n bodyScrollMode,\n ...tableProps\n}: ResponsiveRecordListProps<Row>): JSX.Element => {\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n const isCardsViewport = useIsCardsViewport();\n let containedRootClassName: string | null = null;\n let cardsViewportClassName: string | undefined;\n let containedCardsOnlyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedRootClassName = styles.containedRoot;\n cardsViewportClassName = styles.cardsViewport;\n containedCardsOnlyClassName = styles.cardsViewport;\n }\n const titleColumn =\n findColumn(columns, 'title') ??\n columns.find((column) => {\n return column.isPrimary === true || column.priority === 'primary';\n }) ??\n columns[0] ??\n null;\n const subtitleColumn = findColumn(columns, 'subtitle');\n const badgeColumns = columns.filter((column) => {\n return column.mobileRole === 'badge' || column.mobileRole === 'status';\n });\n const metaColumns = columns.filter((column) => {\n return (\n column !== titleColumn &&\n column !== subtitleColumn &&\n isMetaColumn(column)\n );\n });\n\n let cards: JSX.Element = <>{tableProps.emptyState ?? null}</>;\n if (rows.length > 0) {\n cards = (\n <div className={styles.cards}>\n {rows.map((row, index) => {\n const rowId = getRowId(row, index);\n const title = renderCellText(titleColumn, row);\n const subtitle = renderCellText(subtitleColumn, row);\n const action = renderAction?.(row);\n let subtitleNode: JSX.Element | null = null;\n if (subtitle != null && subtitle !== '') {\n subtitleNode = (\n <div className={styles.cardSubtitle}>{subtitle}</div>\n );\n }\n let actionNode: JSX.Element | null = null;\n if (action != null) {\n actionNode = <div className={styles.cardActions}>{action}</div>;\n }\n let badgeNode: JSX.Element | null = null;\n if (badgeColumns.length > 0) {\n badgeNode = (\n <div className={styles.cardBadges}>\n {badgeColumns.map((column) => {\n return <span key={column.id}>{column.cell(row)}</span>;\n })}\n </div>\n );\n }\n let metaNode: JSX.Element | null = null;\n if (metaColumns.length > 0) {\n metaNode = (\n <dl className={styles.cardMetaGrid}>\n {metaColumns.map((column) => {\n return (\n <div key={column.id} className={styles.cardMetaItem}>\n <dt className={styles.cardMetaLabel}>{column.header}</dt>\n <dd className={styles.cardMetaValue}>\n {column.cell(row)}\n </dd>\n </div>\n );\n })}\n </dl>\n );\n }\n\n return (\n <article key={rowId} className={styles.card({ density })}>\n <div className={styles.cardHeader}>\n <div className={styles.cardTitleGroup}>\n <div className={styles.cardTitle}>{title}</div>\n {subtitleNode}\n </div>\n {actionNode}\n </div>\n {badgeNode}\n {metaNode}\n </article>\n );\n })}\n </div>\n );\n }\n\n if (mode === 'cards') {\n return (\n <div className={cx(className, containedRootClassName)}>\n <div className={cardsViewportClassName}>\n {cards}\n {tableProps.bodyFooterNode}\n </div>\n </div>\n );\n }\n\n if (mode === 'table') {\n return (\n <DataTable\n {...tableProps}\n rows={rows}\n columns={columns}\n getRowId={getRowId}\n className={className}\n density={density}\n bodyScrollMode={bodyScrollMode}\n bodyFooterNode={tableProps.bodyFooterNode}\n />\n );\n }\n\n let tableBodyFooterNode = tableProps.bodyFooterNode;\n let cardsBodyFooterNode: ReactNode = null;\n if (isCardsViewport) {\n tableBodyFooterNode = null;\n cardsBodyFooterNode = tableProps.bodyFooterNode;\n }\n\n return (\n <div className={cx(className, containedRootClassName)}>\n <DataTable\n {...tableProps}\n rows={rows}\n columns={columns}\n getRowId={getRowId}\n density={density}\n className={styles.tableOnly}\n bodyScrollMode={bodyScrollMode}\n bodyFooterNode={tableBodyFooterNode}\n />\n <div className={cx(styles.cardsOnly, containedCardsOnlyClassName)}>\n {cards}\n {cardsBodyFooterNode}\n </div>\n </div>\n );\n};\n\nexport default ResponsiveRecordList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ResponsiveRecordList.js","names":[],"sources":["../../../../src/components/data-table/ResponsiveRecordList.tsx"],"sourcesContent":["import { useEffect, useState, type JSX, type ReactNode } from 'react';\n\nimport {\n DataTable,\n type DataTableColumn,\n type DataTableDensity,\n type DataTableProps,\n} from './DataTable.js';\nimport * as styles from './ResponsiveRecordList.css.js';\nimport { cx } from '../../theme/tools.js';\n\nconst CARDS_MEDIA_QUERY = '(max-width: 767px)';\n\nexport type ResponsiveRecordListMode = 'table' | 'cards' | 'auto';\nexport type ResponsiveRecordListDensity = DataTableDensity;\nexport type ResponsiveRecordListColumn<Row> = DataTableColumn<Row>;\n\nexport type ResponsiveRecordListProps<Row> = Omit<\n DataTableProps<Row>,\n 'columns'\n> & {\n columns: readonly ResponsiveRecordListColumn<Row>[];\n mode?: ResponsiveRecordListMode;\n density?: ResponsiveRecordListDensity;\n renderAction?: (row: Row) => ReactNode;\n};\n\nconst renderCellText = <Row,>(\n column: ResponsiveRecordListColumn<Row> | null,\n row: Row,\n): ReactNode => {\n if (column == null) {\n return null;\n }\n return column.cell(row);\n};\n\nconst findColumn = <Row,>(\n columns: readonly ResponsiveRecordListColumn<Row>[],\n role: ResponsiveRecordListColumn<Row>['mobileRole'],\n): ResponsiveRecordListColumn<Row> | null => {\n return (\n columns.find((column) => {\n return column.mobileRole === role;\n }) ?? null\n );\n};\n\nconst isMetaColumn = <Row,>(\n column: ResponsiveRecordListColumn<Row>,\n): boolean => {\n if (column.mobileRole === 'hidden') {\n return false;\n }\n if (column.mobileRole === 'meta') {\n return true;\n }\n if (column.mobileRole != null) {\n return false;\n }\n return column.priority === 'important' || column.priority === 'secondary';\n};\n\nconst useIsCardsViewport = (): boolean => {\n const [matches, setMatches] = useState(() => {\n if (typeof window === 'undefined') {\n return false;\n }\n return window.matchMedia(CARDS_MEDIA_QUERY).matches;\n });\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n const mediaQuery = window.matchMedia(CARDS_MEDIA_QUERY);\n const handleChange = () => {\n setMatches(mediaQuery.matches);\n };\n\n handleChange();\n mediaQuery.addEventListener('change', handleChange);\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange);\n };\n }, []);\n\n return matches;\n};\n\nexport const ResponsiveRecordList = <Row,>({\n columns,\n rows,\n getRowId,\n mode = 'auto',\n density = 'compact',\n renderAction,\n className,\n bodyScrollMode,\n ...tableProps\n}: ResponsiveRecordListProps<Row>): JSX.Element => {\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n const isCardsViewport = useIsCardsViewport();\n let containedRootClassName: string | null = null;\n let cardsViewportClassName: string | undefined;\n let containedCardsOnlyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedRootClassName = styles.containedRoot;\n cardsViewportClassName = styles.cardsViewport;\n containedCardsOnlyClassName = styles.cardsViewport;\n }\n const titleColumn =\n findColumn(columns, 'title') ??\n columns.find((column) => {\n return column.isPrimary === true || column.priority === 'primary';\n }) ??\n columns[0] ??\n null;\n const subtitleColumn = findColumn(columns, 'subtitle');\n const badgeColumns = columns.filter((column) => {\n return column.mobileRole === 'badge' || column.mobileRole === 'status';\n });\n const metaColumns = columns.filter((column) => {\n return (\n column !== titleColumn &&\n column !== subtitleColumn &&\n isMetaColumn(column)\n );\n });\n\n let cards: JSX.Element = <>{tableProps.emptyState ?? null}</>;\n if (rows.length > 0) {\n cards = (\n <div className={styles.cards}>\n {rows.map((row, index) => {\n const rowId = getRowId(row, index);\n const title = renderCellText(titleColumn, row);\n const subtitle = renderCellText(subtitleColumn, row);\n const action = renderAction?.(row);\n let subtitleNode: JSX.Element | null = null;\n if (subtitle != null && subtitle !== '') {\n subtitleNode = (\n <div className={styles.cardSubtitle}>{subtitle}</div>\n );\n }\n let actionNode: JSX.Element | null = null;\n if (action != null) {\n actionNode = <div className={styles.cardActions}>{action}</div>;\n }\n let badgeNode: JSX.Element | null = null;\n if (badgeColumns.length > 0) {\n badgeNode = (\n <div className={styles.cardBadges}>\n {badgeColumns.map((column) => {\n return <span key={column.id}>{column.cell(row)}</span>;\n })}\n </div>\n );\n }\n let metaNode: JSX.Element | null = null;\n if (metaColumns.length > 0) {\n metaNode = (\n <dl className={styles.cardMetaGrid}>\n {metaColumns.map((column) => {\n return (\n <div key={column.id} className={styles.cardMetaItem}>\n <dt className={styles.cardMetaLabel}>{column.header}</dt>\n <dd className={styles.cardMetaValue}>\n {column.cell(row)}\n </dd>\n </div>\n );\n })}\n </dl>\n );\n }\n\n return (\n <article key={rowId} className={styles.card({ density })}>\n <div className={styles.cardHeader}>\n <div className={styles.cardTitleGroup}>\n <div className={styles.cardTitle}>{title}</div>\n {subtitleNode}\n </div>\n {actionNode}\n </div>\n {badgeNode}\n {metaNode}\n </article>\n );\n })}\n </div>\n );\n }\n\n if (mode === 'cards') {\n return (\n <div className={cx(className, containedRootClassName)}>\n <div className={cardsViewportClassName}>\n {cards}\n {tableProps.bodyFooterNode}\n </div>\n </div>\n );\n }\n\n if (mode === 'table') {\n return (\n <DataTable\n {...tableProps}\n rows={rows}\n columns={columns}\n getRowId={getRowId}\n className={className}\n density={density}\n bodyScrollMode={bodyScrollMode}\n bodyFooterNode={tableProps.bodyFooterNode}\n />\n );\n }\n\n let tableBodyFooterNode = tableProps.bodyFooterNode;\n let cardsBodyFooterNode: ReactNode = null;\n if (isCardsViewport) {\n tableBodyFooterNode = null;\n cardsBodyFooterNode = tableProps.bodyFooterNode;\n }\n\n return (\n <div className={cx(className, containedRootClassName)}>\n <DataTable\n {...tableProps}\n rows={rows}\n columns={columns}\n getRowId={getRowId}\n density={density}\n className={styles.tableOnly}\n bodyScrollMode={bodyScrollMode}\n bodyFooterNode={tableBodyFooterNode}\n />\n <div className={cx(styles.cardsOnly, containedCardsOnlyClassName)}>\n {cards}\n {cardsBodyFooterNode}\n </div>\n </div>\n );\n};\n\nexport default ResponsiveRecordList;\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/data-table/VirtualizedConnectionTable.css.ts
4
- var e = "_1ifyzte0 txvbqb18xk txvbqbusr txvbqb16g0 txvbqbt9i", t = "_1ifyzte1 txvbqb11js", n = "_1ifyzte2 txvbqb17w0", r = "_1ifyzte3 txvbqb17w0 txvbqbhlj";
4
+ var e = "_1ifyzte0 txvbqb11js", t = "_1ifyzte1 txvbqb17w0", n = "_1ifyzte2 txvbqb17w0 txvbqbhlj";
5
5
  //#endregion
6
- export { t as bodyViewport, r as sentinel, e as singleLineCell, n as spacer };
6
+ export { e as bodyViewport, n as sentinel, t as spacer };
7
7
 
8
8
  //# sourceMappingURL=VirtualizedConnectionTable.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedConnectionTable.css.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.css.ts"],"sourcesContent":["import { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const singleLineCell = sprinkles({\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 0,\n});\n\nexport const bodyViewport = sprinkles({\n position: 'relative',\n});\n\nexport const spacer = sprinkles({\n width: 'full',\n});\n\nexport const sentinel = sprinkles({\n width: 'full',\n height: 1,\n});\n"],"mappings":""}
1
+ {"version":3,"file":"VirtualizedConnectionTable.css.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.css.ts"],"sourcesContent":["import { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const bodyViewport = sprinkles({\n position: 'relative',\n});\n\nexport const spacer = sprinkles({\n width: 'full',\n});\n\nexport const sentinel = sprinkles({\n width: 'full',\n height: 1,\n});\n"],"mappings":""}