@plumile/ui 0.1.61 → 0.1.62

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 (351) hide show
  1. package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js +1 -0
  2. package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js +0 -1
  3. package/lib/esm/backoffice/atoms/backoffice_id_badge/BackofficeIdBadge.js +18 -0
  4. package/lib/esm/backoffice/atoms/backoffice_id_badge/BackofficeIdBadge.js.map +1 -0
  5. package/lib/esm/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.js +8 -0
  6. package/lib/esm/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.js.map +1 -0
  7. package/lib/esm/backoffice/atoms/copyable_text/CopyableText.js +71 -0
  8. package/lib/esm/backoffice/atoms/copyable_text/CopyableText.js.map +1 -0
  9. package/lib/esm/backoffice/atoms/copyable_text/copyableText.css.js +8 -0
  10. package/lib/esm/backoffice/atoms/copyable_text/copyableText.css.js.map +1 -0
  11. package/lib/esm/backoffice/atoms/environment_badge/EnvironmentBadge.js +28 -0
  12. package/lib/esm/backoffice/atoms/environment_badge/EnvironmentBadge.js.map +1 -0
  13. package/lib/esm/backoffice/atoms/environment_badge/environmentBadge.css.js +8 -0
  14. package/lib/esm/backoffice/atoms/environment_badge/environmentBadge.css.js.map +1 -0
  15. package/lib/esm/backoffice/atoms/shortcut_hint/ShortcutHint.js +20 -0
  16. package/lib/esm/backoffice/atoms/shortcut_hint/ShortcutHint.js.map +1 -0
  17. package/lib/esm/backoffice/atoms/shortcut_hint/shortcutHint.css.js +8 -0
  18. package/lib/esm/backoffice/atoms/shortcut_hint/shortcutHint.css.js.map +1 -0
  19. package/lib/esm/backoffice/atoms/skeleton/Skeleton.js +39 -0
  20. package/lib/esm/backoffice/atoms/skeleton/Skeleton.js.map +1 -0
  21. package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js +12 -0
  22. package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js.map +1 -0
  23. package/lib/esm/backoffice/atoms/spinner/Spinner.js +20 -0
  24. package/lib/esm/backoffice/atoms/spinner/Spinner.js.map +1 -0
  25. package/lib/esm/backoffice/atoms/spinner/spinner.css.js +8 -0
  26. package/lib/esm/backoffice/atoms/spinner/spinner.css.js.map +1 -0
  27. package/lib/esm/backoffice/atoms/status_badge/StatusBadge.js +31 -0
  28. package/lib/esm/backoffice/atoms/status_badge/StatusBadge.js.map +1 -0
  29. package/lib/esm/backoffice/atoms/status_badge/statusBadge.css.js +8 -0
  30. package/lib/esm/backoffice/atoms/status_badge/statusBadge.css.js.map +1 -0
  31. package/lib/esm/backoffice/atoms/tag/Tag.js +32 -0
  32. package/lib/esm/backoffice/atoms/tag/Tag.js.map +1 -0
  33. package/lib/esm/backoffice/atoms/tag/tag.css.js +20 -0
  34. package/lib/esm/backoffice/atoms/tag/tag.css.js.map +1 -0
  35. package/lib/esm/backoffice/layout/backofficeLayoutTokens.js +15 -0
  36. package/lib/esm/backoffice/layout/backofficeLayoutTokens.js.map +1 -0
  37. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js +34 -0
  38. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js.map +1 -0
  39. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +7 -0
  40. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js.map +1 -0
  41. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js +37 -0
  42. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js.map +1 -0
  43. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +7 -0
  44. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js.map +1 -0
  45. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js +116 -0
  46. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js.map +1 -0
  47. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js +7 -0
  48. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js.map +1 -0
  49. package/lib/esm/backoffice/molecules/backoffice_filter_field/BackofficeFilterField.js +28 -0
  50. package/lib/esm/backoffice/molecules/backoffice_filter_field/BackofficeFilterField.js.map +1 -0
  51. package/lib/esm/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.js +7 -0
  52. package/lib/esm/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.js.map +1 -0
  53. package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js +37 -0
  54. package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js.map +1 -0
  55. package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js +7 -0
  56. package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js.map +1 -0
  57. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +25 -0
  58. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js.map +1 -0
  59. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +7 -0
  60. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js.map +1 -0
  61. package/lib/esm/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js +80 -0
  62. package/lib/esm/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js.map +1 -0
  63. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.js +7 -0
  64. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.js.map +1 -0
  65. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +28 -0
  66. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js.map +1 -0
  67. package/lib/esm/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.js +8 -0
  68. package/lib/esm/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.js.map +1 -0
  69. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js +22 -0
  70. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js.map +1 -0
  71. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +7 -0
  72. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js.map +1 -0
  73. package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js +27 -0
  74. package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js.map +1 -0
  75. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js +8 -0
  76. package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js.map +1 -0
  77. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +31 -0
  78. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js.map +1 -0
  79. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +7 -0
  80. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js.map +1 -0
  81. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +68 -0
  82. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js.map +1 -0
  83. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js +7 -0
  84. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js.map +1 -0
  85. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.js +37 -0
  86. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.js.map +1 -0
  87. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.js +8 -0
  88. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.js.map +1 -0
  89. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +32 -0
  90. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js.map +1 -0
  91. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +7 -0
  92. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +1 -0
  93. package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js +31 -0
  94. package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js.map +1 -0
  95. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +8 -0
  96. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +1 -0
  97. package/lib/esm/backoffice/molecules/bulk_actions_bar/BulkActionsBar.js +31 -0
  98. package/lib/esm/backoffice/molecules/bulk_actions_bar/BulkActionsBar.js.map +1 -0
  99. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +8 -0
  100. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js.map +1 -0
  101. package/lib/esm/backoffice/molecules/filter_chip_row/FilterChipRow.js +30 -0
  102. package/lib/esm/backoffice/molecules/filter_chip_row/FilterChipRow.js.map +1 -0
  103. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js +8 -0
  104. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js.map +1 -0
  105. package/lib/esm/backoffice/molecules/global_search_input/GlobalSearchInput.js +55 -0
  106. package/lib/esm/backoffice/molecules/global_search_input/GlobalSearchInput.js.map +1 -0
  107. package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js +8 -0
  108. package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js.map +1 -0
  109. package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js +44 -0
  110. package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js.map +1 -0
  111. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js +19 -0
  112. package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js.map +1 -0
  113. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js +38 -0
  114. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js.map +1 -0
  115. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js +8 -0
  116. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js.map +1 -0
  117. package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js +123 -0
  118. package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js.map +1 -0
  119. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +8 -0
  120. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -0
  121. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +64 -0
  122. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js.map +1 -0
  123. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +8 -0
  124. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -0
  125. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +69 -0
  126. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js.map +1 -0
  127. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +17 -0
  128. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js.map +1 -0
  129. package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js +42 -0
  130. package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js.map +1 -0
  131. package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js +8 -0
  132. package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js.map +1 -0
  133. package/lib/esm/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.js +14 -0
  134. package/lib/esm/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.js.map +1 -0
  135. package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js +114 -0
  136. package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js.map +1 -0
  137. package/lib/esm/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.js +8 -0
  138. package/lib/esm/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.js.map +1 -0
  139. package/lib/esm/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.js +62 -0
  140. package/lib/esm/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.js.map +1 -0
  141. package/lib/esm/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.js +17 -0
  142. package/lib/esm/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.js.map +1 -0
  143. package/lib/esm/backoffice/organisms/backoffice_topbar/BackofficeTopbar.js +22 -0
  144. package/lib/esm/backoffice/organisms/backoffice_topbar/BackofficeTopbar.js.map +1 -0
  145. package/lib/esm/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.js +8 -0
  146. package/lib/esm/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.js.map +1 -0
  147. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js +34 -0
  148. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js.map +1 -0
  149. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js +8 -0
  150. package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js.map +1 -0
  151. package/lib/esm/backoffice/organisms/entity_header/EntityHeader.js +59 -0
  152. package/lib/esm/backoffice/organisms/entity_header/EntityHeader.js.map +1 -0
  153. package/lib/esm/backoffice/organisms/entity_header/entityHeader.css.js +8 -0
  154. package/lib/esm/backoffice/organisms/entity_header/entityHeader.css.js.map +1 -0
  155. package/lib/esm/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.js +19 -0
  156. package/lib/esm/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.js.map +1 -0
  157. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +55 -0
  158. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js.map +1 -0
  159. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +8 -0
  160. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js.map +1 -0
  161. package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js +43 -0
  162. package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js.map +1 -0
  163. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js +8 -0
  164. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js.map +1 -0
  165. package/lib/esm/backoffice/theme/BackofficeThemeProvider.js +11 -0
  166. package/lib/esm/backoffice/theme/BackofficeThemeProvider.js.map +1 -0
  167. package/lib/esm/backoffice/theme/backofficeTheme.css.js +7 -0
  168. package/lib/esm/backoffice/theme/backofficeTheme.css.js.map +1 -0
  169. package/lib/esm/index.js +49 -4
  170. package/lib/esm/shared/agentJobRequestFormatting.js +31 -0
  171. package/lib/esm/shared/agentJobRequestFormatting.js.map +1 -0
  172. package/lib/esm/shared/agentText.js +13 -0
  173. package/lib/esm/shared/agentText.js.map +1 -0
  174. package/lib/esm/shared/backofficeTableDensity.css.js +9 -0
  175. package/lib/esm/shared/backofficeTableDensity.css.js.map +1 -0
  176. package/lib/esm/style.css +1 -1
  177. package/lib/types/backoffice/atoms/backoffice_id_badge/BackofficeIdBadge.d.ts +11 -0
  178. package/lib/types/backoffice/atoms/backoffice_id_badge/BackofficeIdBadge.d.ts.map +1 -0
  179. package/lib/types/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.d.ts +2 -0
  180. package/lib/types/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.d.ts.map +1 -0
  181. package/lib/types/backoffice/atoms/copyable_text/CopyableText.d.ts +12 -0
  182. package/lib/types/backoffice/atoms/copyable_text/CopyableText.d.ts.map +1 -0
  183. package/lib/types/backoffice/atoms/copyable_text/copyableText.css.d.ts +5 -0
  184. package/lib/types/backoffice/atoms/copyable_text/copyableText.css.d.ts.map +1 -0
  185. package/lib/types/backoffice/atoms/environment_badge/EnvironmentBadge.d.ts +10 -0
  186. package/lib/types/backoffice/atoms/environment_badge/EnvironmentBadge.d.ts.map +1 -0
  187. package/lib/types/backoffice/atoms/environment_badge/environmentBadge.css.d.ts +2 -0
  188. package/lib/types/backoffice/atoms/environment_badge/environmentBadge.css.d.ts.map +1 -0
  189. package/lib/types/backoffice/atoms/shortcut_hint/ShortcutHint.d.ts +8 -0
  190. package/lib/types/backoffice/atoms/shortcut_hint/ShortcutHint.d.ts.map +1 -0
  191. package/lib/types/backoffice/atoms/shortcut_hint/shortcutHint.css.d.ts +3 -0
  192. package/lib/types/backoffice/atoms/shortcut_hint/shortcutHint.css.d.ts.map +1 -0
  193. package/lib/types/backoffice/atoms/skeleton/Skeleton.d.ts +13 -0
  194. package/lib/types/backoffice/atoms/skeleton/Skeleton.d.ts.map +1 -0
  195. package/lib/types/backoffice/atoms/skeleton/skeleton.css.d.ts +8 -0
  196. package/lib/types/backoffice/atoms/skeleton/skeleton.css.d.ts.map +1 -0
  197. package/lib/types/backoffice/atoms/spinner/Spinner.d.ts +9 -0
  198. package/lib/types/backoffice/atoms/spinner/Spinner.d.ts.map +1 -0
  199. package/lib/types/backoffice/atoms/spinner/spinner.css.d.ts +3 -0
  200. package/lib/types/backoffice/atoms/spinner/spinner.css.d.ts.map +1 -0
  201. package/lib/types/backoffice/atoms/status_badge/StatusBadge.d.ts +12 -0
  202. package/lib/types/backoffice/atoms/status_badge/StatusBadge.d.ts.map +1 -0
  203. package/lib/types/backoffice/atoms/status_badge/statusBadge.css.d.ts +3 -0
  204. package/lib/types/backoffice/atoms/status_badge/statusBadge.css.d.ts.map +1 -0
  205. package/lib/types/backoffice/atoms/tag/Tag.d.ts +14 -0
  206. package/lib/types/backoffice/atoms/tag/Tag.d.ts.map +1 -0
  207. package/lib/types/backoffice/atoms/tag/tag.css.d.ts +13 -0
  208. package/lib/types/backoffice/atoms/tag/tag.css.d.ts.map +1 -0
  209. package/lib/types/backoffice/layout/backofficeLayoutTokens.d.ts +12 -0
  210. package/lib/types/backoffice/layout/backofficeLayoutTokens.d.ts.map +1 -0
  211. package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts +10 -0
  212. package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts.map +1 -0
  213. package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts +7 -0
  214. package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts.map +1 -0
  215. package/lib/types/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.d.ts +11 -0
  216. package/lib/types/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.d.ts.map +1 -0
  217. package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts +6 -0
  218. package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts.map +1 -0
  219. package/lib/types/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.d.ts +23 -0
  220. package/lib/types/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.d.ts.map +1 -0
  221. package/lib/types/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.d.ts +17 -0
  222. package/lib/types/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.d.ts.map +1 -0
  223. package/lib/types/backoffice/molecules/backoffice_filter_field/BackofficeFilterField.d.ts +10 -0
  224. package/lib/types/backoffice/molecules/backoffice_filter_field/BackofficeFilterField.d.ts.map +1 -0
  225. package/lib/types/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.d.ts +6 -0
  226. package/lib/types/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.d.ts.map +1 -0
  227. package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts +13 -0
  228. package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts.map +1 -0
  229. package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts +6 -0
  230. package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts.map +1 -0
  231. package/lib/types/backoffice/molecules/backoffice_form_section/BackofficeFormSection.d.ts +10 -0
  232. package/lib/types/backoffice/molecules/backoffice_form_section/BackofficeFormSection.d.ts.map +1 -0
  233. package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts +5 -0
  234. package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts.map +1 -0
  235. package/lib/types/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.d.ts +15 -0
  236. package/lib/types/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.d.ts.map +1 -0
  237. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.d.ts +2 -0
  238. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.d.ts.map +1 -0
  239. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts +5 -0
  240. package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts.map +1 -0
  241. package/lib/types/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.d.ts +7 -0
  242. package/lib/types/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.d.ts.map +1 -0
  243. package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts +12 -0
  244. package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts.map +1 -0
  245. package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts +7 -0
  246. package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts.map +1 -0
  247. package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts +12 -0
  248. package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts.map +1 -0
  249. package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts +4 -0
  250. package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts.map +1 -0
  251. package/lib/types/backoffice/molecules/backoffice_page_header/BackofficePageHeader.d.ts +11 -0
  252. package/lib/types/backoffice/molecules/backoffice_page_header/BackofficePageHeader.d.ts.map +1 -0
  253. package/lib/types/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.d.ts +8 -0
  254. package/lib/types/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.d.ts.map +1 -0
  255. package/lib/types/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.d.ts +15 -0
  256. package/lib/types/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.d.ts.map +1 -0
  257. package/lib/types/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.d.ts +8 -0
  258. package/lib/types/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.d.ts.map +1 -0
  259. package/lib/types/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.d.ts +8 -0
  260. package/lib/types/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.d.ts.map +1 -0
  261. package/lib/types/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.d.ts +7 -0
  262. package/lib/types/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.d.ts.map +1 -0
  263. package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts +13 -0
  264. package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts.map +1 -0
  265. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts +6 -0
  266. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +1 -0
  267. package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts +16 -0
  268. package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts.map +1 -0
  269. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts +4 -0
  270. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +1 -0
  271. package/lib/types/backoffice/molecules/bulk_actions_bar/BulkActionsBar.d.ts +12 -0
  272. package/lib/types/backoffice/molecules/bulk_actions_bar/BulkActionsBar.d.ts.map +1 -0
  273. package/lib/types/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.d.ts +4 -0
  274. package/lib/types/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.d.ts.map +1 -0
  275. package/lib/types/backoffice/molecules/filter_chip_row/FilterChipRow.d.ts +15 -0
  276. package/lib/types/backoffice/molecules/filter_chip_row/FilterChipRow.d.ts.map +1 -0
  277. package/lib/types/backoffice/molecules/filter_chip_row/filterChipRow.css.d.ts +2 -0
  278. package/lib/types/backoffice/molecules/filter_chip_row/filterChipRow.css.d.ts.map +1 -0
  279. package/lib/types/backoffice/molecules/global_search_input/GlobalSearchInput.d.ts +14 -0
  280. package/lib/types/backoffice/molecules/global_search_input/GlobalSearchInput.d.ts.map +1 -0
  281. package/lib/types/backoffice/molecules/global_search_input/globalSearchInput.css.d.ts +4 -0
  282. package/lib/types/backoffice/molecules/global_search_input/globalSearchInput.css.d.ts.map +1 -0
  283. package/lib/types/backoffice/molecules/inline_banner/InlineBanner.d.ts +16 -0
  284. package/lib/types/backoffice/molecules/inline_banner/InlineBanner.d.ts.map +1 -0
  285. package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts +17 -0
  286. package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts.map +1 -0
  287. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.d.ts +11 -0
  288. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.d.ts.map +1 -0
  289. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.d.ts +4 -0
  290. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.d.ts.map +1 -0
  291. package/lib/types/backoffice/molecules/sidebar_nav_item/SidebarNavItem.d.ts +24 -0
  292. package/lib/types/backoffice/molecules/sidebar_nav_item/SidebarNavItem.d.ts.map +1 -0
  293. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts +15 -0
  294. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -0
  295. package/lib/types/backoffice/molecules/sidebar_nav_section/SidebarNavSection.d.ts +24 -0
  296. package/lib/types/backoffice/molecules/sidebar_nav_section/SidebarNavSection.d.ts.map +1 -0
  297. package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts +6 -0
  298. package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts.map +1 -0
  299. package/lib/types/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.d.ts +23 -0
  300. package/lib/types/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.d.ts.map +1 -0
  301. package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts +20 -0
  302. package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts.map +1 -0
  303. package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts +13 -0
  304. package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts.map +1 -0
  305. package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts +6 -0
  306. package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts.map +1 -0
  307. package/lib/types/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.d.ts +12 -0
  308. package/lib/types/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.d.ts.map +1 -0
  309. package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts +21 -0
  310. package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts.map +1 -0
  311. package/lib/types/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.d.ts +3 -0
  312. package/lib/types/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.d.ts.map +1 -0
  313. package/lib/types/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.d.ts +26 -0
  314. package/lib/types/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.d.ts.map +1 -0
  315. package/lib/types/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.d.ts +19 -0
  316. package/lib/types/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.d.ts.map +1 -0
  317. package/lib/types/backoffice/organisms/backoffice_topbar/BackofficeTopbar.d.ts +10 -0
  318. package/lib/types/backoffice/organisms/backoffice_topbar/BackofficeTopbar.d.ts.map +1 -0
  319. package/lib/types/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.d.ts +6 -0
  320. package/lib/types/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.d.ts.map +1 -0
  321. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts +28 -0
  322. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts.map +1 -0
  323. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts +5 -0
  324. package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts.map +1 -0
  325. package/lib/types/backoffice/organisms/entity_header/EntityHeader.d.ts +19 -0
  326. package/lib/types/backoffice/organisms/entity_header/EntityHeader.d.ts.map +1 -0
  327. package/lib/types/backoffice/organisms/entity_header/entityHeader.css.d.ts +13 -0
  328. package/lib/types/backoffice/organisms/entity_header/entityHeader.css.d.ts.map +1 -0
  329. package/lib/types/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.d.ts +14 -0
  330. package/lib/types/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.d.ts.map +1 -0
  331. package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts +25 -0
  332. package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts.map +1 -0
  333. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts +12 -0
  334. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -0
  335. package/lib/types/backoffice/templates/list_page_template/ListPageTemplate.d.ts +35 -0
  336. package/lib/types/backoffice/templates/list_page_template/ListPageTemplate.d.ts.map +1 -0
  337. package/lib/types/backoffice/templates/list_page_template/listPageTemplate.css.d.ts +9 -0
  338. package/lib/types/backoffice/templates/list_page_template/listPageTemplate.css.d.ts.map +1 -0
  339. package/lib/types/backoffice/theme/BackofficeThemeProvider.d.ts +7 -0
  340. package/lib/types/backoffice/theme/BackofficeThemeProvider.d.ts.map +1 -0
  341. package/lib/types/backoffice/theme/backofficeTheme.css.d.ts +2 -0
  342. package/lib/types/backoffice/theme/backofficeTheme.css.d.ts.map +1 -0
  343. package/lib/types/index.d.ts +45 -0
  344. package/lib/types/index.d.ts.map +1 -1
  345. package/lib/types/shared/agentJobRequestFormatting.d.ts +6 -0
  346. package/lib/types/shared/agentJobRequestFormatting.d.ts.map +1 -0
  347. package/lib/types/shared/agentText.d.ts +3 -0
  348. package/lib/types/shared/agentText.d.ts.map +1 -0
  349. package/lib/types/shared/backofficeTableDensity.css.d.ts +2 -0
  350. package/lib/types/shared/backofficeTableDensity.css.d.ts.map +1 -0
  351. package/package.json +22 -2
