@plumile/ui 0.1.120 → 0.1.122

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 (286) hide show
  1. package/README.md +12 -0
  2. package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +1 -1
  3. package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +3 -2
  4. package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -1
  5. package/lib/esm/admin/theme/adminDensity.css.js.map +1 -1
  6. package/lib/esm/admin/theme/adminSurface.css.js.map +1 -1
  7. package/lib/esm/atomic/atoms/badge/badge.css.js +7 -7
  8. package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
  9. package/lib/esm/atomic/atoms/button/button.css.js +38 -38
  10. package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
  11. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +8 -8
  12. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
  13. package/lib/esm/atomic/atoms/error_message/errorMessage.css.js +1 -1
  14. package/lib/esm/atomic/atoms/input/input.css.js +9 -9
  15. package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
  16. package/lib/esm/atomic/atoms/label/label.css.js +7 -7
  17. package/lib/esm/atomic/atoms/modal/Modal.js +1 -1
  18. package/lib/esm/atomic/atoms/modal/modal.css.js +1 -1
  19. package/lib/esm/atomic/atoms/modal/modal.css.js.map +1 -1
  20. package/lib/esm/atomic/atoms/overlay/overlay.css.js +1 -1
  21. package/lib/esm/atomic/atoms/textarea/textarea.css.js +8 -8
  22. package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
  23. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +1 -1
  24. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +1 -1
  25. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -1
  26. package/lib/esm/atomic/molecules/card/Card.css.js +1 -1
  27. package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js +1 -1
  28. package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js.map +1 -1
  29. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +1 -1
  30. package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js +1 -1
  31. package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js +1 -1
  32. package/lib/esm/atomic/molecules/form/formStyles.css.js +1 -1
  33. package/lib/esm/atomic/molecules/form_error/formError.css.js +1 -1
  34. package/lib/esm/atomic/molecules/form_field/formField.css.js +1 -1
  35. package/lib/esm/atomic/molecules/highlight/HighlightCode.css.js +1 -1
  36. package/lib/esm/atomic/molecules/highlight/highlightStyles.css.js +1 -1
  37. package/lib/esm/atomic/molecules/markdown/LazyMarkdownRenderer.css.js +1 -1
  38. package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js +1 -1
  39. package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js.map +1 -1
  40. package/lib/esm/atomic/molecules/markdown/components/MarkdownBlockquote.css.js +1 -1
  41. package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js +1 -1
  42. package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js.map +1 -1
  43. package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js +1 -1
  44. package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js.map +1 -1
  45. package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js.map +1 -1
  46. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteDefinition.css.js +1 -1
  47. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js +1 -2
  48. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js.map +1 -1
  49. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnotesSection.css.js +1 -1
  50. package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +7 -7
  51. package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js.map +1 -1
  52. package/lib/esm/atomic/molecules/markdown/components/MarkdownHtmlFallback.css.js +1 -1
  53. package/lib/esm/atomic/molecules/markdown/components/MarkdownImage.css.js +1 -1
  54. package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js +1 -1
  55. package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js.map +1 -1
  56. package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js +1 -1
  57. package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js.map +1 -1
  58. package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js +1 -1
  59. package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js.map +1 -1
  60. package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js +1 -1
  61. package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js.map +1 -1
  62. package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js +1 -1
  63. package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js.map +1 -1
  64. package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.css.js +1 -1
  65. package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js +1 -1
  66. package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js.map +1 -1
  67. package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js +1 -1
  68. package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js.map +1 -1
  69. package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js +1 -1
  70. package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js.map +1 -1
  71. package/lib/esm/atomic/molecules/markdown/components/MarkdownSuperscript.css.js +1 -1
  72. package/lib/esm/atomic/molecules/markdown/components/MarkdownSuperscript.css.js.map +1 -1
  73. package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js +2 -1
  74. package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js.map +1 -1
  75. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCaption.css.js +1 -1
  76. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js +1 -1
  77. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js.map +1 -1
  78. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHead.css.js +1 -1
  79. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHeaderCell.css.js +1 -1
  80. package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js +1 -1
  81. package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js.map +1 -1
  82. package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js +1 -1
  83. package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js.map +1 -1
  84. package/lib/esm/atomic/molecules/markdown/components/MarkdownThematicBreak.css.js +1 -1
  85. package/lib/esm/atomic/molecules/tabs/tabs.css.js +4 -4
  86. package/lib/esm/atomic/molecules/toast/toast.css.js +2 -2
  87. package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -1
  88. package/lib/esm/atomic/organisms/login_form/loginForm.css.js +1 -1
  89. package/lib/esm/atomic/organisms/sidebar/SidebarContainer.js +2 -2
  90. package/lib/esm/atomic/organisms/sidebar/navigationSidebar.css.js +13 -13
  91. package/lib/esm/atomic/organisms/sidebar/sidebar.css.js +2 -2
  92. package/lib/esm/atomic/templates/auth_layout/authLayout.css.js +1 -1
  93. package/lib/esm/atomic/templates/detail-page/DetailPage.js +4 -4
  94. package/lib/esm/atomic/templates/detail-page/detailPage.css.js +1 -1
  95. package/lib/esm/atomic/templates/page-container/PageContainer.js +3 -3
  96. package/lib/esm/atomic/templates/page-container/pageContainer.css.js +1 -1
  97. package/lib/esm/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.js +1 -1
  98. package/lib/esm/backoffice/atoms/copyable_text/copyableText.css.js +1 -1
  99. package/lib/esm/backoffice/atoms/environment_badge/environmentBadge.css.js +1 -1
  100. package/lib/esm/backoffice/atoms/shortcut_hint/shortcutHint.css.js +1 -1
  101. package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js +5 -5
  102. package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js.map +1 -1
  103. package/lib/esm/backoffice/atoms/spinner/spinner.css.js +1 -1
  104. package/lib/esm/backoffice/atoms/spinner/spinner.css.js.map +1 -1
  105. package/lib/esm/backoffice/atoms/status_badge/statusBadge.css.js +1 -1
  106. package/lib/esm/backoffice/atoms/tag/tag.css.js +7 -7
  107. package/lib/esm/backoffice/atoms/tag/tag.css.js.map +1 -1
  108. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +1 -1
  109. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +1 -1
  110. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js +7 -7
  111. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js +1 -1
  112. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js.map +1 -1
  113. package/lib/esm/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.js +1 -1
  114. package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js +1 -1
  115. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +3 -3
  116. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +1 -1
  117. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js +2 -2
  118. package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js +1 -1
  119. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.js +1 -1
  120. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +1 -1
  121. package/lib/esm/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.js +1 -1
  122. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +1 -1
  123. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js +1 -1
  124. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js.map +1 -1
  125. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +4 -4
  126. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +1 -1
  127. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +4 -4
  128. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js +1 -1
  129. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js.map +1 -1
  130. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.js +4 -4
  131. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +8 -8
  132. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +1 -1
  133. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +1 -1
  134. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +8 -8
  135. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +1 -1
  136. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +1 -1
  137. package/lib/esm/backoffice/molecules/confirm_dialog/confirmDialog.css.js +1 -1
  138. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js +1 -1
  139. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js.map +1 -1
  140. package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js +1 -1
  141. package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js.map +1 -1
  142. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js +6 -6
  143. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js.map +1 -1
  144. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js +1 -1
  145. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js.map +1 -1
  146. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +1 -1
  147. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -1
  148. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +5 -5
  149. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +1 -1
  150. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -1
  151. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +4 -4
  152. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js.map +1 -1
  153. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +5 -5
  154. package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js +1 -1
  155. package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js +1 -1
  156. package/lib/esm/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.js +1 -1
  157. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js +1 -1
  158. package/lib/esm/backoffice/organisms/entity_header/entityHeader.css.js +1 -1
  159. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +2 -2
  160. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +2 -2
  161. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js.map +1 -1
  162. package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js +1 -1
  163. package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js.map +1 -1
  164. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js +10 -10
  165. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js.map +1 -1
  166. package/lib/esm/components/agent/AgentMarkdownCard.css.js +1 -1
  167. package/lib/esm/components/charts/metricHistoryChart.css.js +1 -1
  168. package/lib/esm/components/charts/timeSeriesLineChart.css.js +1 -1
  169. package/lib/esm/components/dashboard/activity_card/ActivityCard.css.js +1 -1
  170. package/lib/esm/components/dashboard/activity_card/ActivityCard.js +2 -2
  171. package/lib/esm/components/dashboard/activity_feed/ActivityFeed.css.js +1 -1
  172. package/lib/esm/components/dashboard/dashboard_grid/DashboardGrid.css.js +21 -21
  173. package/lib/esm/components/dashboard/dashboard_grid/DashboardGrid.css.js.map +1 -1
  174. package/lib/esm/components/dashboard/metadata_strip/MetadataStrip.css.js +1 -1
  175. package/lib/esm/components/dashboard/metric_card/MetricCard.css.js +1 -1
  176. package/lib/esm/components/dashboard/metric_card/MetricCard.js +2 -2
  177. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js +1 -1
  178. package/lib/esm/components/dashboard/page_hero/PageHero.css.js +1 -1
  179. package/lib/esm/components/dashboard/page_hero/PageHero.js +3 -3
  180. package/lib/esm/components/dashboard/section_nav/SectionNav.css.js +1 -1
  181. package/lib/esm/components/dashboard/section_nav/SectionNav.css.js.map +1 -1
  182. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js +1 -1
  183. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js.map +1 -1
  184. package/lib/esm/components/dashboard/selectable_card/SelectableCard.css.js +1 -1
  185. package/lib/esm/components/dashboard/selectable_card/SelectableCard.css.js.map +1 -1
  186. package/lib/esm/components/dashboard/selectable_card/SelectableCard.js +2 -2
  187. package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.css.js +1 -1
  188. package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.js +1 -1
  189. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js +1 -1
  190. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js +2 -2
  191. package/lib/esm/components/data-table/DataTable.css.js +28 -28
  192. package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
  193. package/lib/esm/components/data-table/ResponsiveRecordList.css.js +6 -6
  194. package/lib/esm/components/data-table/TableCell.css.js +2 -2
  195. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +1 -1
  196. package/lib/esm/components/data-table/VirtualizedConnectionTable.js +1 -1
  197. package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
  198. package/lib/esm/components/feedback/OperationFeedback.css.js +1 -1
  199. package/lib/esm/components/feedback/OperationFeedback.js +1 -1
  200. package/lib/esm/components/infinite/InfiniteScrollTrigger.js +1 -1
  201. package/lib/esm/components/infinite/infiniteScrollTrigger.css.js +1 -1
  202. package/lib/esm/components/layout/ActionPanel.css.js +1 -1
  203. package/lib/esm/components/layout/ActionPanel.js +3 -3
  204. package/lib/esm/components/layout/ActionPanel.js.map +1 -1
  205. package/lib/esm/components/layout/AppHeader.css.js +1 -1
  206. package/lib/esm/components/layout/AppHeader.js +4 -4
  207. package/lib/esm/components/layout/ContentLayout.css.js +1 -1
  208. package/lib/esm/components/layout/ContentLayout.js +2 -2
  209. package/lib/esm/components/layout/DetailSummaryHeader.css.js +1 -1
  210. package/lib/esm/components/layout/DetailSummaryHeader.js +3 -3
  211. package/lib/esm/components/layout/PageShell.css.js +4 -4
  212. package/lib/esm/components/layout/PageShell.js +5 -5
  213. package/lib/esm/components/layout/PageShell.js.map +1 -1
  214. package/lib/esm/components/layout/SettingsLayout.css.js +1 -1
  215. package/lib/esm/components/layout/SplitViewLayout.css.js +1 -1
  216. package/lib/esm/components/layout/TabsContentLayout.css.js +1 -1
  217. package/lib/esm/components/layout/ToolbarRow.css.js +1 -1
  218. package/lib/esm/components/media/imagePreviewModal.css.js +5 -5
  219. package/lib/esm/components/responsive/ResponsiveCollectionRenderer.css.js +1 -1
  220. package/lib/esm/components/responsive/ResponsiveCollectionRenderer.css.js.map +1 -1
  221. package/lib/esm/components/routing/routeFallback.css.js +1 -1
  222. package/lib/esm/components/routing/routeFallback.css.js.map +1 -1
  223. package/lib/esm/components/routing/routePendingBar.css.js +1 -1
  224. package/lib/esm/components/routing/routePendingBar.css.js.map +1 -1
  225. package/lib/esm/components/select/SimpleSelect.css.js +14 -14
  226. package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
  227. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +1 -1
  228. package/lib/esm/components/tile/InfoTile.css.js +1 -1
  229. package/lib/esm/components/tile/InfoTile.css.js.map +1 -1
  230. package/lib/esm/components/tile/InfoTile.js +3 -3
  231. package/lib/esm/index.js +257 -255
  232. package/lib/esm/shared/backofficeTableDensity.css.js.map +1 -1
  233. package/lib/esm/style.css +1 -1
  234. package/lib/esm/theme/accessibility.css.js +1 -1
  235. package/lib/esm/theme/accessibility.css.js.map +1 -1
  236. package/lib/esm/theme/index.js +12 -10
  237. package/lib/esm/theme/sprinkles.css.js +73323 -51658
  238. package/lib/esm/theme/sprinkles.css.js.map +1 -1
  239. package/lib/esm/theme/styleRecipes.css.js +19 -0
  240. package/lib/esm/theme/styleRecipes.css.js.map +1 -0
  241. package/lib/esm/theme/theme-dark.css.js.map +1 -1
  242. package/lib/esm/theme/theme-light.css.js +23 -2
  243. package/lib/esm/theme/theme-light.css.js.map +1 -1
  244. package/lib/esm/theme/theme.css.js +23 -2
  245. package/lib/esm/theme/themeContract.js +23 -2
  246. package/lib/esm/theme/themeContract.js.map +1 -1
  247. package/lib/types/atomic/atoms/button/button.css.d.ts.map +1 -1
  248. package/lib/types/atomic/atoms/checkbox/checkbox.css.d.ts.map +1 -1
  249. package/lib/types/atomic/atoms/input/input.css.d.ts.map +1 -1
  250. package/lib/types/atomic/atoms/modal/modal.css.d.ts.map +1 -1
  251. package/lib/types/atomic/atoms/textarea/textarea.css.d.ts.map +1 -1
  252. package/lib/types/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.d.ts.map +1 -1
  253. package/lib/types/atomic/molecules/toast/toast.css.d.ts.map +1 -1
  254. package/lib/types/backoffice/atoms/tag/tag.css.d.ts.map +1 -1
  255. package/lib/types/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.d.ts.map +1 -1
  256. package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts.map +1 -1
  257. package/lib/types/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.d.ts.map +1 -1
  258. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +1 -1
  259. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +1 -1
  260. package/lib/types/backoffice/molecules/filter_chip_row/filterChipRow.css.d.ts.map +1 -1
  261. package/lib/types/backoffice/molecules/global_search_input/globalSearchInput.css.d.ts.map +1 -1
  262. package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts.map +1 -1
  263. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.d.ts.map +1 -1
  264. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -1
  265. package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts.map +1 -1
  266. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -1
  267. package/lib/types/backoffice/templates/list_page_template/listPageTemplate.css.d.ts.map +1 -1
  268. package/lib/types/components/dashboard/dashboard_grid/DashboardGrid.css.d.ts.map +1 -1
  269. package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts.map +1 -1
  270. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts.map +1 -1
  271. package/lib/types/components/dashboard/selectable_card/SelectableCard.css.d.ts.map +1 -1
  272. package/lib/types/components/select/SimpleSelect.css.d.ts.map +1 -1
  273. package/lib/types/components/tile/InfoTile.css.d.ts.map +1 -1
  274. package/lib/types/shared/backofficeTableDensity.css.d.ts.map +1 -1
  275. package/lib/types/theme/index.d.ts +2 -0
  276. package/lib/types/theme/index.d.ts.map +1 -1
  277. package/lib/types/theme/sprinkles.css.d.ts +684 -60
  278. package/lib/types/theme/sprinkles.css.d.ts.map +1 -1
  279. package/lib/types/theme/styleRecipes.css.d.ts +29 -0
  280. package/lib/types/theme/styleRecipes.css.d.ts.map +1 -0
  281. package/lib/types/theme/theme-dark.css.d.ts.map +1 -1
  282. package/lib/types/theme/theme-light.css.d.ts +21 -0
  283. package/lib/types/theme/theme-light.css.d.ts.map +1 -1
  284. package/lib/types/theme/themeContract.d.ts +21 -0
  285. package/lib/types/theme/themeContract.d.ts.map +1 -1
  286. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/metric_card/MetricCard.css.ts