@@ -0,0 +1,123 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { actionSlot as t, actions as ee, actionsVisible as te, badge as ne, badgeCollapsed as n, dragHandle as r, icon as i, item as a, itemActive as o, itemCollapsed as s, itemDisabled as c, label as l, labelCollapsed as re, link as u } from "./sidebarNavItem.css.js";
3
+ import "../../../index.js";
4
+ import { Fragment as ie, jsx as d, jsxs as f } from "react/jsx-runtime";
5
+ import { useCallback as p, useEffect as m, useRef as h, useState as g } from "react";
6
+ import { Link as _ } from "@plumile/router";
7
+ //#region src/backoffice/molecules/sidebar_nav_item/SidebarNavItem.tsx
8
+ var v = _, y = ({ label: _, href: y, icon: b, badge: x, isActive: S = !1, disabled: C = !1, onClick: ae, onDragStart: oe, onDragOver: se, onDrop: ce, onDragEnd: le, collapsed: w = !1, ariaLabel: ue, className: T, actionSlot: E, dragHandleSlot: D, dragHandleLabel: O, draggable: k = !1 }) => {
9
+ let A = h(null), j = h(null), [M, N] = g(!1), [P, F] = g(!1), I = [a];
10
+ w && I.push(s), S && I.push(o), C && I.push(c), T != null && I.push(T);
11
+ let L = e(...I), R = ue;
12
+ R == null && typeof _ == "string" && (R = _);
13
+ let z, B;
14
+ w && (z = R, B = R);
15
+ let V;
16
+ S && (V = "page");
17
+ let H = null;
18
+ b != null && (H = /* @__PURE__ */ d("span", {
19
+ className: i,
20
+ children: b
21
+ }));
22
+ let U = null;
23
+ w && (U = re);
24
+ let de = e(l, U), W = null;
25
+ if (x != null) {
26
+ let t = null;
27
+ w && (t = n), W = /* @__PURE__ */ d("span", {
28
+ className: e(ne, t),
29
+ children: x
30
+ });
31
+ }
32
+ let G = /* @__PURE__ */ f(ie, { children: [
33
+ H,
34
+ /* @__PURE__ */ d("span", {
35
+ className: de,
36
+ children: _
37
+ }),
38
+ W
39
+ ] }), K = () => {
40
+ ae?.();
41
+ }, q = !w && !C && (E != null || D != null), J = p(() => {
42
+ j.current != null && (clearTimeout(j.current), j.current = null);
43
+ }, []);
44
+ m(() => (q || (N(!1), F(!1), J()), () => {
45
+ J();
46
+ }), [J, q]);
47
+ let fe = () => {
48
+ q && (J(), j.current = setTimeout(() => {
49
+ N(!0);
50
+ }, 150));
51
+ }, pe = () => {
52
+ J(), N(!1);
53
+ }, me = () => {
54
+ q && F(!0);
55
+ }, he = (e) => {
56
+ if (!q) {
57
+ F(!1);
58
+ return;
59
+ }
60
+ let t = e.relatedTarget;
61
+ t != null && A.current?.contains(t) || F(!1);
62
+ }, Y;
63
+ Y = C ? /* @__PURE__ */ d("span", {
64
+ className: u,
65
+ "aria-disabled": "true",
66
+ "aria-label": z,
67
+ title: B,
68
+ children: G
69
+ }) : y == null ? /* @__PURE__ */ d("button", {
70
+ type: "button",
71
+ className: u,
72
+ onClick: K,
73
+ "aria-current": V,
74
+ "aria-label": z,
75
+ title: B,
76
+ children: G
77
+ }) : /* @__PURE__ */ d(v, {
78
+ to: y,
79
+ className: u,
80
+ "aria-current": V,
81
+ "aria-label": z,
82
+ title: B,
83
+ onClick: K,
84
+ children: G
85
+ });
86
+ let ge = q && (M || P), X;
87
+ ge && (X = te);
88
+ let _e = e(ee, X), Z = null;
89
+ D != null && !w && (Z = /* @__PURE__ */ d("button", {
90
+ type: "button",
91
+ className: r,
92
+ draggable: k,
93
+ onDragStart: oe,
94
+ onDragEnd: le,
95
+ "aria-label": O,
96
+ title: O,
97
+ children: D
98
+ }));
99
+ let Q = null;
100
+ E != null && !w && (Q = /* @__PURE__ */ d("span", {
101
+ className: t,
102
+ children: E
103
+ }));
104
+ let $ = null;
105
+ return q && ($ = /* @__PURE__ */ f("span", {
106
+ className: _e,
107
+ children: [Z, Q]
108
+ })), /* @__PURE__ */ f("div", {
109
+ className: L,
110
+ onDragOver: se,
111
+ onDrop: ce,
112
+ onMouseEnter: fe,
113
+ onMouseLeave: pe,
114
+ onFocusCapture: me,
115
+ onBlurCapture: he,
116
+ ref: A,
117
+ children: [Y, $]
118
+ });
119
+ };
120
+ //#endregion
121
+ export { y as SidebarNavItem, y as default };
122
+
123
+ //# sourceMappingURL=SidebarNavItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItem.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_nav_item/SidebarNavItem.tsx"],"sourcesContent":["import { Link } from '@plumile/router';\nimport {\n type AnchorHTMLAttributes,\n type ComponentPropsWithoutRef,\n type DragEvent,\n type FocusEvent,\n type JSX,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport * as styles from './sidebarNavItem.css.js';\nimport { cx } from '@plumile/ui';\n\ntype RouterLinkProps = ComponentPropsWithoutRef<typeof Link> &\n AnchorHTMLAttributes<HTMLAnchorElement>;\nconst RouterLink = Link as unknown as (props: RouterLinkProps) => JSX.Element;\n\nexport type SidebarNavItemProps = {\n label: ReactNode;\n href?: string;\n icon?: ReactNode;\n badge?: ReactNode;\n isActive?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n onDragStart?: (event: DragEvent) => void;\n onDragOver?: (event: DragEvent) => void;\n onDrop?: (event: DragEvent) => void;\n onDragEnd?: (event: DragEvent) => void;\n collapsed?: boolean;\n ariaLabel?: string;\n className?: string;\n actionSlot?: ReactNode;\n dragHandleSlot?: ReactNode;\n dragHandleLabel?: string;\n draggable?: boolean;\n};\n\nexport const SidebarNavItem = ({\n label,\n href,\n icon,\n badge,\n isActive = false,\n disabled = false,\n onClick,\n onDragStart,\n onDragOver,\n onDrop,\n onDragEnd,\n collapsed = false,\n ariaLabel,\n className,\n actionSlot,\n dragHandleSlot,\n dragHandleLabel,\n draggable = false,\n}: SidebarNavItemProps): JSX.Element => {\n const itemRef = useRef<HTMLDivElement | null>(null);\n const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [isHoverIntent, setIsHoverIntent] = useState(false);\n const [isFocusWithin, setIsFocusWithin] = useState(false);\n\n const itemClassNames: (string | null | undefined)[] = [styles.item];\n if (collapsed) {\n itemClassNames.push(styles.itemCollapsed);\n }\n if (isActive) {\n itemClassNames.push(styles.itemActive);\n }\n if (disabled) {\n itemClassNames.push(styles.itemDisabled);\n }\n if (className != null) {\n itemClassNames.push(className);\n }\n const itemClassName = cx(...itemClassNames);\n\n let resolvedAriaLabel: string | undefined = ariaLabel;\n if (resolvedAriaLabel == null && typeof label === 'string') {\n resolvedAriaLabel = label;\n }\n\n let collapsedAriaLabel: string | undefined;\n let collapsedTitle: string | undefined;\n if (collapsed) {\n collapsedAriaLabel = resolvedAriaLabel;\n collapsedTitle = resolvedAriaLabel;\n }\n\n let ariaCurrent: 'page' | undefined;\n if (isActive) {\n ariaCurrent = 'page';\n }\n\n let iconNode: JSX.Element | null = null;\n if (icon != null) {\n iconNode = <span className={styles.icon}>{icon}</span>;\n }\n\n let labelExtraClass: string | null = null;\n if (collapsed) {\n labelExtraClass = styles.labelCollapsed;\n }\n const labelClassName = cx(styles.label, labelExtraClass);\n\n let badgeNode: JSX.Element | null = null;\n if (badge != null) {\n let badgeExtraClass: string | null = null;\n if (collapsed) {\n badgeExtraClass = styles.badgeCollapsed;\n }\n badgeNode = (\n <span className={cx(styles.badge, badgeExtraClass)}>{badge}</span>\n );\n }\n\n const content = (\n <>\n {iconNode}\n <span className={labelClassName}>{label}</span>\n {badgeNode}\n </>\n );\n\n const handleClick = (): void => {\n if (onClick != null) {\n onClick();\n }\n };\n\n const shouldRenderActions =\n !collapsed && !disabled && (actionSlot != null || dragHandleSlot != null);\n\n const clearHoverTimeout = useCallback((): void => {\n if (hoverTimeoutRef.current != null) {\n clearTimeout(hoverTimeoutRef.current);\n hoverTimeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (!shouldRenderActions) {\n setIsHoverIntent(false);\n setIsFocusWithin(false);\n clearHoverTimeout();\n }\n\n return () => {\n clearHoverTimeout();\n };\n }, [clearHoverTimeout, shouldRenderActions]);\n\n const handleMouseEnter = (): void => {\n if (!shouldRenderActions) {\n return;\n }\n clearHoverTimeout();\n hoverTimeoutRef.current = setTimeout(() => {\n setIsHoverIntent(true);\n }, 150);\n };\n\n const handleMouseLeave = (): void => {\n clearHoverTimeout();\n setIsHoverIntent(false);\n };\n\n const handleFocusCapture = (): void => {\n if (!shouldRenderActions) {\n return;\n }\n setIsFocusWithin(true);\n };\n\n const handleBlurCapture = (event: FocusEvent<HTMLDivElement>): void => {\n if (!shouldRenderActions) {\n setIsFocusWithin(false);\n return;\n }\n const nextTarget = event.relatedTarget as Node | null;\n if (nextTarget != null && itemRef.current?.contains(nextTarget)) {\n return;\n }\n setIsFocusWithin(false);\n };\n\n let mainNode: JSX.Element;\n if (disabled) {\n mainNode = (\n <span\n className={styles.link}\n aria-disabled=\"true\"\n aria-label={collapsedAriaLabel}\n title={collapsedTitle}\n >\n {content}\n </span>\n );\n } else if (href != null) {\n mainNode = (\n <RouterLink\n to={href}\n className={styles.link}\n aria-current={ariaCurrent}\n aria-label={collapsedAriaLabel}\n title={collapsedTitle}\n onClick={handleClick}\n >\n {content}\n </RouterLink>\n );\n } else {\n mainNode = (\n <button\n type=\"button\"\n className={styles.link}\n onClick={handleClick}\n aria-current={ariaCurrent}\n aria-label={collapsedAriaLabel}\n title={collapsedTitle}\n >\n {content}\n </button>\n );\n }\n\n const isActionsVisible =\n shouldRenderActions && (isHoverIntent || isFocusWithin);\n let actionsVisibilityClass: string | undefined;\n if (isActionsVisible) {\n actionsVisibilityClass = styles.actionsVisible;\n }\n const actionsClassName = cx(styles.actions, actionsVisibilityClass);\n\n let dragHandleNode: JSX.Element | null = null;\n if (dragHandleSlot != null && !collapsed) {\n dragHandleNode = (\n <button\n type=\"button\"\n className={styles.dragHandle}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n aria-label={dragHandleLabel}\n title={dragHandleLabel}\n >\n {dragHandleSlot}\n </button>\n );\n }\n\n let actionNode: JSX.Element | null = null;\n if (actionSlot != null && !collapsed) {\n actionNode = <span className={styles.actionSlot}>{actionSlot}</span>;\n }\n\n let actionsNode: JSX.Element | null = null;\n if (shouldRenderActions) {\n actionsNode = (\n <span className={actionsClassName}>\n {dragHandleNode}\n {actionNode}\n </span>\n );\n }\n\n return (\n <div\n className={itemClassName}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocusCapture={handleFocusCapture}\n onBlurCapture={handleBlurCapture}\n ref={itemRef}\n >\n {mainNode}\n {actionsNode}\n </div>\n );\n};\n\nexport default SidebarNavItem;\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.ts
4
+ var e = "_1nm2b9q0 txvbqb9jf txvbqbco txvbqbanx txvbqb7d txvbqb6x txvbqb7k txvbqbaj6 txvbqbvab txvbqbtuo txvbqb2k", t = "_1nm2b9q1 txvbqbvb5 txvbqbtux txvbqb2l", n = "_1nm2b9q3 _1nm2b9q2 txvbqbnv6 txvbqboif txvbqbp5f txvbqblx6 txvbqb9io txvbqbco txvbqbao6 txvbqb1rf txvbqb8x txvbqb78 txvbqb6x txvbqb7k txvbqbv txvbqbv8r", r = "_1nm2b9q4 txvbqbnux txvbqboi6 txvbqbdnx", i = "_1nm2b9q5 txvbqbamo txvbqbv2v txvbqbv8p txvbqb8tx", a = "_1nm2b9q7 _1nm2b9q6 txvbqbv8t txvbqbr", o = "_1nm2b9q8 txvbqb9io txvbqbco txvbqbao6 txvbqb9mx txvbqbk4x txvbqb3b txvbqbuzj txvbqb12f txvbqb1px txvbqbl9f txvbqbt5o txvbqbv4x txvbqb1p", s = "_1nm2b9q9 txvbqb9jf txvbqbco", c = "_1nm2b9qb _1nm2b9qa txvbqb9jf txvbqbco txvbqbdnx txvbqbtwo txvbqbc66 txvbqb1rf txvbqb12f txvbqb1px txvbqbl9f txvbqbuzj txvbqbv8r txvbqbi", l = "_1nm2b9qc txvbqb9jf txvbqbco txvbqbdnx txvbqbtwo txvbqbc66 txvbqbaj6 txvbqbv4x", u = "_1nm2b9qd txvbqb9mx txvbqbk4x", d = "_1nm2b9qe txvbqb9hx", f = "_1nm2b9qf txvbqb9jf txvbqbco txvbqbdnx txvbqbaj6", p = "_1nm2b9qg txvbqb9hx";
5
+ //#endregion
6
+ export { s as actionSlot, e as actions, t as actionsVisible, f as badge, p as badgeCollapsed, c as dragHandle, l as icon, n as item, i as itemActive, r as itemCollapsed, a as itemDisabled, u as label, d as labelCollapsed, o as link };
7
+
8
+ //# sourceMappingURL=sidebarNavItem.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebarNavItem.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.js';\n\nconst inlineFlex = 'inline-flex';\n\nexport const actions = sprinkles({\n display: inlineFlex,\n alignItems: 'center',\n gap: 1,\n transitionProperty: 'opacity',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n flexShrink: 0,\n opacity: 0,\n visibility: 'hidden',\n pointerEvents: 'none',\n});\n\nexport const actionsVisible = sprinkles({\n opacity: 100,\n visibility: 'visible',\n pointerEvents: 'auto',\n});\n\nexport const item = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n paddingY: 2,\n paddingX: 3,\n borderRadius: 'md',\n fontSize: 'sm',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n cursor: 'pointer',\n color: 'textSecondary',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n color: vars.colors.text,\n },\n },\n },\n]);\n\nexport const itemCollapsed = sprinkles({\n justifyContent: 'center',\n paddingX: 2,\n});\n\nexport const itemActive = sprinkles({\n fontWeight: 'semibold',\n backgroundColor: 'surfaceMuted',\n color: 'text',\n boxShadow: 'sidebarActiveInset',\n});\n\nexport const itemDisabled = style([\n sprinkles({\n color: 'textMuted',\n cursor: 'not-allowed',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n },\n]);\n\nexport const link = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n flex: 1,\n minWidth: 0,\n textDecoration: 'none',\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'none',\n padding: 0,\n textAlign: 'left',\n color: 'inherit',\n font: 'inherit',\n});\n\nexport const actionSlot = sprinkles({\n display: inlineFlex,\n alignItems: 'center',\n});\n\nexport const dragHandle = style([\n sprinkles({\n display: inlineFlex,\n alignItems: 'center',\n justifyContent: 'center',\n width: 6,\n height: 6,\n borderRadius: 'md',\n borderWidth: 0,\n borderStyle: 'none',\n padding: 0,\n backgroundColor: 'transparent',\n color: 'textSecondary',\n cursor: 'grab',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n color: vars.colors.text,\n },\n '&:active': {\n cursor: 'grabbing',\n },\n },\n },\n]);\n\nexport const icon = sprinkles({\n display: inlineFlex,\n alignItems: 'center',\n justifyContent: 'center',\n width: 6,\n height: 6,\n flexShrink: 0,\n color: 'inherit',\n});\n\nexport const label = sprinkles({\n flex: 1,\n minWidth: 0,\n});\n\nexport const labelCollapsed = sprinkles({\n display: 'none',\n});\n\nexport const badge = sprinkles({\n display: inlineFlex,\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n});\n\nexport const badgeCollapsed = sprinkles({\n display: 'none',\n});\n"],"mappings":""}
@@ -0,0 +1,64 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { ChevronDownSvg as t } from "../../../icons/ChevronDownSvg.js";
3
+ import { SidebarNavItem as n } from "../sidebar_nav_item/SidebarNavItem.js";
4
+ import { header as r, items as i, section as a, title as o, toggle as s } from "./sidebarNavSection.css.js";
5
+ import "../../../index.js";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { useCallback as u, useMemo as d, useState as f } from "react";
8
+ //#region src/backoffice/molecules/sidebar_nav_section/SidebarNavSection.tsx
9
+ var p = ({ title: p, items: m, collapsible: h = !1, isCollapsed: g, defaultCollapsed: _ = !1, onCollapsedChange: v, collapsed: y = !1, className: b }) => {
10
+ let [x, S] = f(_), C = g ?? x, w = h, T = u(() => {
11
+ if (!w) return;
12
+ let e = !C;
13
+ g ?? S(e), v?.(e);
14
+ }, [
15
+ w,
16
+ C,
17
+ g,
18
+ v
19
+ ]), E = d(() => {
20
+ let e = "rotate(0deg)";
21
+ return C && (e = "rotate(-90deg)"), {
22
+ transform: e,
23
+ transition: "transform 120ms ease"
24
+ };
25
+ }, [C]), D = null;
26
+ if (p != null) {
27
+ let e = null;
28
+ w && (e = /* @__PURE__ */ c("button", {
29
+ type: "button",
30
+ className: s,
31
+ onClick: T,
32
+ "aria-expanded": !C,
33
+ children: /* @__PURE__ */ c(t, {
34
+ width: 18,
35
+ height: 18,
36
+ style: E
37
+ })
38
+ })), D = /* @__PURE__ */ l("div", {
39
+ className: r,
40
+ children: [/* @__PURE__ */ c("div", {
41
+ className: o,
42
+ children: p
43
+ }), e]
44
+ });
45
+ }
46
+ let O = null;
47
+ return C || (O = /* @__PURE__ */ c("div", {
48
+ className: i,
49
+ children: m.map((e) => {
50
+ let { id: t, data: r, ...i } = e;
51
+ return /* @__PURE__ */ c(n, {
52
+ ...i,
53
+ collapsed: y
54
+ }, t);
55
+ })
56
+ })), /* @__PURE__ */ l("section", {
57
+ className: e(a, b),
58
+ children: [D, O]
59
+ });
60
+ };
61
+ //#endregion
62
+ export { p as SidebarNavSection, p as default };
63
+
64
+ //# sourceMappingURL=SidebarNavSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavSection.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_nav_section/SidebarNavSection.tsx"],"sourcesContent":["import {\n type JSX,\n type ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\n\nimport { ChevronDownSvg } from '@plumile/ui/icons/ChevronDownSvg.js';\n\nimport {\n SidebarNavItem,\n type SidebarNavItemProps,\n} from '../sidebar_nav_item/SidebarNavItem.js';\nimport * as styles from './sidebarNavSection.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type SidebarNavSectionItemData = {\n kind: 'dashboard' | 'entity' | 'tool';\n id: string;\n groupId?: string;\n};\n\nexport type SidebarNavSectionItem = SidebarNavItemProps & {\n id: string;\n data?: SidebarNavSectionItemData;\n};\n\nexport type SidebarNavSectionProps = {\n title?: ReactNode;\n items: readonly SidebarNavSectionItem[];\n collapsible?: boolean;\n isCollapsed?: boolean;\n defaultCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n collapsed?: boolean;\n className?: string;\n};\n\nexport const SidebarNavSection = ({\n title,\n items,\n collapsible = false,\n isCollapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n collapsed: sidebarCollapsed = false,\n className,\n}: SidebarNavSectionProps): JSX.Element => {\n const [uncontrolledCollapsed, setUncontrolledCollapsed] =\n useState(defaultCollapsed);\n\n const collapsed = isCollapsed ?? uncontrolledCollapsed;\n\n const canCollapse = collapsible;\n\n const handleToggle = useCallback(() => {\n if (!canCollapse) {\n return;\n }\n const next = !collapsed;\n if (isCollapsed == null) {\n setUncontrolledCollapsed(next);\n }\n onCollapsedChange?.(next);\n }, [canCollapse, collapsed, isCollapsed, onCollapsedChange]);\n\n const iconStyle = useMemo(() => {\n let rotate = 'rotate(0deg)';\n if (collapsed) {\n rotate = 'rotate(-90deg)';\n }\n return { transform: rotate, transition: 'transform 120ms ease' } as const;\n }, [collapsed]);\n\n let headerNode: JSX.Element | null = null;\n if (title != null) {\n let collapseToggleNode: JSX.Element | null = null;\n if (canCollapse) {\n collapseToggleNode = (\n <button\n type=\"button\"\n className={styles.toggle}\n onClick={handleToggle}\n aria-expanded={!collapsed}\n >\n <ChevronDownSvg width={18} height={18} style={iconStyle} />\n </button>\n );\n }\n\n headerNode = (\n <div className={styles.header}>\n <div className={styles.title}>{title}</div>\n {collapseToggleNode}\n </div>\n );\n }\n\n let itemsNode: JSX.Element | null = null;\n if (!collapsed) {\n itemsNode = (\n <div className={styles.items}>\n {items.map((item) => {\n const { id, data, ...rest } = item;\n return (\n <SidebarNavItem key={id} {...rest} collapsed={sidebarCollapsed} />\n );\n })}\n </div>\n );\n }\n\n return (\n <section className={cx(styles.section, className)}>\n {headerNode}\n {itemsNode}\n </section>\n );\n};\n\nexport default SidebarNavSection;\n"],"mappings":";;;;;;;;AAuCA,IAAa,KAAqB,EAChC,OAAA,GACA,OAAA,GACA,iBAAc,IACd,gBACA,sBAAmB,IACnB,sBACA,WAAW,IAAmB,IAC9B,mBACyC;CACzC,IAAM,CAAC,GAAuB,KAC5B,EAAS,EAAiB,EAEtB,IAAY,KAAe,GAE3B,IAAc,GAEd,IAAe,QAAkB;AACrC,MAAI,CAAC,EACH;EAEF,IAAM,IAAO,CAAC;AAId,EAHI,KACF,EAAyB,EAAK,EAEhC,IAAoB,EAAK;IACxB;EAAC;EAAa;EAAW;EAAa;EAAkB,CAAC,EAEtD,IAAY,QAAc;EAC9B,IAAI,IAAS;AAIb,SAHI,MACF,IAAS,mBAEJ;GAAE,WAAW;GAAQ,YAAY;GAAwB;IAC/D,CAAC,EAAU,CAAC,EAEX,IAAiC;AACrC,KAAI,KAAS,MAAM;EACjB,IAAI,IAAyC;AAc7C,EAbI,MACF,IACE,kBAAC,UAAD;GACE,MAAK;GACL,WAAW;GACX,SAAS;GACT,iBAAe,CAAC;aAEhB,kBAAC,GAAD;IAAgB,OAAO;IAAI,QAAQ;IAAI,OAAO;IAAa,CAAA;GACpD,CAAA,GAIb,IACE,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,OAAD;IAAK,WAAW;cAAe;IAAY,CAAA,EAC1C,EACG;;;CAIV,IAAI,IAAgC;AAcpC,QAbK,MACH,IACE,kBAAC,OAAD;EAAK,WAAW;YACb,EAAM,KAAK,MAAS;GACnB,IAAM,EAAE,OAAI,SAAM,GAAG,MAAS;AAC9B,UACE,kBAAC,GAAD;IAAyB,GAAI;IAAM,WAAW;IAAoB,EAA7C,EAA6C;IAEpE;EACE,CAAA,GAKR,kBAAC,WAAD;EAAS,WAAW,EAAG,GAAgB,EAAU;YAAjD,CACG,GACA,EACO"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.ts
4
+ var e = "_1rp5mg60 txvbqb9io txvbqbai6 txvbqbao6", t = "_1rp5mg61 txvbqbnux txvbqboi6 txvbqbp56 txvbqblwx txvbqb9io txvbqbco txvbqbdoo txvbqbao6", n = "_1rp5mg62 txvbqb8f txvbqbamo txvbqb66 txvbqbv8t txvbqbedo", r = "_1rp5mg64 _1rp5mg63 txvbqb9jf txvbqbco txvbqbdnx txvbqbtwx txvbqbc6f txvbqb1rf txvbqbv31 txvbqb12f txvbqb1px txvbqbv txvbqbv8r", i = "_1rp5mg65 txvbqb9io txvbqbai6 txvbqbb9o";
5
+ //#endregion
6
+ export { t as header, i as items, e as section, n as title, r as toggle };
7
+
8
+ //# sourceMappingURL=sidebarNavSection.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebarNavSection.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.js';\n\nexport const section = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n});\n\nexport const header = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n paddingX: 2,\n paddingY: 1,\n});\n\nexport const title = sprinkles({\n fontSize: '2xs',\n fontWeight: 'semibold',\n textTransform: 'uppercase',\n color: 'textMuted',\n letterSpacing: 'wide',\n});\n\nexport const toggle = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n borderRadius: 'md',\n backgroundColor: 'backgroundSecondary',\n borderWidth: 0,\n borderStyle: 'none',\n cursor: 'pointer',\n color: 'textSecondary',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n color: vars.colors.text,\n },\n },\n },\n]);\n\nexport const items = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n});\n"],"mappings":""}
@@ -0,0 +1,69 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { ChevronDownSvg as t } from "../../../icons/ChevronDownSvg.js";
3
+ import { Dropdown as n } from "../../../atomic/molecules/dropdown/Dropdown.js";
4
+ import { ProfileDropdownLogoutSvg as r } from "../../../icons/ProfileDropdownLogoutSvg.js";
5
+ import { avatar as i, container as a, hidden as o, menu as s, menuIcon as c, menuItem as l, title as u, trigger as d, triggerMain as f } from "./sidebarProfileMenu.css.js";
6
+ import "../../../index.js";
7
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
8
+ //#region src/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.tsx
9
+ var h = ({ viewer: h, collapsed: g, labels: _, onSignOut: v, isSigningOut: y = !1, className: b }) => {
10
+ let x = u;
11
+ return g && (x = o), /* @__PURE__ */ m("div", {
12
+ className: e(a, b),
13
+ children: [/* @__PURE__ */ p("div", {
14
+ className: x,
15
+ children: _.sectionTitle
16
+ }), /* @__PURE__ */ p(n, {
17
+ trigger: (n) => /* @__PURE__ */ m("button", {
18
+ type: "button",
19
+ className: d({ collapsed: g }),
20
+ "aria-label": h.ariaLabel,
21
+ children: [/* @__PURE__ */ m("span", {
22
+ className: f,
23
+ children: [/* @__PURE__ */ p("span", {
24
+ className: i,
25
+ children: h.initials
26
+ }), !g && /* @__PURE__ */ m("span", {
27
+ className: "_1uw3f9ob txvbqb9io txvbqbai6 txvbqbk4x",
28
+ children: [/* @__PURE__ */ p("span", {
29
+ className: "_1uw3f9oc txvbqb8x txvbqbamo txvbqbv8p txvbqbuw6 txvbqbl6f txvbqbt6f",
30
+ children: h.displayName
31
+ }), /* @__PURE__ */ p("span", {
32
+ className: "_1uw3f9od txvbqb8o txvbqbv8r txvbqbuw6 txvbqbl6f txvbqbt6f",
33
+ children: h.email
34
+ })]
35
+ })]
36
+ }), !g && /* @__PURE__ */ p(t, {
37
+ width: 16,
38
+ height: 16,
39
+ className: e("_1uw3f9oe txvbqbv8r txvbqb7g txvbqb6w txvbqb7k", { "_1uw3f9of txvbqb2w": n })
40
+ })]
41
+ }),
42
+ ariaLabel: _.menuAriaLabel,
43
+ placement: "top-start",
44
+ closeOnItemClick: !0,
45
+ matchTriggerWidth: !1,
46
+ children: /* @__PURE__ */ p("div", {
47
+ className: s,
48
+ children: /* @__PURE__ */ m("button", {
49
+ type: "button",
50
+ role: "menuitem",
51
+ className: l,
52
+ onClick: v,
53
+ disabled: y,
54
+ children: [/* @__PURE__ */ p("span", {
55
+ className: c,
56
+ children: /* @__PURE__ */ p(r, {
57
+ width: 16,
58
+ height: 16
59
+ })
60
+ }), _.signOut]
61
+ })
62
+ })
63
+ })]
64
+ });
65
+ };
66
+ //#endregion
67
+ export { h as BackofficeSidebarProfileMenu, h as default };
68
+
69
+ //# sourceMappingURL=BackofficeSidebarProfileMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeSidebarProfileMenu.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { Dropdown } from '@plumile/ui/atomic/molecules/dropdown/Dropdown.js';\nimport { ChevronDownSvg } from '@plumile/ui/icons/ChevronDownSvg.js';\nimport { ProfileDropdownLogoutSvg } from '@plumile/ui/icons/ProfileDropdownLogoutSvg.js';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './sidebarProfileMenu.css.js';\n\nexport type BackofficeSidebarProfileViewer = {\n displayName: string;\n email: string;\n initials: string;\n ariaLabel: string;\n};\n\nexport type BackofficeSidebarProfileMenuLabels = {\n sectionTitle: string;\n menuAriaLabel: string;\n signOut: string;\n};\n\nexport type BackofficeSidebarProfileMenuProps = {\n viewer: BackofficeSidebarProfileViewer;\n collapsed: boolean;\n labels: BackofficeSidebarProfileMenuLabels;\n onSignOut: () => void;\n isSigningOut?: boolean;\n className?: string;\n};\n\nexport const BackofficeSidebarProfileMenu = ({\n viewer,\n collapsed,\n labels,\n onSignOut,\n isSigningOut = false,\n className,\n}: BackofficeSidebarProfileMenuProps): JSX.Element => {\n let titleClassName = styles.title;\n if (collapsed) {\n titleClassName = styles.hidden;\n }\n\n return (\n <div className={cx(styles.container, className)}>\n <div className={titleClassName}>{labels.sectionTitle}</div>\n <Dropdown\n trigger={(isOpen: boolean) => {\n return (\n <button\n type=\"button\"\n className={styles.trigger({ collapsed })}\n aria-label={viewer.ariaLabel}\n >\n <span className={styles.triggerMain}>\n <span className={styles.avatar}>{viewer.initials}</span>\n {!collapsed && (\n <span className={styles.identity}>\n <span className={styles.displayName}>\n {viewer.displayName}\n </span>\n <span className={styles.email}>{viewer.email}</span>\n </span>\n )}\n </span>\n {!collapsed && (\n <ChevronDownSvg\n width={16}\n height={16}\n className={cx(styles.chevron, {\n [styles.chevronOpen]: isOpen,\n })}\n />\n )}\n </button>\n );\n }}\n ariaLabel={labels.menuAriaLabel}\n placement=\"top-start\"\n closeOnItemClick\n matchTriggerWidth={false}\n >\n <div className={styles.menu}>\n <button\n type=\"button\"\n role=\"menuitem\"\n className={styles.menuItem}\n onClick={onSignOut}\n disabled={isSigningOut}\n >\n <span className={styles.menuIcon}>\n <ProfileDropdownLogoutSvg width={16} height={16} />\n </span>\n {labels.signOut}\n </button>\n </div>\n </Dropdown>\n </div>\n );\n};\n\nexport default BackofficeSidebarProfileMenu;\n"],"mappings":";;;;;;;;AA+BA,IAAa,KAAgC,EAC3C,WACA,cACA,WACA,cACA,kBAAe,IACf,mBACoD;CACpD,IAAI,IAAiB;AAKrB,QAJI,MACF,IAAiB,IAIjB,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C,CACE,kBAAC,OAAD;GAAK,WAAW;aAAiB,EAAO;GAAmB,CAAA,EAC3D,kBAAC,GAAD;GACE,UAAU,MAEN,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAe,EAAE,cAAW,CAAC;IACxC,cAAY,EAAO;cAHrB,CAKE,kBAAC,QAAD;KAAM,WAAW;eAAjB,CACE,kBAAC,QAAD;MAAM,WAAW;gBAAgB,EAAO;MAAgB,CAAA,EACvD,CAAC,KACA,kBAAC,QAAD;MAAM,WAAW;gBAAjB,CACE,kBAAC,QAAD;OAAM,WAAW;iBACd,EAAO;OACH,CAAA,EACP,kBAAC,QAAD;OAAM,WAAW;iBAAe,EAAO;OAAa,CAAA,CAC/C;QAEJ;QACN,CAAC,KACA,kBAAC,GAAD;KACE,OAAO;KACP,QAAQ;KACR,WAAW,EAAG,kDAAgB,EAC3B,sBAAqB,GACvB,CAAC;KACF,CAAA,CAEG;;GAGb,WAAW,EAAO;GAClB,WAAU;GACV,kBAAA;GACA,mBAAmB;aAEnB,kBAAC,OAAD;IAAK,WAAW;cACd,kBAAC,UAAD;KACE,MAAK;KACL,MAAK;KACL,WAAW;KACX,SAAS;KACT,UAAU;eALZ,CAOE,kBAAC,QAAD;MAAM,WAAW;gBACf,kBAAC,GAAD;OAA0B,OAAO;OAAI,QAAQ;OAAM,CAAA;MAC9C,CAAA,EACN,EAAO,QACD;;IACL,CAAA;GACG,CAAA,CACP"}
@@ -0,0 +1,17 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
+ //#region src/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.ts
5
+ var t = "_1uw3f9o0 txvbqb9io txvbqbai6 txvbqbao6 txvbqbu6f", n = "_1uw3f9o1 txvbqbnuo txvbqbohx txvbqb8o txvbqbamo txvbqbv8r", r = "_1uw3f9o2 txvbqb9hx", i = e({
6
+ defaultClassName: "_1uw3f9o6 _1uw3f9o3 txvbqb9io txvbqbco txvbqbu6f txvbqb1co txvbqb1qf txvbqbwo txvbqb1ro txvbqbv2t txvbqb78 txvbqb6w txvbqb7k txvbqbv",
7
+ variantClassNames: { collapsed: {
8
+ true: "_1uw3f9o7 _1uw3f9o4 txvbqbdnx txvbqbl9x",
9
+ false: "_1uw3f9o8 _1uw3f9o5 txvbqbnv6 txvbqboif txvbqbp5f txvbqblx6 txvbqbdoo txvbqbao6"
10
+ } },
11
+ defaultVariants: { collapsed: !1 },
12
+ compoundVariants: []
13
+ }), a = "_1uw3f9o9 txvbqb9io txvbqbco txvbqbao6 txvbqbk4x txvbqb9mx", o = "_1uw3f9oa txvbqbtx6 txvbqbc6o txvbqbk6x txvbqbji6 txvbqb1t6 txvbqb9io txvbqbco txvbqbdnx txvbqb8o txvbqbamo txvbqbv9z txvbqbuy6 txvbqb66", s = "_1uw3f9ob txvbqb9io txvbqbai6 txvbqbk4x", c = "_1uw3f9oc txvbqb8x txvbqbamo txvbqbv8p txvbqbuw6 txvbqbl6f txvbqbt6f", l = "_1uw3f9od txvbqb8o txvbqbv8r txvbqbuw6 txvbqbl6f txvbqbt6f", u = "_1uw3f9oe txvbqbv8r txvbqb7g txvbqb6w txvbqb7k", d = "_1uw3f9of txvbqb2w", f = "_1uw3f9og txvbqbkcf txvbqbl9x txvbqb9io txvbqbai6 txvbqbanx", p = "_1uw3f9oi _1uw3f9oh txvbqbnv6 txvbqboif txvbqbp5f txvbqblx6 txvbqb9io txvbqbco txvbqbao6 txvbqbu6f txvbqb12f txvbqb1px txvbqb1rf txvbqbuzj txvbqbv8p txvbqb8x txvbqbamf txvbqbt5o txvbqbv txvbqb78 txvbqb6w txvbqb7k", m = "_1uw3f9oj txvbqb9jf txvbqbco txvbqbv8r";
14
+ //#endregion
15
+ export { o as avatar, u as chevron, d as chevronOpen, t as container, c as displayName, l as email, r as hidden, s as identity, f as menu, m as menuIcon, p as menuItem, n as title, i as trigger, a as triggerMain };
16
+
17
+ //# sourceMappingURL=sidebarProfileMenu.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebarProfileMenu.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.js';\n\nexport const container = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n width: 'full',\n});\n\nexport const title = sprinkles({\n fontSize: 'xs',\n fontWeight: 'semibold',\n color: 'textSecondary',\n paddingX: 1,\n});\n\nexport const hidden = sprinkles({\n display: 'none',\n});\n\nexport const trigger = recipe({\n base: [\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n width: 'full',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n borderRadius: 'lg',\n backgroundColor: 'surfaceSecondary',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n cursor: 'pointer',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceElevated,\n borderColor: vars.colors.borderStrong,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n ],\n variants: {\n collapsed: {\n true: sprinkles({\n justifyContent: 'center',\n padding: 2,\n }),\n false: sprinkles({\n justifyContent: 'space-between',\n gap: 2,\n paddingY: 2,\n paddingX: 3,\n }),\n },\n },\n defaultVariants: {\n collapsed: false,\n },\n});\n\nexport const triggerMain = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n minWidth: 0,\n flex: 1,\n});\n\nexport const avatar = sprinkles({\n width: 8,\n height: 8,\n minWidth: 8,\n minHeight: 8,\n borderRadius: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: 'xs',\n fontWeight: 'semibold',\n color: 'brandWhite',\n backgroundImage: 'brandDiagonal',\n textTransform: 'uppercase',\n});\n\nexport const identity = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n minWidth: 0,\n});\n\nexport const displayName = sprinkles({\n fontSize: 'sm',\n fontWeight: 'semibold',\n color: 'text',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n});\n\nexport const email = sprinkles({\n fontSize: 'xs',\n color: 'textSecondary',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n});\n\nexport const chevron = sprinkles({\n color: 'textSecondary',\n transitionProperty: 'transform',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n});\n\nexport const chevronOpen = sprinkles({\n rotate: 180,\n});\n\nexport const menu = sprinkles({\n minWidth: 56,\n padding: 2,\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n});\n\nexport const menuItem = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n width: 'full',\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'md',\n backgroundColor: 'transparent',\n color: 'text',\n fontSize: 'sm',\n fontWeight: 'medium',\n textAlign: 'left',\n cursor: 'pointer',\n paddingY: 2,\n paddingX: 3,\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: vars.colors.surfaceSecondary,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n opacity: 0.6,\n cursor: 'not-allowed',\n },\n },\n },\n]);\n\nexport const menuIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'textSecondary',\n});\n"],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { bottomRow as t, container as n, left as r, right as i, topRow as a } from "./tableToolbar.css.js";
3
+ import "../../../index.js";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ //#region src/backoffice/molecules/table_toolbar/TableToolbar.tsx
6
+ var c = ({ search: c, filters: l, leftActions: u, rightActions: d, bottomLeft: f, bottomRight: p, className: m }) => {
7
+ let h = c != null || l != null || u != null || d != null, g = f != null || p != null;
8
+ if (!h && !g) return null;
9
+ let _ = null;
10
+ h && (_ = /* @__PURE__ */ s("div", {
11
+ className: a,
12
+ children: [/* @__PURE__ */ s("div", {
13
+ className: r,
14
+ children: [
15
+ c,
16
+ l,
17
+ u
18
+ ]
19
+ }), /* @__PURE__ */ o("div", {
20
+ className: i,
21
+ children: d
22
+ })]
23
+ }));
24
+ let v = null;
25
+ return g && (v = /* @__PURE__ */ s("div", {
26
+ className: t,
27
+ children: [/* @__PURE__ */ o("div", {
28
+ className: r,
29
+ children: f
30
+ }), /* @__PURE__ */ o("div", {
31
+ className: i,
32
+ children: p
33
+ })]
34
+ })), /* @__PURE__ */ s("div", {
35
+ className: e(n, m),
36
+ children: [_, v]
37
+ });
38
+ };
39
+ //#endregion
40
+ export { c as TableToolbar, c as default };
41
+
42
+ //# sourceMappingURL=TableToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableToolbar.js","names":[],"sources":["../../../../../src/backoffice/molecules/table_toolbar/TableToolbar.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './tableToolbar.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type TableToolbarProps = {\n search?: ReactNode;\n filters?: ReactNode;\n leftActions?: ReactNode;\n rightActions?: ReactNode;\n bottomLeft?: ReactNode;\n bottomRight?: ReactNode;\n className?: string;\n};\n\nexport const TableToolbar = ({\n search,\n filters,\n leftActions,\n rightActions,\n bottomLeft,\n bottomRight,\n className,\n}: TableToolbarProps): JSX.Element | null => {\n const showTop =\n search != null ||\n filters != null ||\n leftActions != null ||\n rightActions != null;\n const showBottom = bottomLeft != null || bottomRight != null;\n\n if (!showTop && !showBottom) {\n return null;\n }\n\n let topNode: JSX.Element | null = null;\n if (showTop) {\n topNode = (\n <div className={styles.topRow}>\n <div className={styles.left}>\n {search}\n {filters}\n {leftActions}\n </div>\n <div className={styles.right}>{rightActions}</div>\n </div>\n );\n }\n\n let bottomNode: JSX.Element | null = null;\n if (showBottom) {\n bottomNode = (\n <div className={styles.bottomRow}>\n <div className={styles.left}>{bottomLeft}</div>\n <div className={styles.right}>{bottomRight}</div>\n </div>\n );\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {topNode}\n {bottomNode}\n </div>\n );\n};\n\nexport default TableToolbar;\n"],"mappings":";;;;;AAeA,IAAa,KAAgB,EAC3B,WACA,YACA,gBACA,iBACA,eACA,gBACA,mBAC2C;CAC3C,IAAM,IACJ,KAAU,QACV,KAAW,QACX,KAAe,QACf,KAAgB,MACZ,IAAa,KAAc,QAAQ,KAAe;AAExD,KAAI,CAAC,KAAW,CAAC,EACf,QAAO;CAGT,IAAI,IAA8B;AAClC,CAAI,MACF,IACE,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACG;IACA;IACA;IACG;MACN,kBAAC,OAAD;GAAK,WAAW;aAAe;GAAmB,CAAA,CAC9C;;CAIV,IAAI,IAAiC;AAUrC,QATI,MACF,IACE,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,OAAD;GAAK,WAAW;aAAc;GAAiB,CAAA,EAC/C,kBAAC,OAAD;GAAK,WAAW;aAAe;GAAkB,CAAA,CAC7C;MAKR,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C,CACG,GACA,EACG"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/backoffice/molecules/table_toolbar/tableToolbar.css.ts
4
+ var e = "_42m78o0 txvbqb9io txvbqbai6 txvbqbao6 txvbqb12f txvbqb1qf txvbqb62o txvbqb3no txvbqblxf txvbqbfzo", t = "_42m78o1 txvbqb9io txvbqbco txvbqbdoo txvbqbaof txvbqbajx", n = "_42m78o2 txvbqb9io txvbqbco txvbqbao6 txvbqb9mx txvbqbk4x", r = "_42m78o3 txvbqb9io txvbqbco txvbqbao6 txvbqbdo6 txvbqbaj6", i = "_42m78o4 txvbqb9io txvbqbco txvbqbdoo txvbqbaof txvbqbajx";
5
+ //#endregion
6
+ export { i as bottomRow, e as container, n as left, r as right, t as topRow };
7
+
8
+ //# sourceMappingURL=tableToolbar.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableToolbar.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/table_toolbar/tableToolbar.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const container = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'border',\n paddingBottom: 3,\n marginBottom: 3,\n});\n\nexport const topRow = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n flexWrap: 'wrap',\n});\n\nexport const left = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n flex: 1,\n minWidth: 0,\n});\n\nexport const right = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n justifyContent: 'flex-end',\n flexShrink: 0,\n});\n\nexport const bottomRow = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n flexWrap: 'wrap',\n});\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { PageShell as e } from "../../../components/layout/PageShell.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.tsx
4
+ var n = ({ sidebar: n, children: r, breadcrumbSlot: i, actions: a, tabs: o }) => /* @__PURE__ */ t(e, {
5
+ sidebar: n,
6
+ breadcrumbSlot: i,
7
+ actions: a,
8
+ tabs: o,
9
+ children: r
10
+ });
11
+ //#endregion
12
+ export { n as BackofficeAppShell, n as default };
13
+
14
+ //# sourceMappingURL=BackofficeAppShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeAppShell.js","names":[],"sources":["../../../../../src/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport {\n PageShell,\n type PageShellActions,\n type PageShellTab,\n} from '@plumile/ui/components/layout/PageShell.js';\n\nexport type BackofficeAppShellProps = {\n sidebar: ReactNode;\n children: ReactNode;\n breadcrumbSlot?: ReactNode;\n actions?: PageShellActions;\n tabs?: PageShellTab[];\n};\n\nexport const BackofficeAppShell = ({\n sidebar,\n children,\n breadcrumbSlot,\n actions,\n tabs,\n}: BackofficeAppShellProps): JSX.Element => {\n return (\n <PageShell\n sidebar={sidebar}\n breadcrumbSlot={breadcrumbSlot}\n actions={actions}\n tabs={tabs}\n >\n {children}\n </PageShell>\n );\n};\n\nexport default BackofficeAppShell;\n"],"mappings":";;;AAgBA,IAAa,KAAsB,EACjC,YACA,aACA,mBACA,YACA,cAGE,kBAAC,GAAD;CACW;CACO;CACP;CACH;CAEL;CACS,CAAA"}
@@ -0,0 +1,114 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { Checkbox as t } from "../../../atomic/atoms/checkbox/Checkbox.js";
3
+ import { DataTable as n } from "../../../components/data-table/DataTable.js";
4
+ import { BulkActionsBar as r } from "../../molecules/bulk_actions_bar/BulkActionsBar.js";
5
+ import { TableToolbar as i } from "../../molecules/table_toolbar/TableToolbar.js";
6
+ import { selectionCell as a, wrapper as o } from "./backofficeDataTable.css.js";
7
+ import "../../../index.js";
8
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ import { useCallback as l, useMemo as u } from "react";
10
+ //#region src/backoffice/organisms/backoffice_data_table/BackofficeDataTable.tsx
11
+ var d = (e) => {
12
+ let { rows: n, selection: r } = e, i = [];
13
+ for (let e of n) e.selectable && i.push(e.id);
14
+ let o = i.filter((e) => r.selectedRowIds.has(e)).length, c = i.length > 0 && o === i.length, l = () => {
15
+ if (i.length !== 0) {
16
+ if (c) {
17
+ r.onSelectionChange(/* @__PURE__ */ new Set());
18
+ return;
19
+ }
20
+ r.onSelectionChange(new Set(i));
21
+ }
22
+ };
23
+ return {
24
+ id: "__select",
25
+ header: /* @__PURE__ */ s("div", {
26
+ className: a,
27
+ children: /* @__PURE__ */ s(t, {
28
+ checked: c,
29
+ onChange: () => {
30
+ l();
31
+ },
32
+ "aria-label": "Select all"
33
+ })
34
+ }),
35
+ cell: (e) => {
36
+ let { id: n, selectable: i } = e;
37
+ return /* @__PURE__ */ s("div", {
38
+ className: a,
39
+ children: /* @__PURE__ */ s(t, {
40
+ checked: r.selectedRowIds.has(n),
41
+ disabled: !i,
42
+ onChange: () => {
43
+ let e = new Set(r.selectedRowIds);
44
+ e.has(n) ? e.delete(n) : i && e.add(n), r.onSelectionChange(e);
45
+ },
46
+ "aria-label": "Select row"
47
+ })
48
+ });
49
+ },
50
+ className: a
51
+ };
52
+ }, f = ({ columns: t, rows: a, getRowId: f, toolbar: p, selection: m, bulkActions: h, emptyState: g, className: _ }) => {
53
+ let v = u(() => a.map((e, t) => ({
54
+ row: e,
55
+ index: t,
56
+ id: f(e, t),
57
+ selectable: m?.isRowSelectable?.(e, t) ?? !0
58
+ })), [
59
+ f,
60
+ a,
61
+ m
62
+ ]), y = u(() => m == null ? null : d({
63
+ rows: v,
64
+ selection: m
65
+ }), [m, v]), b = u(() => {
66
+ let e = t.map((e) => ({
67
+ ...e,
68
+ cell: (t) => e.cell(t.row)
69
+ }));
70
+ return y == null ? e : [y, ...e];
71
+ }, [t, y]), x = u(() => {
72
+ if (b.some((e) => e.isPrimary === !0) || b.length === 0) return b;
73
+ let e = 0;
74
+ return y != null && b.length > 1 && (e = 1), b.map((t, n) => n === e ? {
75
+ ...t,
76
+ isPrimary: !0
77
+ } : t);
78
+ }, [b, y]), S = u(() => {
79
+ if (y != null) return `2.75rem repeat(${Math.max(0, b.length - 1)}, minmax(0, 1fr))`;
80
+ }, [b.length, y]), C = 0;
81
+ m != null && (C = m.selectedRowIds.size);
82
+ let w = l(() => {
83
+ m?.onSelectionChange(/* @__PURE__ */ new Set());
84
+ }, [m]), T = null;
85
+ p != null && (T = /* @__PURE__ */ s(i, { ...p }));
86
+ let E = null;
87
+ return m != null && (E = /* @__PURE__ */ s(r, {
88
+ selectedCount: C,
89
+ actions: h,
90
+ onClearSelection: w
91
+ })), /* @__PURE__ */ c("div", {
92
+ className: e(o, _),
93
+ children: [
94
+ T,
95
+ E,
96
+ /* @__PURE__ */ s(n, {
97
+ columns: x,
98
+ rows: v,
99
+ getRowId: (e) => e.id,
100
+ emptyState: g,
101
+ className: void 0,
102
+ headerClassName: void 0,
103
+ bodyClassName: void 0,
104
+ rowClassName: void 0,
105
+ gridTemplateClassName: void 0,
106
+ gridTemplateColumns: S
107
+ })
108
+ ]
109
+ });
110
+ };
111
+ //#endregion
112
+ export { f as BackofficeDataTable, f as default };
113
+
114
+ //# sourceMappingURL=BackofficeDataTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeDataTable.js","names":[],"sources":["../../../../../src/backoffice/organisms/backoffice_data_table/BackofficeDataTable.tsx"],"sourcesContent":["import { useCallback, useMemo, type JSX, type ReactNode } from 'react';\n\nimport { Checkbox, cx } from '@plumile/ui';\nimport {\n DataTable,\n type DataTableColumn,\n type GetRowId,\n} from '@plumile/ui/components/data-table/DataTable.js';\n\nimport { BulkActionsBar } from '../../molecules/bulk_actions_bar/BulkActionsBar.js';\nimport {\n TableToolbar,\n type TableToolbarProps,\n} from '../../molecules/table_toolbar/TableToolbar.js';\n\nimport * as styles from './backofficeDataTable.css.js';\n\nexport type BackofficeDataTableSelection<Row> = {\n selectedRowIds: ReadonlySet<string>;\n onSelectionChange: (next: ReadonlySet<string>) => void;\n isRowSelectable?: (row: Row, index: number) => boolean;\n};\n\nexport type BackofficeDataTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n toolbar?: TableToolbarProps;\n selection?: BackofficeDataTableSelection<Row>;\n bulkActions?: ReactNode;\n emptyState?: JSX.Element;\n className?: string;\n};\n\ntype WrappedRow<Row> = {\n row: Row;\n index: number;\n id: string;\n selectable: boolean;\n};\n\nconst buildSelectionColumn = <Row,>(options: {\n rows: readonly WrappedRow<Row>[];\n selection: BackofficeDataTableSelection<Row>;\n}): DataTableColumn<WrappedRow<Row>> => {\n const { rows, selection } = options;\n\n const selectableRowIds: string[] = [];\n for (const wrapped of rows) {\n if (wrapped.selectable) {\n selectableRowIds.push(wrapped.id);\n }\n }\n\n const selectedCount = selectableRowIds.filter((id) => {\n return selection.selectedRowIds.has(id);\n }).length;\n\n const isAllSelected =\n selectableRowIds.length > 0 && selectedCount === selectableRowIds.length;\n\n const toggleAll = (): void => {\n if (selectableRowIds.length === 0) {\n return;\n }\n if (isAllSelected) {\n selection.onSelectionChange(new Set());\n return;\n }\n selection.onSelectionChange(new Set(selectableRowIds));\n };\n\n return {\n id: '__select',\n header: (\n <div className={styles.selectionCell}>\n <Checkbox\n checked={isAllSelected}\n onChange={() => {\n toggleAll();\n }}\n aria-label=\"Select all\"\n />\n </div>\n ),\n cell: (wrapped) => {\n const { id: rowId, selectable } = wrapped;\n const checked = selection.selectedRowIds.has(rowId);\n\n return (\n <div className={styles.selectionCell}>\n <Checkbox\n checked={checked}\n disabled={!selectable}\n onChange={() => {\n const next = new Set(selection.selectedRowIds);\n if (next.has(rowId)) {\n next.delete(rowId);\n } else if (selectable) {\n next.add(rowId);\n }\n selection.onSelectionChange(next);\n }}\n aria-label=\"Select row\"\n />\n </div>\n );\n },\n className: styles.selectionCell,\n };\n};\n\nexport const BackofficeDataTable = <Row,>({\n columns,\n rows,\n getRowId,\n toolbar,\n selection,\n bulkActions,\n emptyState,\n className,\n}: BackofficeDataTableProps<Row>): JSX.Element => {\n const wrappedRows = useMemo<readonly WrappedRow<Row>[]>(() => {\n return rows.map((row, index) => {\n const id = getRowId(row, index);\n const selectable = selection?.isRowSelectable?.(row, index) ?? true;\n return { row, index, id, selectable };\n });\n }, [getRowId, rows, selection]);\n\n const selectionColumn = useMemo(() => {\n if (selection == null) {\n return null;\n }\n return buildSelectionColumn({ rows: wrappedRows, selection });\n }, [selection, wrappedRows]);\n\n const resolvedColumns = useMemo(() => {\n const mapped = columns.map<DataTableColumn<WrappedRow<Row>>>((column) => {\n return {\n ...column,\n cell: (wrapped: WrappedRow<Row>) => {\n return column.cell(wrapped.row);\n },\n };\n });\n if (selectionColumn == null) {\n return mapped;\n }\n return [selectionColumn, ...mapped];\n }, [columns, selectionColumn]);\n\n const columnsWithPrimary = useMemo(() => {\n const hasPrimary = resolvedColumns.some((column) => {\n return column.isPrimary === true;\n });\n if (hasPrimary) {\n return resolvedColumns;\n }\n if (resolvedColumns.length === 0) {\n return resolvedColumns;\n }\n let primaryIndex = 0;\n if (selectionColumn != null && resolvedColumns.length > 1) {\n primaryIndex = 1;\n }\n return resolvedColumns.map((column, index) => {\n if (index === primaryIndex) {\n return { ...column, isPrimary: true };\n }\n return column;\n });\n }, [resolvedColumns, selectionColumn]);\n\n const gridTemplateColumns = useMemo(() => {\n if (selectionColumn == null) {\n return undefined;\n }\n const restCount = Math.max(0, resolvedColumns.length - 1);\n return `2.75rem repeat(${restCount}, minmax(0, 1fr))`;\n }, [resolvedColumns.length, selectionColumn]);\n\n let selectedCount = 0;\n if (selection != null) {\n selectedCount = selection.selectedRowIds.size;\n }\n\n const handleClearSelection = useCallback(() => {\n if (selection != null) {\n selection.onSelectionChange(new Set());\n }\n }, [selection]);\n\n let toolbarNode: JSX.Element | null = null;\n if (toolbar != null) {\n toolbarNode = <TableToolbar {...toolbar} />;\n }\n\n let bulkActionsNode: JSX.Element | null = null;\n if (selection != null) {\n bulkActionsNode = (\n <BulkActionsBar\n selectedCount={selectedCount}\n actions={bulkActions}\n onClearSelection={handleClearSelection}\n />\n );\n }\n\n return (\n <div className={cx(styles.wrapper, className)}>\n {toolbarNode}\n {bulkActionsNode}\n\n <DataTable\n columns={columnsWithPrimary}\n rows={wrappedRows}\n getRowId={(wrapped: WrappedRow<Row>) => {\n return wrapped.id;\n }}\n emptyState={emptyState}\n className={undefined}\n headerClassName={undefined}\n bodyClassName={undefined}\n rowClassName={undefined}\n gridTemplateClassName={undefined}\n gridTemplateColumns={gridTemplateColumns}\n />\n </div>\n );\n};\n\nexport default BackofficeDataTable;\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.ts
4
+ var e = "x4h99m0 txvbqb9io txvbqbai6 txvbqbaof", t = "x4h99m1 txvbqbdnx";
5
+ //#endregion
6
+ export { t as selectionCell, e as wrapper };
7
+
8
+ //# sourceMappingURL=backofficeDataTable.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backofficeDataTable.css.js","names":[],"sources":["../../../../../src/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const wrapper = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const selectionCell = sprinkles({\n justifyContent: 'center',\n});\n"],"mappings":""}