4
- var e = "_177uje60 txvbqb9ip txvbqbai7 txvbqbaog", t = "_177uje61 txvbqb9ip txvbqbcg txvbqbdpp txvbqbaog", n = "_177uje62 txvbqbfcp txvbqb8y txvbqbva1", r = "_177uje63 txvbqbfcp txvbqb9y txvbqba9 txvbqbamy txvbqbv9z", i = "_177uje64 txvbqbfcp txvbqb8y txvbqbva1", a = "_177uje65 txvbqb9jg txvbqbcp txvbqbdoy txvbqbva1";
4
+ var e = "_177uje60 txvbqbdr8 txvbqbf6i txvbqbffj", t = "_177uje61 txvbqbdr8 txvbqbel txvbqbjus txvbqbffj", n = "_177uje62 txvbqbm9g txvbqb9j txvbqb19cb", r = "_177uje63 txvbqbm9g txvbqbaz txvbqbbe txvbqbfdd txvbqb19c9", i = "_177uje64 txvbqbm9g txvbqb9j txvbqb19cb", a = "_177uje65 txvbqbdsb txvbqbey txvbqbjtp txvbqb19cb";
5
5
  //#endregion
6
6
  export { i as hint, a as icon, n as label, e as root, t as top, r as value };
7
7
 
@@ -16,11 +16,11 @@ var s = ({ actions: s, className: c, hint: l, icon: u, label: d, value: f }) =>
16
16
  className: i,
17
17
  children: f
18
18
  })] }), u != null && /* @__PURE__ */ a("div", {
19
- className: "_177uje65 txvbqb9jg txvbqbcp txvbqbdoy txvbqbva1",
19
+ className: "_177uje65 txvbqbdsb txvbqbey txvbqbjtp txvbqb19cb",
20
20
  children: u
21
21
  })]
22
22
  }), l != null && /* @__PURE__ */ a("p", {
23
- className: "_177uje64 txvbqbfcp txvbqb8y txvbqbva1",
23
+ className: "_177uje64 txvbqbm9g txvbqb9j txvbqb19cb",
24
24
  children: l
25
25
  })]
26
26
  })
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/metric_tile_group/MetricTileGroup.css.ts
4
- var e = "_1p0u7xj0 txvbqb9iy txvbqbaog txvbqbu7g txvbqbc0y";
4
+ var e = "_1p0u7xj0 txvbqbdrl txvbqbffj txvbqb17w0 txvbqbhf1";
5
5
  //#endregion
6
6
  export { e as root };
7
7
 
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/page_hero/PageHero.css.ts
4
- var e = "_1oey25i0 txvbqbnwy txvbqbok7 txvbqbp6y txvbqblyp txvbqb9ip txvbqbai7 txvbqbai0 txvbqbcg txvbqbcr txvbqbdpp txvbqbaop txvbqbu7g", t = "_1oey25i1 txvbqb9ip txvbqbai7 txvbqbb9p txvbqbk5y", n = "_1oey25i2 txvbqbfcp txvbqb9y txvbqba9 txvbqbamy txvbqbv9z", r = "_1oey25i3 txvbqbfcp txvbqb8y txvbqbva1 txvbqbjay", i = "_1oey25i4 txvbqb9ip txvbqbcp txvbqbajy txvbqbao7 txvbqbva1 txvbqb8y", a = "_1oey25i5 txvbqb9ip txvbqbcp txvbqbajy txvbqbao7";
4
+ var e = "_1oey25i0 txvbqbypl txvbqbzn6 txvbqb10k1 txvbqbvw4 txvbqbdr8 txvbqbf6i txvbqbf67 txvbqbel txvbqbf0 txvbqbjus txvbqbffw txvbqb17w0", t = "_1oey25i1 txvbqbdr8 txvbqbf6i txvbqbga8 txvbqbt9i", n = "_1oey25i2 txvbqbm9g txvbqbaz txvbqbbe txvbqbfdd txvbqb19c9", r = "_1oey25i3 txvbqbm9g txvbqb9j txvbqb19cb txvbqbryx", i = "_1oey25i4 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6 txvbqb19cb txvbqb9j", a = "_1oey25i5 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6";
5
5
  //#endregion
6
6
  export { a as actions, t as body, i as meta, e as root, r as subtitle, n as title };
7
7
 
@@ -12,16 +12,16 @@ var o = ({ actions: o, className: s, meta: c, subtitle: l, title: u }) => /* @__
12
12
  children: u
13
13
  }),
14
14
  l != null && /* @__PURE__ */ i("div", {
15
- className: "_1oey25i3 txvbqbfcp txvbqb8y txvbqbva1 txvbqbjay",
15
+ className: "_1oey25i3 txvbqbm9g txvbqb9j txvbqb19cb txvbqbryx",
16
16
  children: l
17
17
  }),
18
18
  c != null && /* @__PURE__ */ i("div", {
19
- className: "_1oey25i4 txvbqb9ip txvbqbcp txvbqbajy txvbqbao7 txvbqbva1 txvbqb8y",
19
+ className: "_1oey25i4 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6 txvbqb19cb txvbqb9j",
20
20
  children: c
21
21
  })
22
22
  ]
23
23
  }), o != null && /* @__PURE__ */ i("div", {
24
- className: "_1oey25i5 txvbqb9ip txvbqbcp txvbqbajy txvbqbao7",
24
+ className: "_1oey25i5 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6",
25
25
  children: o
26
26
  })]
27
27
  });
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/section_nav/SectionNav.css.ts
4
- var e = "_1wio3660 txvbqb9ip txvbqbajy txvbqbao7 txvbqbu7g", t = "_1wio3664 _1wio3661 txvbqb4 _1wio3662 txvbqbnw7 txvbqbojg txvbqbp6g txvbqbly7 txvbqb9jg txvbqbcp txvbqbdoy txvbqb1t7 txvbqbv txvbqb8y txvbqbamg txvbqbva1 txvbqbv41 txvbqb77 txvbqb6y txvbqb7k txvbqb3b _1wio3663 txvbqbwm4 txvbqbw4a", n = "_1wio3665 txvbqbv6f txvbqbv3r";
4
+ var e = "_1wio3660 txvbqbdr8 txvbqbf91 txvbqbff6 txvbqb17w0", t = "_1wio3664 _1wio3661 txvbqb4 _1wio3662 txvbqbyoi txvbqbzm3 txvbqb10jb txvbqbvve txvbqbdsb txvbqbey txvbqbjtp txvbqb2is txvbqbv txvbqb9j txvbqbfcn txvbqb19cb txvbqb196b txvbqb7g txvbqb77 txvbqb7t txvbqb3f _1wio3663 txvbqb1bs9 txvbqb1afl", n = "_1wio3665 txvbqb198p txvbqb1961";
5
5
  //#endregion
6
6
  export { n as active, t as item, e as nav };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"SectionNav.css.js","names":[],"sources":["../../../../../src/components/dashboard/section_nav/SectionNav.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const nav = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 2,\n width: 'full',\n});\n\nconst reset = sprinkles({\n all: 'unset',\n});\n\nexport const item = style([\n reset,\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingX: 3,\n paddingY: 2,\n borderRadius: 'full',\n cursor: 'pointer',\n fontSize: 'sm',\n fontWeight: 'medium',\n color: 'textSecondary',\n backgroundColor: 'surface',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n }),\n stateSprinkles({\n color: {\n hover: 'text',\n },\n backgroundColor: {\n hover: 'backgroundSecondary',\n },\n }),\n {\n ':focus-visible': {\n outline: `2px solid ${vars.colors['blue-500']}`,\n outlineOffset: '2px',\n },\n },\n]);\n\nexport const active = sprinkles({\n color: 'white',\n backgroundColor: 'primary',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"SectionNav.css.js","names":[],"sources":["../../../../../src/components/dashboard/section_nav/SectionNav.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const nav = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 2,\n width: 'full',\n});\n\nconst reset = sprinkles({\n all: 'unset',\n});\n\nexport const item = style([\n reset,\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingX: 3,\n paddingY: 2,\n borderRadius: 'full',\n cursor: 'pointer',\n fontSize: 'sm',\n fontWeight: 'medium',\n color: 'textSecondary',\n backgroundColor: 'surface',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n }),\n stateSprinkles({\n color: {\n hover: 'text',\n },\n backgroundColor: {\n hover: 'backgroundSecondary',\n },\n }),\n {\n ':focus-visible': {\n outline: `2px solid ${vars.colors['blue-500']}`,\n outlineOffset: '2px',\n },\n },\n]);\n\nexport const active = sprinkles({\n color: 'white',\n backgroundColor: 'primary',\n});\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/segmented_nav/SegmentedNav.css.ts
4
- var e = "bfnpna0 txvbqb9ip txvbqbajy txvbqbao7 txvbqbu7g", t = "bfnpna4 bfnpna1 txvbqb4 bfnpna2 txvbqbnw7 txvbqbojg txvbqbp6g txvbqbly7 txvbqb9jg txvbqbcp txvbqbdoy txvbqb1t7 txvbqbv txvbqb8y txvbqbamp txvbqbva1 txvbqbv4b txvbqb77 txvbqb6y txvbqb7k txvbqb3b bfnpna3 txvbqbwm4 txvbqbw41", n = "bfnpna5 txvbqbv6f txvbqbv3r";
4
+ var e = "bfnpna0 txvbqbdr8 txvbqbf91 txvbqbff6 txvbqb17w0", t = "bfnpna4 bfnpna1 txvbqb4 bfnpna2 txvbqbyoi txvbqbzm3 txvbqb10jb txvbqbvve txvbqbdsb txvbqbey txvbqbjtp txvbqb2is txvbqbv txvbqb9j txvbqbfd0 txvbqb19cb txvbqb196l txvbqb7g txvbqb77 txvbqb7t txvbqb3f bfnpna3 txvbqb1bs9 txvbqb1aex", n = "bfnpna5 txvbqb198p txvbqb1961";
5
5
  //#endregion
6
6
  export { n as active, t as item, e as nav };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedNav.css.js","names":[],"sources":["../../../../../src/components/dashboard/segmented_nav/SegmentedNav.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const nav = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 2,\n width: 'full',\n});\n\nconst reset = sprinkles({\n all: 'unset',\n});\n\nexport const item = style([\n reset,\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingX: 3,\n paddingY: 2,\n borderRadius: 'full',\n cursor: 'pointer',\n fontSize: 'sm',\n fontWeight: 'semibold',\n color: 'textSecondary',\n backgroundColor: 'backgroundSecondary',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n }),\n stateSprinkles({\n color: {\n hover: 'text',\n },\n backgroundColor: {\n hover: 'surfaceMuted',\n },\n }),\n {\n ':focus-visible': {\n outline: `2px solid ${vars.colors['blue-500']}`,\n outlineOffset: '2px',\n },\n },\n]);\n\nexport const active = sprinkles({\n color: 'white',\n backgroundColor: 'primary',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"SegmentedNav.css.js","names":[],"sources":["../../../../../src/components/dashboard/segmented_nav/SegmentedNav.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const nav = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 2,\n width: 'full',\n});\n\nconst reset = sprinkles({\n all: 'unset',\n});\n\nexport const item = style([\n reset,\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingX: 3,\n paddingY: 2,\n borderRadius: 'full',\n cursor: 'pointer',\n fontSize: 'sm',\n fontWeight: 'semibold',\n color: 'textSecondary',\n backgroundColor: 'backgroundSecondary',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n }),\n stateSprinkles({\n color: {\n hover: 'text',\n },\n backgroundColor: {\n hover: 'surfaceMuted',\n },\n }),\n {\n ':focus-visible': {\n outline: `2px solid ${vars.colors['blue-500']}`,\n outlineOffset: '2px',\n },\n },\n]);\n\nexport const active = sprinkles({\n color: 'white',\n backgroundColor: 'primary',\n});\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/selectable_card/SelectableCard.css.ts
4
- var e = "_1ev8s9e2 _1ev8s9e0 txvbqb4 txvbqbu7g txvbqb9ip txvbqbai7 txvbqbao7 txvbqblb7 txvbqb1cp txvbqb1qg txvbqbwp txvbqb1rg txvbqbv49 txvbqbv txvbqb77 txvbqb6y txvbqb7k _1ev8s9e1 txvbqbwep", t = "_1ev8s9e3 txvbqbsg txvbqbv45", n = "_1ev8s9e4 txvbqb9ip txvbqbdpp txvbqbcp txvbqbao7", r = "_1ev8s9e5 txvbqbamp txvbqbv9z txvbqb8y", i = "_1ev8s9e6 txvbqbva1 txvbqb8p", a = "_1ev8s9e7 txvbqb9ip txvbqbai7 txvbqbao7";
4
+ var e = "_1ev8s9e2 _1ev8s9e0 txvbqb4 txvbqb17w0 txvbqbdr8 txvbqbf6i txvbqbff6 txvbqbuy6 txvbqb1uy txvbqb2et txvbqb17u txvbqb2g9 txvbqb196j txvbqbv txvbqb7g txvbqb77 txvbqb7t _1ev8s9e1 txvbqb1b7d qbwcue6 txvbqb1d2y txvbqb1d37 qbwcue0 txvbqb1cb0 txvbqb1cws", t = "_1ev8s9e3 txvbqb11p txvbqb196f", n = "_1ev8s9e4 txvbqbdr8 txvbqbjus txvbqbey txvbqbff6", r = "_1ev8s9e5 txvbqbfd0 txvbqb19c9 txvbqb9j", i = "_1ev8s9e6 txvbqb19cb txvbqb96", a = "_1ev8s9e7 txvbqbdr8 txvbqbf6i txvbqbff6";
5
5
  //#endregion
6
6
  export { a as body, e as button, i as meta, t as selected, r as title, n as top };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableCard.css.js","names":[],"sources":["../../../../../src/components/dashboard/selectable_card/SelectableCard.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const button = style([\n sprinkles({\n all: 'unset',\n width: 'full',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n padding: 3,\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n borderRadius: 'md',\n backgroundColor: 'background',\n cursor: 'pointer',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n boxShadow: {\n hover: 'sm',\n },\n }),\n {\n ':hover': {\n transform: 'translateY(-1px)',\n },\n ':focus-visible': {\n outline: `2px solid ${vars.colors['blue-500']}`,\n outlineOffset: '2px',\n },\n },\n]);\n\nexport const selected = sprinkles({\n borderColor: 'primary',\n backgroundColor: 'surfaceMuted',\n});\n\nexport const top = sprinkles({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 2,\n});\n\nexport const title = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n fontSize: 'sm',\n});\n\nexport const meta = sprinkles({\n color: 'textSecondary',\n fontSize: 'xs',\n});\n\nexport const body = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n});\n"],"mappings":""}
1
+ {"version":3,"file":"SelectableCard.css.js","names":[],"sources":["../../../../../src/components/dashboard/selectable_card/SelectableCard.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles } from '../../../theme/sprinkles.css.js';\nimport { focusRing, liftOnHover } from '../../../theme/styleRecipes.css.js';\n\nexport const button = style([\n sprinkles({\n all: 'unset',\n width: 'full',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n padding: 3,\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n borderRadius: 'md',\n backgroundColor: 'background',\n cursor: 'pointer',\n transitionProperty: 'default',\n transitionDuration: 160,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n boxShadow: {\n hover: 'sm',\n },\n }),\n liftOnHover,\n focusRing,\n]);\n\nexport const selected = sprinkles({\n borderColor: 'primary',\n backgroundColor: 'surfaceMuted',\n});\n\nexport const top = sprinkles({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 2,\n});\n\nexport const title = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n fontSize: 'sm',\n});\n\nexport const meta = sprinkles({\n color: 'textSecondary',\n fontSize: 'xs',\n});\n\nexport const body = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n});\n"],"mappings":""}
@@ -15,11 +15,11 @@ var s = ({ children: s, className: c, meta: l, onSelect: u, selected: d = !1, ti
15
15
  }), p]
16
16
  }),
17
17
  l != null && /* @__PURE__ */ a("div", {
18
- className: "_1ev8s9e6 txvbqbva1 txvbqb8p",
18
+ className: "_1ev8s9e6 txvbqb19cb txvbqb96",
19
19
  children: l
20
20
  }),
21
21
  s != null && /* @__PURE__ */ a("div", {
22
- className: "_1ev8s9e7 txvbqb9ip txvbqbai7 txvbqbao7",
22
+ className: "_1ev8s9e7 txvbqbdr8 txvbqbf6i txvbqbff6",
23
23
  children: s
24
24
  })
25
25
  ]
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/status_summary_panel/StatusSummaryPanel.css.ts
4
- var e = "_1geqsra0 txvbqb9ip txvbqbai7 txvbqbaog", t = "_1geqsra1 txvbqb9ip txvbqbdpp txvbqbcp txvbqbao7", n = "_1geqsra2 txvbqb8y txvbqbva1";
4
+ var e = "_1geqsra0 txvbqbdr8 txvbqbf6i txvbqbffj", t = "_1geqsra1 txvbqbdr8 txvbqbjus txvbqbey txvbqbff6", n = "_1geqsra2 txvbqb9j txvbqb19cb";
5
5
  //#endregion
6
6
  export { n as help, e as root, t as row };
7
7
 
@@ -21,7 +21,7 @@ var c = ({ className: c, help: l, items: u = [], status: d, statusLabel: f, stat
21
21
  h != null && /* @__PURE__ */ o(e, { value: h }),
22
22
  u.length > 0 && /* @__PURE__ */ o(r, { items: u }),
23
23
  l != null && /* @__PURE__ */ o("div", {
24
- className: "_1geqsra2 txvbqb8y txvbqbva1",
24
+ className: "_1geqsra2 txvbqb9j txvbqb19cb",
25
25
  children: l
26
26
  })
27
27
  ]
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/dashboard/timeline_event_row/TimelineEventRow.css.ts
4
- var e = "_1664kmj0 txvbqb1cp txvbqb1qg txvbqbwp txvbqb1rg txvbqblb7 txvbqb9ip txvbqbai7 txvbqbao7 txvbqbv4b", t = "_1664kmj1 txvbqb8p txvbqbva1", n = "_1664kmj2 txvbqb8y txvbqbv9z", r = "_1664kmj3 txvbqb9ip txvbqbajy txvbqbao7 txvbqb8p txvbqbva1";
4
+ var e = "_1664kmj0 txvbqb1uy txvbqb2et txvbqb17u txvbqb2g9 txvbqbuy6 txvbqbdr8 txvbqbf6i txvbqbff6 txvbqb196l", t = "_1664kmj1 txvbqb96 txvbqb19cb", n = "_1664kmj2 txvbqb9j txvbqb19c9", r = "_1664kmj3 txvbqbdr8 txvbqbf91 txvbqbff6 txvbqb96 txvbqb19cb";
5
5
  //#endregion
6
6
  export { r as metrics, e as root, n as summary, t as timestamp };
7
7
 
@@ -11,11 +11,11 @@ var o = ({ className: o, details: s, metrics: c = [], summary: l, timestamp: u }
11
11
  children: /* @__PURE__ */ i(t, { value: u })
12
12
  }),
13
13
  l != null && /* @__PURE__ */ i("div", {
14
- className: "_1664kmj2 txvbqb8y txvbqbv9z",
14
+ className: "_1664kmj2 txvbqb9j txvbqb19c9",
15
15
  children: l
16
16
  }),
17
17
  c.length > 0 && /* @__PURE__ */ i("div", {
18
- className: "_1664kmj3 txvbqb9ip txvbqbajy txvbqbao7 txvbqb8p txvbqbva1",
18
+ className: "_1664kmj3 txvbqbdr8 txvbqbf91 txvbqbff6 txvbqb96 txvbqb19cb",
19
19
  children: c.map((e) => /* @__PURE__ */ a("span", { children: [
20
20
  e.label,
21
21
  ": ",
@@ -3,22 +3,22 @@
3
3
  import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
4
  //#region src/components/data-table/DataTable.css.ts
5
5
  var t = e({
6
- defaultClassName: "ysn8463 ysn8460 txvbqb9ip txvbqbai7 txvbqbu7g txvbqb1k",
6
+ defaultClassName: "ysn8463 ysn8460 txvbqbdr8 txvbqbf6i txvbqb17w0 txvbqb1k",
7
7
  variantClassNames: { kind: {
8
- default: "ysn8464 ysn8461 txvbqbv41 txvbqbwg txvbqb1rp txvbqb1qg txvbqb1cp txvbqbl9g txvbqbl8y",
9
- brandTable: "ysn8465 ysn8462 txvbqbv0t txvbqb1qp txvbqb1py txvbqb12g txvbqbl7y"
8
+ default: "ysn8464 ysn8461 txvbqb196b txvbqb17h txvbqb2gm txvbqb2et txvbqb1uy txvbqbuvn txvbqbuux",
9
+ brandTable: "ysn8465 ysn8462 txvbqb1933 txvbqb2f6 txvbqb2e3 txvbqb1g5 txvbqbuth"
10
10
  } },
11
11
  defaultVariants: { kind: "default" },
12
12
  compoundVariants: []
13
- }), n = "ysn8466 txvbqbcgg txvbqbjh7 txvbqbl7g", r = e({
13
+ }), n = "ysn8466 txvbqbi1f txvbqbs9r txvbqbusr", r = e({
14
14
  defaultClassName: "ysn8469",
15
15
  variantClassNames: { kind: {
16
- default: "ysn846a ysn8467 txvbqb12g txvbqb1qg txvbqb62p txvbqb3ny txvbqbv45",
17
- brandTable: "ysn846b ysn8468 txvbqbv0t txvbqb12g txvbqb1qg txvbqb62p txvbqb3s7"
16
+ default: "ysn846a ysn8467 txvbqb1g5 txvbqb2et txvbqb8oi txvbqb577 txvbqb196f",
17
+ brandTable: "ysn846b ysn8468 txvbqb1933 txvbqb1g5 txvbqb2et txvbqb8oi txvbqb5dc"
18
18
  } },
19
19
  defaultVariants: { kind: "default" },
20
20
  compoundVariants: []
21
- }), i = "ysn846c txvbqb9iy txvbqbu7g txvbqbc7", a = "var(--ysn846d)", o = "var(--ysn846e)", s = "var(--ysn846f)", c = "var(--ysn846g)", l = e({
21
+ }), i = "ysn846c txvbqbdrl txvbqb17w0 txvbqbe8", a = "var(--ysn846d)", o = "var(--ysn846e)", s = "var(--ysn846f)", c = "var(--ysn846g)", l = e({
22
22
  defaultClassName: "ysn846h",
23
23
  variantClassNames: { density: {
24
24
  compact: "ysn846i",
@@ -28,59 +28,59 @@ var t = e({
28
28
  defaultVariants: { density: "default" },
29
29
  compoundVariants: []
30
30
  }), u = e({
31
- defaultClassName: "ysn846p ysn846l txvbqbcp txvbqb9ip txvbqbaj7 txvbqbao7 txvbqbl7g txvbqbt7g txvbqbuxg",
31
+ defaultClassName: "ysn846p ysn846l txvbqbey txvbqbdr8 txvbqbf7y txvbqbff6 txvbqbusr txvbqb16g0 txvbqb18xk",
32
32
  variantClassNames: { kind: {
33
- default: "ysn846q ysn846n ysn846m txvbqbva1 txvbqbamp txvbqbefy txvbqb66",
34
- brandTable: "ysn846r ysn846o txvbqbnvg txvbqboip txvbqbp6y txvbqblyp txvbqbv8z txvbqbamy txvbqb8p txvbqbefg txvbqb66 txvbqb54y"
33
+ default: "ysn846q ysn846n ysn846m txvbqb19cb txvbqbfd0 txvbqbky5 txvbqb6a",
34
+ brandTable: "ysn846r ysn846o txvbqbynf txvbqbzl0 txvbqb10k1 txvbqbvw4 txvbqb19b9 txvbqbfdd txvbqb96 txvbqbkxf txvbqb6a txvbqb7br"
35
35
  } },
36
36
  defaultVariants: { kind: "default" },
37
37
  compoundVariants: []
38
38
  }), d = e({
39
- defaultClassName: "ysn846u ysn846s txvbqb9ip txvbqbai7",
39
+ defaultClassName: "ysn846u ysn846s txvbqbdr8 txvbqbf6i",
40
40
  variantClassNames: { kind: {
41
41
  default: "ysn846v",
42
- brandTable: "ysn846w ysn846t txvbqbv0t"
42
+ brandTable: "ysn846w ysn846t txvbqb1933"
43
43
  } },
44
44
  defaultVariants: { kind: "default" },
45
45
  compoundVariants: []
46
- }), f = "ysn846y ysn846x txvbqb9my txvbqbjh7", p = e({
47
- defaultClassName: "ysn84614 ysn846z txvbqbc7 txvbqb1qg txvbqb12g txvbqb9iy txvbqb78 txvbqb6x txvbqb7k",
46
+ }), f = "ysn846y ysn846x txvbqbdxd txvbqbs9r", p = e({
47
+ defaultClassName: "ysn84614 ysn846z txvbqbe8 txvbqb2et txvbqb1g5 txvbqbdrl txvbqb7h txvbqb76 txvbqb7t",
48
48
  variantClassNames: { kind: {
49
- default: "ysn84615 ysn84611 ysn84610 txvbqbv41 txvbqb3og txvbqb62p",
50
- brandTable: "ysn84616 ysn84613 ysn84612 txvbqbv0t txvbqb3s7 txvbqb62p"
49
+ default: "ysn84615 ysn84611 ysn84610 txvbqb196b txvbqb57x txvbqb8oi",
50
+ brandTable: "ysn84616 ysn84613 ysn84612 txvbqb1933 txvbqb5dc txvbqb8oi"
51
51
  } },
52
52
  defaultVariants: { kind: "default" },
53
53
  compoundVariants: []
54
54
  }), m = e({
55
55
  defaultClassName: "ysn84619",
56
56
  variantClassNames: { kind: {
57
- default: "ysn8461a ysn84617 txvbqbv43",
58
- brandTable: "ysn8461b ysn84618 txvbqbv0t"
57
+ default: "ysn8461a ysn84617 txvbqb196d",
58
+ brandTable: "ysn8461b ysn84618 txvbqb1933"
59
59
  } },
60
60
  defaultVariants: { kind: "default" },
61
61
  compoundVariants: []
62
62
  }), h = e({
63
63
  defaultClassName: "ysn8461e",
64
64
  variantClassNames: { kind: {
65
- default: "ysn8461f ysn8461c txvbqbv41",
66
- brandTable: "ysn8461g ysn8461d txvbqbv0t"
65
+ default: "ysn8461f ysn8461c txvbqb196b",
66
+ brandTable: "ysn8461g ysn8461d txvbqb1933"
67
67
  } },
68
68
  defaultVariants: { kind: "default" },
69
69
  compoundVariants: []
70
70
  }), g = e({
71
- defaultClassName: "ysn8461l ysn8461h txvbqbcp txvbqb9ip txvbqbao7 txvbqbk5y txvbqbl7g",
71
+ defaultClassName: "ysn8461l ysn8461h txvbqbey txvbqbdr8 txvbqbff6 txvbqbt9i txvbqbusr",
72
72
  variantClassNames: { kind: {
73
- default: "ysn8461m ysn8461j ysn8461i txvbqbva1",
74
- brandTable: "ysn8461n ysn8461k txvbqbnvg txvbqboip txvbqbp6y txvbqblyp txvbqbv9z txvbqbamp txvbqb8y txvbqb54y"
73
+ default: "ysn8461m ysn8461j ysn8461i txvbqb19cb",
74
+ brandTable: "ysn8461n ysn8461k txvbqbynf txvbqbzl0 txvbqb10k1 txvbqbvw4 txvbqb19c9 txvbqbfd0 txvbqb9j txvbqb7br"
75
75
  } },
76
76
  defaultVariants: { kind: "default" },
77
77
  compoundVariants: []
78
- }), _ = "ysn8461o txvbqbamp txvbqbv9z", v = "ysn8461p txvbqbv9z", y = "ysn8461q", b = e({
78
+ }), _ = "ysn8461o txvbqbfd0 txvbqb19c9", v = "ysn8461p txvbqb19c9", y = "ysn8461q", b = e({
79
79
  defaultClassName: "ysn8461u",
80
80
  variantClassNames: { align: {
81
- left: "ysn8461v ysn8461r txvbqbdpg txvbqbt6p",
82
- center: "ysn8461w ysn8461s txvbqbdoy txvbqbt6y",
83
- right: "ysn8461x ysn8461t txvbqbdp7 txvbqbt77"
81
+ left: "ysn8461v ysn8461r txvbqbjuf txvbqb16ex",
82
+ center: "ysn8461w ysn8461s txvbqbjtp txvbqb16fa",
83
+ right: "ysn8461x ysn8461t txvbqbju2 txvbqb16fn"
84
84
  } },
85
85
  defaultVariants: {},
86
86
  compoundVariants: []
@@ -94,7 +94,7 @@ var t = e({
94
94
  } },
95
95
  defaultVariants: {},
96
96
  compoundVariants: []
97
- }), S = "ysn84623", C = "ysn84624 txvbqb97 txvbqbva1 txvbqbt6y", w = e({
97
+ }), S = "ysn84623", C = "ysn84624 txvbqb9w txvbqb19cb txvbqb16fa", w = e({
98
98
  defaultClassName: "ysn84625",
99
99
  variantClassNames: { minVisibleAt: {
100
100
  sm: "ysn84626",
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.css.js","names":[],"sources":["../../../../src/components/data-table/DataTable.css.ts"],"sourcesContent":["import {\n createVar,\n fallbackVar,\n style,\n type StyleRule,\n} from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { vars } from '../../theme/themeContract.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: sprinkles({\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\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: vars.colors.surfaceMuted,\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.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: sprinkles({\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\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: vars.colors.surfaceMuted,\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":""}
@@ -9,16 +9,16 @@
9
9
  /* empty css */
10
10
  import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
11
11
  //#region src/components/data-table/ResponsiveRecordList.css.ts
12
- var t = "r17fa50", n = "r17fa52 r17fa51 txvbqb9hy", r = "r17fa53 txvbqb9ip txvbqbai7 txvbqbcgg txvbqbjh7", i = "r17fa55 r17fa54 txvbqb9my txvbqbjh7 txvbqbu7g", a = "r17fa56 txvbqb9hy", o = "r17fa57 txvbqb9ip txvbqbai7 txvbqbao7 txvbqbu7g", s = e({
13
- defaultClassName: "r17fa5d r17fa59 r17fa58 txvbqb9ip txvbqbai7 txvbqbaog txvbqbk5y _1995g4r1 _1995g4r0 _1995g4r2 _1995g4ra _1995g4rd _1995g4rh _1995g4rl",
12
+ var t = "r17fa50", n = "r17fa52 r17fa51 txvbqbdq5", r = "r17fa53 txvbqbdr8 txvbqbf6i txvbqbi1f txvbqbs9r", i = "r17fa55 r17fa54 txvbqbdxd txvbqbs9r txvbqb17w0", a = "r17fa56 txvbqbdq5", o = "r17fa57 txvbqbdr8 txvbqbf6i txvbqbff6 txvbqb17w0", s = e({
13
+ defaultClassName: "r17fa5d r17fa59 r17fa58 txvbqbdr8 txvbqbf6i txvbqbffj txvbqbt9i _1995g4r1 _1995g4r0 _1995g4r2 _1995g4ra _1995g4rd _1995g4rh _1995g4rl",
14
14
  variantClassNames: { density: {
15
- compact: "r17fa5e r17fa5a txvbqbao7 txvbqblb7",
16
- default: "r17fa5f r17fa5b txvbqbaog txvbqblbg",
17
- comfortable: "r17fa5g r17fa5c txvbqbaog txvbqblbg"
15
+ compact: "r17fa5e r17fa5a txvbqbff6 txvbqbuy6",
16
+ default: "r17fa5f r17fa5b txvbqbffj txvbqbuyj",
17
+ comfortable: "r17fa5g r17fa5c txvbqbffj txvbqbuyj"
18
18
  } },
19
19
  defaultVariants: { density: "compact" },
20
20
  compoundVariants: []
21
- }), c = "r17fa5h txvbqbcg txvbqb9ip txvbqbaog txvbqbdpp txvbqbk5y", l = "r17fa5i txvbqb9ip txvbqbai7 txvbqbany txvbqbk5y", u = "r17fa5j txvbqbv9z txvbqb8y txvbqbamp txvbqbfap txvbqbk5y txvbqbl87", d = "r17fa5k txvbqbva1 txvbqb8p txvbqbfap txvbqbk5y txvbqbl87", f = "r17fa5l txvbqb9iy txvbqbao7 txvbqbbtp txvbqbbth", p = "r17fa5m txvbqb9ip txvbqbai7 txvbqbb9g txvbqbk5y", m = "r17fa5n txvbqbva3 txvbqb8p txvbqbamp txvbqbefg txvbqb66", h = "r17fa5o txvbqbv9z txvbqb8y txvbqbk5y txvbqbl87", g = "r17fa5p txvbqbcp txvbqb9ip txvbqbajy txvbqbao7", _ = "r17fa5q txvbqbcp txvbqb9ip txvbqbaj7 txvbqbdp7";
21
+ }), c = "r17fa5h txvbqbel txvbqbdr8 txvbqbffj txvbqbjus txvbqbt9i", l = "r17fa5i txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i", u = "r17fa5j txvbqb19c9 txvbqb9j txvbqbfd0 txvbqbm6k txvbqbt9i txvbqbutu", d = "r17fa5k txvbqb19cb txvbqb96 txvbqbm6k txvbqbt9i txvbqbutu", f = "r17fa5l txvbqbdrl txvbqbff6 txvbqbh34 txvbqbh2s", p = "r17fa5m txvbqbdr8 txvbqbf6i txvbqbg9v txvbqbt9i", m = "r17fa5n txvbqb19cd txvbqb96 txvbqbfd0 txvbqbkxf txvbqb6a", h = "r17fa5o txvbqb19c9 txvbqb9j txvbqbt9i txvbqbutu", g = "r17fa5p txvbqbey txvbqbdr8 txvbqbf91 txvbqbff6", _ = "r17fa5q txvbqbey txvbqbdr8 txvbqbf7y txvbqbju2";
22
22
  //#endregion
23
23
  export { s as card, _ as cardActions, g as cardBadges, c as cardHeader, f as cardMetaGrid, p as cardMetaItem, m as cardMetaLabel, h as cardMetaValue, d as cardSubtitle, u as cardTitle, l as cardTitleGroup, o as cards, n as cardsOnly, i as cardsViewport, r as containedRoot, a as forceHidden, t as tableOnly };
24
24
 
@@ -2,7 +2,7 @@
2
2
  /* empty css */
3
3
  import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
4
  //#region src/components/data-table/TableCell.css.ts
5
- var t = "x6ceqz0 txvbqbu7g txvbqb9ip txvbqbcp txvbqbao7 txvbqbv9z", n = e({
5
+ var t = "x6ceqz0 txvbqb17w0 txvbqbdr8 txvbqbey txvbqbff6 txvbqb19c9", n = e({
6
6
  defaultClassName: "x6ceqz1",
7
7
  variantClassNames: { align: {
8
8
  start: "x6ceqz2",
@@ -11,7 +11,7 @@ var t = "x6ceqz0 txvbqbu7g txvbqb9ip txvbqbcp txvbqbao7 txvbqbv9z", n = e({
11
11
  } },
12
12
  defaultVariants: { align: "start" },
13
13
  compoundVariants: []
14
- }), r = "x6ceqz5 txvbqbv9z", i = "x6ceqz6 txvbqbv9z txvbqbuxg", a = "x6ceqz7 txvbqbv9z txvbqbuxg", o = "x6ceqz8 txvbqbva1 txvbqb8p", s = "x6ceqz9 txvbqbl7g txvbqbt7g txvbqbuxg", c = "x6ceqza txvbqbuy7";
14
+ }), r = "x6ceqz5 txvbqb19c9", i = "x6ceqz6 txvbqb19c9 txvbqb18xk", a = "x6ceqz7 txvbqb19c9 txvbqb18xk", o = "x6ceqz8 txvbqb19cb txvbqb96", s = "x6ceqz9 txvbqbusr txvbqb16g0 txvbqb18xk", c = "x6ceqza txvbqb18yn";
15
15
  //#endregion
16
16
  export { n as alignRecipe, t as base, a as date, s as ellipsis, o as muted, i as number, c as summary, r as text };
17
17
 
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/data-table/VirtualizedConnectionTable.css.ts
4
- var e = "_1ifyzte0 txvbqbuxg txvbqbl7g txvbqbt7g txvbqbk5y", t = "_1ifyzte1 txvbqbptg", n = "_1ifyzte2 txvbqbu7g", r = "_1ifyzte3 txvbqbu7g txvbqbc5g";
4
+ var e = "_1ifyzte0 txvbqb18xk txvbqbusr txvbqb16g0 txvbqbt9i", t = "_1ifyzte1 txvbqb11js", n = "_1ifyzte2 txvbqb17w0", r = "_1ifyzte3 txvbqb17w0 txvbqbhlj";
5
5
  //#endregion
6
6
  export { t as bodyViewport, r as sentinel, e as singleLineCell, n as spacer };
7
7
 
@@ -179,7 +179,7 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
179
179
  children: /* @__PURE__ */ g("div", {
180
180
  role: "cell",
181
181
  children: me ?? /* @__PURE__ */ g("div", {
182
- className: e("ysn84624 txvbqb97 txvbqbva1 txvbqbt6y", w?.emptyCell),
182
+ className: e("ysn84624 txvbqb9w txvbqb19cb txvbqb16fa", w?.emptyCell),
183
183
  children: A("common.table.empty")
184
184
  })
185
185
  })
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedConnectionTable.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type JSX,\n} from 'react';\n\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport type {\n DataTableBodyScrollMode,\n DataTableColumn,\n DataTableKind,\n GetRowId,\n} from './DataTable.js';\nimport * as dataTableStyles from './DataTable.css.js';\nimport * as styles from './VirtualizedConnectionTable.css.js';\n\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type VirtualizationConfig = {\n enabled: boolean;\n rowHeightPx: number;\n overscan: number;\n};\n\nexport type InfiniteScrollConfig = {\n enabled: boolean;\n thresholdPx?: number;\n autoLoad?: boolean;\n};\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 VirtualizedConnectionTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n bodyScrollMode?: DataTableBodyScrollMode;\n\n virtualization?: VirtualizationConfig;\n\n infiniteScroll?: InfiniteScrollConfig;\n hasNextPage?: boolean;\n isLoadingMore?: boolean;\n onLoadMore?: () => void;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n};\n\nconst DEFAULT_TEMPLATE_CELL = 'minmax(0, 1fr)';\n\nconst buildInlineTemplate = (\n columnCount: number,\n gridTemplateColumns?: string,\n): CSSProperties => {\n if (typeof gridTemplateColumns === 'string' && gridTemplateColumns !== '') {\n return { gridTemplateColumns };\n }\n return {\n gridTemplateColumns: `repeat(${columnCount}, ${DEFAULT_TEMPLATE_CELL})`,\n };\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n return dataTableStyles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst isVerticallyScrollable = ({\n overflowY,\n scrollHeight,\n clientHeight,\n}: {\n overflowY: string;\n scrollHeight: number;\n clientHeight: number;\n}): boolean => {\n if (\n overflowY !== 'auto' &&\n overflowY !== 'scroll' &&\n overflowY !== 'overlay'\n ) {\n return false;\n }\n return scrollHeight > clientHeight + 1;\n};\n\nconst findScrollParent = (el: HTMLElement | null): HTMLElement | null => {\n let current: HTMLElement | null = el;\n while (current != null) {\n const style = window.getComputedStyle(current);\n if (\n isVerticallyScrollable({\n overflowY: style.overflowY,\n scrollHeight: current.scrollHeight,\n clientHeight: current.clientHeight,\n })\n ) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n};\n\ntype VirtualWindow = {\n startIndex: number;\n endIndex: number;\n};\n\ntype ComputeVirtualWindowInput = {\n rowCount: number;\n rowHeightPx: number;\n overscan: number;\n visibleTop: number;\n visibleBottom: number;\n};\n\ntype ShouldTriggerInfiniteLoadInput = {\n autoLoad: boolean;\n canLoadMore: boolean;\n totalHeight: number;\n visibleBottom: number;\n thresholdPx: number;\n isCoolingDown: boolean;\n};\n\nconst clamp = (value: number, min: number, max: number): number => {\n return Math.min(max, Math.max(min, value));\n};\n\nconst shouldTriggerInfiniteLoad = ({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom,\n thresholdPx,\n isCoolingDown,\n}: ShouldTriggerInfiniteLoadInput): boolean => {\n if (!autoLoad || !canLoadMore || isCoolingDown) {\n return false;\n }\n return totalHeight - visibleBottom <= thresholdPx;\n};\n\nconst computeVirtualWindowBounds = ({\n rowCount,\n rowHeightPx,\n overscan,\n visibleTop,\n visibleBottom,\n}: ComputeVirtualWindowInput): VirtualWindow => {\n const totalHeight = rowCount * rowHeightPx;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const clampedTop = clamp(visibleTop, 0, totalHeight);\n\n const rawStart = Math.floor(clampedTop / rowHeightPx) - overscan;\n const rawEnd = Math.ceil(clampedBottom / rowHeightPx) + overscan;\n\n const startIndex = clamp(rawStart, 0, rowCount);\n const endIndex = clamp(rawEnd, startIndex, rowCount);\n\n return { startIndex, endIndex };\n};\n\nexport const VirtualizedConnectionTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n gridTemplateColumns,\n kind,\n classes,\n bodyScrollMode = 'page',\n virtualization,\n infiniteScroll,\n hasNextPage = false,\n isLoadingMore = false,\n onLoadMore,\n ariaLabel,\n ariaLabelledBy,\n}: VirtualizedConnectionTableProps<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 containerRef = useRef<HTMLDivElement>(null);\n const bodyScrollerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const sentinelRef = useRef<HTMLDivElement>(null);\n const scrollParentRef = useRef<HTMLElement | null>(null);\n const rafRef = useRef<number | null>(null);\n const loadMoreCooldownRef = useRef(false);\n\n const isVirtualized = virtualization?.enabled === true;\n const rowHeightPx = useMemo(() => {\n if (!isVirtualized) {\n return null;\n }\n\n const configuredRowHeight = virtualization.rowHeightPx;\n if (\n typeof configuredRowHeight === 'number' &&\n Number.isFinite(configuredRowHeight) &&\n configuredRowHeight > 0\n ) {\n return configuredRowHeight;\n }\n\n return 56;\n }, [isVirtualized, virtualization]);\n\n const overscan = useMemo(() => {\n if (!isVirtualized) {\n return 0;\n }\n\n let nextOverscan = 10;\n const configuredOverscan = virtualization.overscan;\n if (\n typeof configuredOverscan === 'number' &&\n Number.isFinite(configuredOverscan)\n ) {\n nextOverscan = configuredOverscan;\n }\n return Math.max(0, nextOverscan);\n }, [isVirtualized, virtualization]);\n\n const thresholdPx = infiniteScroll?.thresholdPx ?? 800;\n const autoLoad = infiniteScroll?.autoLoad ?? true;\n const infiniteEnabled = infiniteScroll?.enabled === true;\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n\n const canLoadMore =\n infiniteEnabled && hasNextPage && !isLoadingMore && onLoadMore != null;\n\n const triggerLoadMore = useCallback(() => {\n if (onLoadMore == null) {\n return;\n }\n onLoadMore();\n }, [onLoadMore]);\n\n const [windowState, setWindowState] = useState<VirtualWindow>(() => {\n return { startIndex: 0, endIndex: Math.min(rows.length, 50) };\n });\n\n const inlineTemplateStyle = useMemo(() => {\n return buildInlineTemplate(columns.length, gridTemplateColumns);\n }, [columns.length, gridTemplateColumns]);\n\n const renderRow = useCallback(\n (row: Row, index: number, heightPx?: number | null): JSX.Element => {\n const rowId = getRowId(row, index);\n const rowClasses = [\n dataTableStyles.row({ kind: resolvedKind }),\n classes?.row,\n ];\n if (index % 2 === 0) {\n rowClasses.push(\n dataTableStyles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n dataTableStyles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n const rowStyle: CSSProperties = { ...inlineTemplateStyle };\n if (typeof heightPx === 'number') {\n rowStyle.height = heightPx;\n }\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={rowStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n dataTableStyles.cell({ kind: resolvedKind }),\n styles.singleLineCell,\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(\n dataTableStyles.primaryCell,\n classes?.primaryCell,\n );\n }\n if (column.align != null) {\n cellClasses.push(\n dataTableStyles.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 [classes, columns, getRowId, inlineTemplateStyle, resolvedKind],\n );\n\n const computeVirtualWindow = useCallback(() => {\n if (!isVirtualized) {\n return;\n }\n const height = rowHeightPx;\n if (height == null) {\n return;\n }\n const bodyEl = bodyRef.current;\n if (bodyEl == null) {\n return;\n }\n\n const bodyScroller = bodyScrollerRef.current;\n const scrollParent = scrollParentRef.current;\n let viewportHeight = scrollParent?.clientHeight ?? window.innerHeight;\n let visibleTop = 0;\n if (hasContainedBodyScroll && bodyScroller != null) {\n viewportHeight = bodyScroller.clientHeight;\n visibleTop = bodyScroller.scrollTop;\n } else {\n const parentRectTop = scrollParent?.getBoundingClientRect().top ?? 0;\n const bodyRectTop = bodyEl.getBoundingClientRect().top;\n const relativeTop = bodyRectTop - parentRectTop;\n visibleTop = Math.max(0, -relativeTop);\n }\n const visibleBottom = visibleTop + viewportHeight;\n\n const totalHeight = rows.length * height;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const { startIndex, endIndex } = computeVirtualWindowBounds({\n rowCount: rows.length,\n rowHeightPx: height,\n overscan,\n visibleTop,\n visibleBottom,\n });\n\n setWindowState((prev) => {\n if (prev.startIndex === startIndex && prev.endIndex === endIndex) {\n return prev;\n }\n return { startIndex, endIndex };\n });\n\n if (\n shouldTriggerInfiniteLoad({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom: clampedBottom,\n thresholdPx,\n isCoolingDown: loadMoreCooldownRef.current,\n })\n ) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n }, [\n autoLoad,\n canLoadMore,\n hasContainedBodyScroll,\n isVirtualized,\n overscan,\n rowHeightPx,\n rows.length,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n const scheduleCompute = useCallback(() => {\n if (rafRef.current != null) {\n return;\n }\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n computeVirtualWindow();\n });\n }, [computeVirtualWindow]);\n\n useLayoutEffect(() => {\n if (!isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n scheduleCompute();\n }, [hasContainedBodyScroll, isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (!isVirtualized) {\n return undefined;\n }\n const scrollParent = scrollParentRef.current;\n const target: HTMLElement | Window = scrollParent ?? window;\n\n const handler = () => {\n scheduleCompute();\n };\n\n target.addEventListener('scroll', handler, { passive: true });\n window.addEventListener('resize', handler);\n\n return () => {\n target.removeEventListener('scroll', handler);\n window.removeEventListener('resize', handler);\n };\n }, [isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (isVirtualized) {\n return undefined;\n }\n if (!infiniteEnabled || !autoLoad || !canLoadMore) {\n return undefined;\n }\n const sentinel = sentinelRef.current;\n if (sentinel == null) {\n return undefined;\n }\n\n const scrollParent = scrollParentRef.current;\n\n const observer = new IntersectionObserver(\n (entries) => {\n const [entry] = entries;\n if (entry == null) {\n return;\n }\n\n if (entry.isIntersecting && !loadMoreCooldownRef.current) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n },\n {\n root: scrollParent,\n rootMargin: `0px 0px ${thresholdPx}px 0px`,\n },\n );\n\n observer.observe(sentinel);\n return () => {\n observer.disconnect();\n };\n }, [\n autoLoad,\n canLoadMore,\n infiniteEnabled,\n isVirtualized,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n useLayoutEffect(() => {\n if (isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n }, [hasContainedBodyScroll, isVirtualized]);\n\n const headerRow = (\n <div\n className={cx(\n dataTableStyles.header({ kind: resolvedKind }),\n classes?.header,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(dataTableStyles.headerRow, classes?.headerRow)}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n dataTableStyles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n dataTableStyles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(\n dataTableStyles.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 let bodyRows: JSX.Element;\n if (rows.length === 0) {\n bodyRows = (\n <div\n className={cx(dataTableStyles.emptyRow, classes?.emptyRow)}\n role=\"row\"\n >\n <div role=\"cell\">\n {emptyState ?? (\n <div className={cx(dataTableStyles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n )}\n </div>\n </div>\n );\n } else if (isVirtualized && rowHeightPx != null) {\n const { startIndex, endIndex } = windowState;\n const topSpacerHeight = startIndex * rowHeightPx;\n const bottomSpacerHeight = (rows.length - endIndex) * rowHeightPx;\n const slice = rows.slice(startIndex, endIndex);\n bodyRows = (\n <div className={styles.bodyViewport} ref={bodyRef}>\n <div className={styles.spacer} style={{ height: topSpacerHeight }} />\n {slice.map((row, sliceIndex) => {\n const absoluteIndex = startIndex + sliceIndex;\n return renderRow(row, absoluteIndex, rowHeightPx);\n })}\n <div className={styles.spacer} style={{ height: bottomSpacerHeight }} />\n </div>\n );\n } else {\n bodyRows = (\n <div ref={bodyRef}>\n {rows.map((row, index) => {\n return renderRow(row, index, null);\n })}\n </div>\n );\n }\n\n let sentinelNode: JSX.Element | null = null;\n if (!isVirtualized && infiniteEnabled && autoLoad) {\n sentinelNode = <div ref={sentinelRef} className={styles.sentinel} />;\n }\n\n let containedContainerClassName: string | null = null;\n let containedBodyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedContainerClassName = dataTableStyles.containerWithContainedBody;\n containedBodyClassName = dataTableStyles.bodyContained;\n }\n\n return (\n <div\n ref={containerRef}\n className={cx(\n dataTableStyles.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 {headerRow}\n <div\n ref={bodyScrollerRef}\n className={cx(\n dataTableStyles.body({ kind: resolvedKind }),\n containedBodyClassName,\n classes?.body,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {bodyRows}\n {sentinelNode}\n </div>\n </div>\n );\n};\n\nexport const __test = {\n buildInlineTemplate,\n getVisibilityClass,\n isVerticallyScrollable,\n findScrollParent,\n clamp,\n shouldTriggerInfiniteLoad,\n computeVirtualWindowBounds,\n} as const;\n"],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedConnectionTable.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type JSX,\n} from 'react';\n\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport type {\n DataTableBodyScrollMode,\n DataTableColumn,\n DataTableKind,\n GetRowId,\n} from './DataTable.js';\nimport * as dataTableStyles from './DataTable.css.js';\nimport * as styles from './VirtualizedConnectionTable.css.js';\n\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type VirtualizationConfig = {\n enabled: boolean;\n rowHeightPx: number;\n overscan: number;\n};\n\nexport type InfiniteScrollConfig = {\n enabled: boolean;\n thresholdPx?: number;\n autoLoad?: boolean;\n};\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 VirtualizedConnectionTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n bodyScrollMode?: DataTableBodyScrollMode;\n\n virtualization?: VirtualizationConfig;\n\n infiniteScroll?: InfiniteScrollConfig;\n hasNextPage?: boolean;\n isLoadingMore?: boolean;\n onLoadMore?: () => void;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n};\n\nconst DEFAULT_TEMPLATE_CELL = 'minmax(0, 1fr)';\n\nconst buildInlineTemplate = (\n columnCount: number,\n gridTemplateColumns?: string,\n): CSSProperties => {\n if (typeof gridTemplateColumns === 'string' && gridTemplateColumns !== '') {\n return { gridTemplateColumns };\n }\n return {\n gridTemplateColumns: `repeat(${columnCount}, ${DEFAULT_TEMPLATE_CELL})`,\n };\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n return dataTableStyles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst isVerticallyScrollable = ({\n overflowY,\n scrollHeight,\n clientHeight,\n}: {\n overflowY: string;\n scrollHeight: number;\n clientHeight: number;\n}): boolean => {\n if (\n overflowY !== 'auto' &&\n overflowY !== 'scroll' &&\n overflowY !== 'overlay'\n ) {\n return false;\n }\n return scrollHeight > clientHeight + 1;\n};\n\nconst findScrollParent = (el: HTMLElement | null): HTMLElement | null => {\n let current: HTMLElement | null = el;\n while (current != null) {\n const style = window.getComputedStyle(current);\n if (\n isVerticallyScrollable({\n overflowY: style.overflowY,\n scrollHeight: current.scrollHeight,\n clientHeight: current.clientHeight,\n })\n ) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n};\n\ntype VirtualWindow = {\n startIndex: number;\n endIndex: number;\n};\n\ntype ComputeVirtualWindowInput = {\n rowCount: number;\n rowHeightPx: number;\n overscan: number;\n visibleTop: number;\n visibleBottom: number;\n};\n\ntype ShouldTriggerInfiniteLoadInput = {\n autoLoad: boolean;\n canLoadMore: boolean;\n totalHeight: number;\n visibleBottom: number;\n thresholdPx: number;\n isCoolingDown: boolean;\n};\n\nconst clamp = (value: number, min: number, max: number): number => {\n return Math.min(max, Math.max(min, value));\n};\n\nconst shouldTriggerInfiniteLoad = ({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom,\n thresholdPx,\n isCoolingDown,\n}: ShouldTriggerInfiniteLoadInput): boolean => {\n if (!autoLoad || !canLoadMore || isCoolingDown) {\n return false;\n }\n return totalHeight - visibleBottom <= thresholdPx;\n};\n\nconst computeVirtualWindowBounds = ({\n rowCount,\n rowHeightPx,\n overscan,\n visibleTop,\n visibleBottom,\n}: ComputeVirtualWindowInput): VirtualWindow => {\n const totalHeight = rowCount * rowHeightPx;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const clampedTop = clamp(visibleTop, 0, totalHeight);\n\n const rawStart = Math.floor(clampedTop / rowHeightPx) - overscan;\n const rawEnd = Math.ceil(clampedBottom / rowHeightPx) + overscan;\n\n const startIndex = clamp(rawStart, 0, rowCount);\n const endIndex = clamp(rawEnd, startIndex, rowCount);\n\n return { startIndex, endIndex };\n};\n\nexport const VirtualizedConnectionTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n gridTemplateColumns,\n kind,\n classes,\n bodyScrollMode = 'page',\n virtualization,\n infiniteScroll,\n hasNextPage = false,\n isLoadingMore = false,\n onLoadMore,\n ariaLabel,\n ariaLabelledBy,\n}: VirtualizedConnectionTableProps<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 containerRef = useRef<HTMLDivElement>(null);\n const bodyScrollerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const sentinelRef = useRef<HTMLDivElement>(null);\n const scrollParentRef = useRef<HTMLElement | null>(null);\n const rafRef = useRef<number | null>(null);\n const loadMoreCooldownRef = useRef(false);\n\n const isVirtualized = virtualization?.enabled === true;\n const rowHeightPx = useMemo(() => {\n if (!isVirtualized) {\n return null;\n }\n\n const configuredRowHeight = virtualization.rowHeightPx;\n if (\n typeof configuredRowHeight === 'number' &&\n Number.isFinite(configuredRowHeight) &&\n configuredRowHeight > 0\n ) {\n return configuredRowHeight;\n }\n\n return 56;\n }, [isVirtualized, virtualization]);\n\n const overscan = useMemo(() => {\n if (!isVirtualized) {\n return 0;\n }\n\n let nextOverscan = 10;\n const configuredOverscan = virtualization.overscan;\n if (\n typeof configuredOverscan === 'number' &&\n Number.isFinite(configuredOverscan)\n ) {\n nextOverscan = configuredOverscan;\n }\n return Math.max(0, nextOverscan);\n }, [isVirtualized, virtualization]);\n\n const thresholdPx = infiniteScroll?.thresholdPx ?? 800;\n const autoLoad = infiniteScroll?.autoLoad ?? true;\n const infiniteEnabled = infiniteScroll?.enabled === true;\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n\n const canLoadMore =\n infiniteEnabled && hasNextPage && !isLoadingMore && onLoadMore != null;\n\n const triggerLoadMore = useCallback(() => {\n if (onLoadMore == null) {\n return;\n }\n onLoadMore();\n }, [onLoadMore]);\n\n const [windowState, setWindowState] = useState<VirtualWindow>(() => {\n return { startIndex: 0, endIndex: Math.min(rows.length, 50) };\n });\n\n const inlineTemplateStyle = useMemo(() => {\n return buildInlineTemplate(columns.length, gridTemplateColumns);\n }, [columns.length, gridTemplateColumns]);\n\n const renderRow = useCallback(\n (row: Row, index: number, heightPx?: number | null): JSX.Element => {\n const rowId = getRowId(row, index);\n const rowClasses = [\n dataTableStyles.row({ kind: resolvedKind }),\n classes?.row,\n ];\n if (index % 2 === 0) {\n rowClasses.push(\n dataTableStyles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n dataTableStyles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n const rowStyle: CSSProperties = { ...inlineTemplateStyle };\n if (typeof heightPx === 'number') {\n rowStyle.height = heightPx;\n }\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={rowStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n dataTableStyles.cell({ kind: resolvedKind }),\n styles.singleLineCell,\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(\n dataTableStyles.primaryCell,\n classes?.primaryCell,\n );\n }\n if (column.align != null) {\n cellClasses.push(\n dataTableStyles.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 [classes, columns, getRowId, inlineTemplateStyle, resolvedKind],\n );\n\n const computeVirtualWindow = useCallback(() => {\n if (!isVirtualized) {\n return;\n }\n const height = rowHeightPx;\n if (height == null) {\n return;\n }\n const bodyEl = bodyRef.current;\n if (bodyEl == null) {\n return;\n }\n\n const bodyScroller = bodyScrollerRef.current;\n const scrollParent = scrollParentRef.current;\n let viewportHeight = scrollParent?.clientHeight ?? window.innerHeight;\n let visibleTop = 0;\n if (hasContainedBodyScroll && bodyScroller != null) {\n viewportHeight = bodyScroller.clientHeight;\n visibleTop = bodyScroller.scrollTop;\n } else {\n const parentRectTop = scrollParent?.getBoundingClientRect().top ?? 0;\n const bodyRectTop = bodyEl.getBoundingClientRect().top;\n const relativeTop = bodyRectTop - parentRectTop;\n visibleTop = Math.max(0, -relativeTop);\n }\n const visibleBottom = visibleTop + viewportHeight;\n\n const totalHeight = rows.length * height;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const { startIndex, endIndex } = computeVirtualWindowBounds({\n rowCount: rows.length,\n rowHeightPx: height,\n overscan,\n visibleTop,\n visibleBottom,\n });\n\n setWindowState((prev) => {\n if (prev.startIndex === startIndex && prev.endIndex === endIndex) {\n return prev;\n }\n return { startIndex, endIndex };\n });\n\n if (\n shouldTriggerInfiniteLoad({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom: clampedBottom,\n thresholdPx,\n isCoolingDown: loadMoreCooldownRef.current,\n })\n ) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n }, [\n autoLoad,\n canLoadMore,\n hasContainedBodyScroll,\n isVirtualized,\n overscan,\n rowHeightPx,\n rows.length,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n const scheduleCompute = useCallback(() => {\n if (rafRef.current != null) {\n return;\n }\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n computeVirtualWindow();\n });\n }, [computeVirtualWindow]);\n\n useLayoutEffect(() => {\n if (!isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n scheduleCompute();\n }, [hasContainedBodyScroll, isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (!isVirtualized) {\n return undefined;\n }\n const scrollParent = scrollParentRef.current;\n const target: HTMLElement | Window = scrollParent ?? window;\n\n const handler = () => {\n scheduleCompute();\n };\n\n target.addEventListener('scroll', handler, { passive: true });\n window.addEventListener('resize', handler);\n\n return () => {\n target.removeEventListener('scroll', handler);\n window.removeEventListener('resize', handler);\n };\n }, [isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (isVirtualized) {\n return undefined;\n }\n if (!infiniteEnabled || !autoLoad || !canLoadMore) {\n return undefined;\n }\n const sentinel = sentinelRef.current;\n if (sentinel == null) {\n return undefined;\n }\n\n const scrollParent = scrollParentRef.current;\n\n const observer = new IntersectionObserver(\n (entries) => {\n const [entry] = entries;\n if (entry == null) {\n return;\n }\n\n if (entry.isIntersecting && !loadMoreCooldownRef.current) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n },\n {\n root: scrollParent,\n rootMargin: `0px 0px ${thresholdPx}px 0px`,\n },\n );\n\n observer.observe(sentinel);\n return () => {\n observer.disconnect();\n };\n }, [\n autoLoad,\n canLoadMore,\n infiniteEnabled,\n isVirtualized,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n useLayoutEffect(() => {\n if (isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n }, [hasContainedBodyScroll, isVirtualized]);\n\n const headerRow = (\n <div\n className={cx(\n dataTableStyles.header({ kind: resolvedKind }),\n classes?.header,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(dataTableStyles.headerRow, classes?.headerRow)}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n dataTableStyles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n dataTableStyles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(\n dataTableStyles.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 let bodyRows: JSX.Element;\n if (rows.length === 0) {\n bodyRows = (\n <div\n className={cx(dataTableStyles.emptyRow, classes?.emptyRow)}\n role=\"row\"\n >\n <div role=\"cell\">\n {emptyState ?? (\n <div className={cx(dataTableStyles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n )}\n </div>\n </div>\n );\n } else if (isVirtualized && rowHeightPx != null) {\n const { startIndex, endIndex } = windowState;\n const topSpacerHeight = startIndex * rowHeightPx;\n const bottomSpacerHeight = (rows.length - endIndex) * rowHeightPx;\n const slice = rows.slice(startIndex, endIndex);\n bodyRows = (\n <div className={styles.bodyViewport} ref={bodyRef}>\n <div className={styles.spacer} style={{ height: topSpacerHeight }} />\n {slice.map((row, sliceIndex) => {\n const absoluteIndex = startIndex + sliceIndex;\n return renderRow(row, absoluteIndex, rowHeightPx);\n })}\n <div className={styles.spacer} style={{ height: bottomSpacerHeight }} />\n </div>\n );\n } else {\n bodyRows = (\n <div ref={bodyRef}>\n {rows.map((row, index) => {\n return renderRow(row, index, null);\n })}\n </div>\n );\n }\n\n let sentinelNode: JSX.Element | null = null;\n if (!isVirtualized && infiniteEnabled && autoLoad) {\n sentinelNode = <div ref={sentinelRef} className={styles.sentinel} />;\n }\n\n let containedContainerClassName: string | null = null;\n let containedBodyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedContainerClassName = dataTableStyles.containerWithContainedBody;\n containedBodyClassName = dataTableStyles.bodyContained;\n }\n\n return (\n <div\n ref={containerRef}\n className={cx(\n dataTableStyles.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 {headerRow}\n <div\n ref={bodyScrollerRef}\n className={cx(\n dataTableStyles.body({ kind: resolvedKind }),\n containedBodyClassName,\n classes?.body,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {bodyRows}\n {sentinelNode}\n </div>\n </div>\n );\n};\n\nexport const __test = {\n buildInlineTemplate,\n getVisibilityClass,\n isVerticallyScrollable,\n findScrollParent,\n clamp,\n shouldTriggerInfiniteLoad,\n computeVirtualWindowBounds,\n} as const;\n"],"mappings":";;;;;;;AAyEA,IAAM,IAAwB,kBAExB,KACJ,GACA,MAEI,OAAO,KAAwB,YAAY,MAAwB,KAC9D,EAAE,wBAAqB,GAEzB,EACL,qBAAqB,UAAU,EAAY,IAAI,EAAsB,IACtE,EAGG,KAAsB,MACtB,KAAgB,OACX,OAEF,EAAgC,EAAE,iBAAc,CAAC,EAGpD,KAA0B,EAC9B,cACA,iBACA,sBAOE,MAAc,UACd,MAAc,YACd,MAAc,YAEP,KAEF,IAAe,IAAe,GAGjC,KAAoB,MAA+C;CACvE,IAAI,IAA8B;CAClC,OAAO,KAAW,OAAM;EAEtB,IACE,EAAuB;GACrB,WAHU,OAAO,iBAAiB,EAGvB,CAAM;GACjB,cAAc,EAAQ;GACtB,cAAc,EAAQ;GACvB,CAAC,EAEF,OAAO;EAET,IAAU,EAAQ;;CAEpB,OAAO;GAyBH,KAAS,GAAe,GAAa,MAClC,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAM,CAAC,EAGtC,MAA6B,EACjC,aACA,gBACA,gBACA,kBACA,gBACA,uBAEI,CAAC,KAAY,CAAC,KAAe,IACxB,KAEF,IAAc,KAAiB,GAGlC,MAA8B,EAClC,aACA,gBACA,aACA,eACA,uBAC8C;CAC9C,IAAM,IAAc,IAAW,GACzB,IAAgB,EAAM,GAAe,GAAG,EAAY,EACpD,IAAa,EAAM,GAAY,GAAG,EAAY,EAE9C,IAAW,KAAK,MAAM,IAAa,EAAY,GAAG,GAClD,IAAS,KAAK,KAAK,IAAgB,EAAY,GAAG,GAElD,IAAa,EAAM,GAAU,GAAG,EAAS;CAG/C,OAAO;EAAE;EAAY,UAFJ,EAAM,GAAQ,GAAY,EAEtB;EAAU;GAGpB,MAAoC,EAC/C,YACA,SACA,aACA,gBACA,eACA,yBACA,UACA,YACA,oBAAiB,QACjB,mBACA,mBACA,kBAAc,IACd,oBAAgB,IAChB,eACA,eACA,wBACuD;CACvD,IAAM,EAAE,SAAM,GAAkB,EAC1B,IAA8B,MAAQ,WAExC,IADsB,MAAa,EAAE,qBAAqB;CAE9D,AAAI,KAAkB,SACpB,IAAiB,KAAA;CAEnB,IAAM,IAAe,EAAuB,KAAK,EAC3C,IAAkB,EAAuB,KAAK,EAC9C,IAAU,EAAuB,KAAK,EACtC,IAAc,EAAuB,KAAK,EAC1C,IAAkB,EAA2B,KAAK,EAClD,IAAS,EAAsB,KAAK,EACpC,IAAsB,EAAO,GAAM,EAEnC,IAAgB,GAAgB,YAAY,IAC5C,IAAc,QAAc;EAChC,IAAI,CAAC,GACH,OAAO;EAGT,IAAM,IAAsB,EAAe;EAS3C,OAPE,OAAO,KAAwB,YAC/B,OAAO,SAAS,EAAoB,IACpC,IAAsB,IAEf,IAGF;IACN,CAAC,GAAe,EAAe,CAAC,EAE7B,IAAW,QAAc;EAC7B,IAAI,CAAC,GACH,OAAO;EAGT,IAAI,IAAe,IACb,IAAqB,EAAe;EAO1C,OALE,OAAO,KAAuB,YAC9B,OAAO,SAAS,EAAmB,KAEnC,IAAe,IAEV,KAAK,IAAI,GAAG,EAAa;IAC/B,CAAC,GAAe,EAAe,CAAC,EAE7B,IAAc,GAAgB,eAAe,KAC7C,IAAW,GAAgB,YAAY,IACvC,IAAkB,GAAgB,YAAY,IAC9C,IAAyB,MAAmB,aAE5C,IACJ,KAAmB,MAAe,CAAC,MAAiB,KAAc,MAE9D,IAAkB,QAAkB;EACpC,KAGQ;IACX,CAAC,EAAW,CAAC,EAEV,CAAC,IAAa,MAAkB,UAC7B;EAAE,YAAY;EAAG,UAAU,KAAK,IAAI,EAAK,QAAQ,GAAG;EAAE,EAC7D,EAEI,IAAsB,QACnB,EAAoB,EAAQ,QAAQ,GAAoB,EAC9D,CAAC,EAAQ,QAAQ,GAAoB,CAAC,EAEnC,KAAY,GACf,GAAU,GAAe,MAA0C;EAClE,IAAM,IAAQ,EAAS,GAAK,EAAM,EAC5B,IAAa,CACjB,GAAoB,EAAE,MAAM,GAAc,CAAC,EAC3C,GAAS,IACV;EACD,AAAI,IAAQ,KAAM,IAChB,EAAW,KACT,GAAwB,EAAE,MAAM,GAAc,CAAC,EAC/C,GAAS,QACV,GAED,EAAW,KACT,GAAuB,EAAE,MAAM,GAAc,CAAC,EAC9C,GAAS,OACV;EAEH,IAAM,IAA0B,EAAE,GAAG,GAAqB;EAI1D,OAHI,OAAO,KAAa,aACtB,EAAS,SAAS,IAGlB,kBAAC,OAAD;GAEE,MAAK;GACL,WAAW,EAAG,GAAG,EAAW;GAC5B,OAAO;aAEN,EAAQ,KAAK,MAAW;IACvB,IAAM,IAAc;KAClB,EAAqB,EAAE,MAAM,GAAc,CAAC;KAC5C;KACA,GAAS;KACV,EACK,IAAkB,EAAmB,EAAO,aAAa;IAkB/D,OAjBI,KAAmB,QACrB,EAAY,KAAK,EAAgB,EAE/B,EAAO,aAAa,QACtB,EAAY,KAAK,EAAO,UAAU,EAEhC,EAAO,aACT,EAAY,KACV,IACA,GAAS,YACV,EAEC,EAAO,SAAS,QAClB,EAAY,KACV,EAA4B,EAAE,OAAO,EAAO,OAAO,CAAC,CACrD,EAGD,kBAAC,OAAD;KAAqB,MAAK;KAAO,WAAW,EAAG,GAAG,EAAY;eAC3D,EAAO,KAAK,EAAI;KACb,EAFI,EAAO,GAEX;KAER;GACE,EAnCC,EAmCD;IAGV;EAAC;EAAS;EAAS;EAAU;EAAqB;EAAa,CAChE,EAEK,IAAuB,QAAkB;EAC7C,IAAI,CAAC,GACH;EAEF,IAAM,IAAS;EACf,IAAI,KAAU,MACZ;EAEF,IAAM,IAAS,EAAQ;EACvB,IAAI,KAAU,MACZ;EAGF,IAAM,IAAe,EAAgB,SAC/B,IAAe,EAAgB,SACjC,IAAiB,GAAc,gBAAgB,OAAO,aACtD,IAAa;EACjB,IAAI,KAA0B,KAAgB,MAE5C,AADA,IAAiB,EAAa,cAC9B,IAAa,EAAa;OACrB;GACL,IAAM,IAAgB,GAAc,uBAAuB,CAAC,OAAO,GAE7D,IADc,EAAO,uBAAuB,CAAC,MACjB;GAClC,IAAa,KAAK,IAAI,GAAG,CAAC,EAAY;;EAExC,IAAM,IAAgB,IAAa,GAE7B,IAAc,EAAK,SAAS,GAC5B,IAAgB,EAAM,GAAe,GAAG,EAAY,EACpD,EAAE,eAAY,gBAAa,GAA2B;GAC1D,UAAU,EAAK;GACf,aAAa;GACb;GACA;GACA;GACD,CAAC;EASF,AAPA,IAAgB,MACV,EAAK,eAAe,KAAc,EAAK,aAAa,IAC/C,IAEF;GAAE;GAAY;GAAU,CAC/B,EAGA,GAA0B;GACxB;GACA;GACA;GACA,eAAe;GACf;GACA,eAAe,EAAoB;GACpC,CAAC,KAEF,EAAoB,UAAU,IAC9B,GAAiB,EACjB,OAAO,iBAAiB;GACtB,EAAoB,UAAU;KAC7B,IAAI;IAER;EACD;EACA;EACA;EACA;EACA;EACA;EACA,EAAK;EACL;EACA;EACD,CAAC,EAEI,IAAkB,QAAkB;EACpC,AAGJ,EAAO,YAAU,OAAO,4BAA4B;GAElD,AADA,EAAO,UAAU,MACjB,GAAsB;IACtB;IACD,CAAC,EAAqB,CAAC;CAsF1B,AApFA,SAAsB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAY,EAAa;EAC3B,KAAa,SAGb,IACF,EAAgB,UAAU,EAAgB,UAE1C,EAAgB,UAAU,EAAiB,EAAU,EAEvD,GAAiB;IAChB;EAAC;EAAwB;EAAe;EAAgB,CAAC,EAE5D,SAAgB;EACd,IAAI,CAAC,GACH;EAGF,IAAM,IADe,EAAgB,WACgB,QAE/C,UAAgB;GACpB,GAAiB;;EAMnB,OAHA,EAAO,iBAAiB,UAAU,GAAS,EAAE,SAAS,IAAM,CAAC,EAC7D,OAAO,iBAAiB,UAAU,EAAQ,QAE7B;GAEX,AADA,EAAO,oBAAoB,UAAU,EAAQ,EAC7C,OAAO,oBAAoB,UAAU,EAAQ;;IAE9C,CAAC,GAAe,EAAgB,CAAC,EAEpC,SAAgB;EAId,IAHI,KAGA,CAAC,KAAmB,CAAC,KAAY,CAAC,GACpC;EAEF,IAAM,IAAW,EAAY;EAC7B,IAAI,KAAY,MACd;EAGF,IAAM,IAAe,EAAgB,SAE/B,IAAW,IAAI,sBAClB,MAAY;GACX,IAAM,CAAC,KAAS;GACZ,KAAS,QAIT,EAAM,kBAAkB,CAAC,EAAoB,YAC/C,EAAoB,UAAU,IAC9B,GAAiB,EACjB,OAAO,iBAAiB;IACtB,EAAoB,UAAU;MAC7B,IAAI;KAGX;GACE,MAAM;GACN,YAAY,WAAW,EAAY;GACpC,CACF;EAGD,OADA,EAAS,QAAQ,EAAS,QACb;GACX,EAAS,YAAY;;IAEtB;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEF,SAAsB;EACpB,IAAI,GACF;EAEF,IAAM,IAAY,EAAa;EAC3B,KAAa,SAGb,IACF,EAAgB,UAAU,EAAgB,UAE1C,EAAgB,UAAU,EAAiB,EAAU;IAEtD,CAAC,GAAwB,EAAc,CAAC;CAE3C,IAAM,KACJ,kBAAC,OAAD;EACE,WAAW,EACT,EAAuB,EAAE,MAAM,GAAc,CAAC,EAC9C,GAAS,OACV;EACD,MAAK;YAEL,kBAAC,OAAD;GACE,WAAW,EAAG,IAA2B,GAAS,UAAU;GAC5D,MAAK;GACL,OAAO;aAEN,EAAQ,KAAK,MAAW;IACvB,IAAM,IAAgB,CACpB,EAA2B,EAAE,MAAM,GAAc,CAAC,EAClD,GAAS,WACV,EACK,IAAkB,EAAmB,EAAO,aAAa;IAkB/D,OAjBI,KAAmB,QACrB,EAAc,KAAK,EAAgB,EAEjC,EAAO,aAAa,QACtB,EAAc,KAAK,EAAO,UAAU,EAElC,EAAO,aACT,EAAc,KACZ,IACA,GAAS,kBACV,EAEC,EAAO,SAAS,QAClB,EAAc,KACZ,EAA4B,EAAE,OAAO,EAAO,OAAO,CAAC,CACrD,EAGD,kBAAC,OAAD;KAEE,MAAK;KACL,WAAW,EAAG,GAAG,EAAc;eAE9B,EAAO;KACJ,EALC,EAAO,GAKR;KAER;GACE,CAAA;EACF,CAAA,EAGJ;CACJ,IAAI,EAAK,WAAW,GAClB,IACE,kBAAC,OAAD;EACE,WAAW,EAAG,GAA0B,GAAS,SAAS;EAC1D,MAAK;YAEL,kBAAC,OAAD;GAAK,MAAK;aACP,MACC,kBAAC,OAAD;IAAK,WAAW,EAAG,2CAA2B,GAAS,UAAU;cAC9D,EAAE,qBAAqB;IACpB,CAAA;GAEJ,CAAA;EACF,CAAA;MAEH,IAAI,KAAiB,KAAe,MAAM;EAC/C,IAAM,EAAE,eAAY,gBAAa,IAC3B,IAAkB,IAAa,GAC/B,KAAsB,EAAK,SAAS,KAAY,GAChD,IAAQ,EAAK,MAAM,GAAY,EAAS;EAC9C,IACE,kBAAC,OAAD;GAAK,WAAW;GAAqB,KAAK;aAA1C;IACE,kBAAC,OAAD;KAAK,WAAW;KAAe,OAAO,EAAE,QAAQ,GAAiB;KAAI,CAAA;IACpE,EAAM,KAAK,GAAK,MAER,GAAU,GADK,IAAa,GACE,EAAY,CACjD;IACF,kBAAC,OAAD;KAAK,WAAW;KAAe,OAAO,EAAE,QAAQ,GAAoB;KAAI,CAAA;IACpE;;QAGR,IACE,kBAAC,OAAD;EAAK,KAAK;YACP,EAAK,KAAK,GAAK,MACP,GAAU,GAAK,GAAO,KAAK,CAClC;EACE,CAAA;CAIV,IAAI,KAAmC;CACvC,AAAI,CAAC,KAAiB,KAAmB,MACvC,KAAe,kBAAC,OAAD;EAAK,KAAK;EAAa,WAAW;EAAmB,CAAA;CAGtE,IAAI,KAA6C,MAC7C,IAAwC;CAM5C,OALI,MACF,KAA8B,GAC9B,IAAyB,IAIzB,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EACT,EAA0B,EAAE,MAAM,GAAc,CAAC,EACjD,IACA,GAAS,WACT,GACD;EACD,MAAK;EACL,cAAY;EACZ,mBAAiB;EACjB,oBAAkB;YAXpB,CAaG,IACD,kBAAC,OAAD;GACE,KAAK;GACL,WAAW,EACT,EAAqB,EAAE,MAAM,GAAc,CAAC,EAC5C,GACA,GAAS,KACV;GACD,MAAK;GACL,oBAAkB;aARpB,CAUG,GACA,GACG;KACF;;GAIG,KAAS;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/components/feedback/OperationFeedback.css.ts
4
- var e = "_19ozap70 txvbqb9ip txvbqbai7 txvbqbaog txvbqbu7g", t = "_19ozap71 txvbqb9ip txvbqbajy txvbqbcp txvbqbao7";
4
+ var e = "_19ozap70 txvbqbdr8 txvbqbf6i txvbqbffj txvbqb17w0", t = "_19ozap71 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6";
5
5
  //#endregion
6
6
  export { t as row, e as stack };
7
7
 
@@ -15,7 +15,7 @@ var o = ({ errorMessage: o = null, successMessage: s = null, retryLabel: c, onRe
15
15
  })), /* @__PURE__ */ a("div", {
16
16
  className: r,
17
17
  children: [o != null && /* @__PURE__ */ a("div", {
18
- className: "_19ozap71 txvbqb9ip txvbqbajy txvbqbcp txvbqbao7",
18
+ className: "_19ozap71 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6",
19
19
  role: "alert",
20
20
  children: [/* @__PURE__ */ i(t, { children: o }), u]
21
21
  }), s != null && /* @__PURE__ */ i(n, {