@plumile/backoffice-react 0.2.3 → 0.2.5

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 (296) hide show
  1. package/README.md +14 -3
  2. package/lib/esm/auth/AuthRefreshNotice.js +21 -18
  3. package/lib/esm/auth/AuthRefreshNotice.js.map +1 -1
  4. package/lib/esm/auth/TotpQrCode.js +20 -12
  5. package/lib/esm/auth/TotpQrCode.js.map +1 -1
  6. package/lib/esm/auth/authRefreshNotice.css.js +2 -1
  7. package/lib/esm/auth/authRefreshNotice.css.js.map +1 -1
  8. package/lib/esm/auth/login/AuthPanel.js.map +1 -1
  9. package/lib/esm/auth/login/EmailCapturePanel.js +26 -28
  10. package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -1
  11. package/lib/esm/auth/login/LoginFlow.js +11 -11
  12. package/lib/esm/auth/login/LoginFlow.js.map +1 -1
  13. package/lib/esm/auth/login/MethodChooser.js +18 -16
  14. package/lib/esm/auth/login/MethodChooser.js.map +1 -1
  15. package/lib/esm/auth/login/MfaChallengeForm.js +47 -52
  16. package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -1
  17. package/lib/esm/auth/login/OidcButtons.js +3 -2
  18. package/lib/esm/auth/login/OidcButtons.js.map +1 -1
  19. package/lib/esm/auth/login/PasskeyLoginForm.js +13 -15
  20. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -1
  21. package/lib/esm/auth/login/PasswordLoginPanel.js +8 -8
  22. package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -1
  23. package/lib/esm/auth/login/loginPage.css.js +1 -1
  24. package/lib/esm/auth/login/loginPage.css.js.map +1 -1
  25. package/lib/esm/auth/pages/AcceptInvitationScreen.js +80 -75
  26. package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -1
  27. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js +31 -31
  28. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -1
  29. package/lib/esm/auth/pages/PasswordResetRequestScreen.js +33 -29
  30. package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -1
  31. package/lib/esm/auth/pages/VerifyEmailScreen.js +42 -40
  32. package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -1
  33. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +202 -210
  34. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -1
  35. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +1 -1
  36. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -1
  37. package/lib/esm/components/backoffice/actions/toastViewAction.js.map +1 -1
  38. package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js +36 -30
  39. package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js.map +1 -1
  40. package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js +1 -1
  41. package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js.map +1 -1
  42. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +36 -33
  43. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +1 -1
  44. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -1
  45. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +1 -1
  46. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -1
  47. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +24 -20
  48. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js.map +1 -1
  49. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +1 -1
  50. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js.map +1 -1
  51. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js +7 -8
  52. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js.map +1 -1
  53. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +49 -45
  54. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -1
  55. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +1 -1
  56. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -1
  57. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +1 -1
  58. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -1
  59. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +1 -1
  60. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -1
  61. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +1 -1
  62. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -1
  63. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +1 -1
  64. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js.map +1 -1
  65. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +1 -1
  66. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js.map +1 -1
  67. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +1 -1
  68. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js.map +1 -1
  69. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +1 -1
  70. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -1
  71. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +1 -1
  72. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -1
  73. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js +15 -15
  74. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js.map +1 -1
  75. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +53 -65
  76. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -1
  77. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +1 -1
  78. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -1
  79. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +1 -1
  80. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js.map +1 -1
  81. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +2 -2
  82. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -1
  83. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +6 -6
  84. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js.map +1 -1
  85. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +1 -1
  86. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js.map +1 -1
  87. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +1 -1
  88. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -1
  89. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +3 -3
  90. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -1
  91. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +1 -1
  92. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -1
  93. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +152 -172
  94. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -1
  95. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +2 -5
  96. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -1
  97. package/lib/esm/components/backoffice/layout/sidebarUtils.js +1 -1
  98. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -1
  99. package/lib/esm/components/backoffice/links/BackofficeLinkContent.js +1 -1
  100. package/lib/esm/components/backoffice/links/backofficeLink.css.js +1 -1
  101. package/lib/esm/components/backoffice/links/backofficeLink.css.js.map +1 -1
  102. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +1 -1
  103. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -1
  104. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +1 -1
  105. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -1
  106. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +1 -1
  107. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -1
  108. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +93 -82
  109. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -1
  110. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +1 -1
  111. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -1
  112. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +1 -1
  113. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -1
  114. package/lib/esm/components/backoffice/routing/BackofficeContentError.js +6 -3
  115. package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -1
  116. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +7 -7
  117. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -1
  118. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +1 -1
  119. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -1
  120. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +1 -1
  121. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -1
  122. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +1 -1
  123. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -1
  124. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js +3 -2
  125. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js.map +1 -1
  126. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +314 -309
  127. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -1
  128. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +1 -1
  129. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -1
  130. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +1 -1
  131. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -1
  132. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +1 -1
  133. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -1
  134. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js +2 -2
  135. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js.map +1 -1
  136. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +1 -1
  137. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -1
  138. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +5 -5
  139. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js.map +1 -1
  140. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +1 -1
  141. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -1
  142. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +12 -12
  143. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -1
  144. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +3 -2
  145. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -1
  146. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +15 -19
  147. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -1
  148. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +1 -1
  149. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -1
  150. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +1 -1
  151. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -1
  152. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +1 -1
  153. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -1
  154. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js +17 -9
  155. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js.map +1 -1
  156. package/lib/esm/hooks/useCopyToClipboard.js +1 -1
  157. package/lib/esm/hooks/useCopyToClipboard.js.map +1 -1
  158. package/lib/esm/i18n/locales/en/backofficeReact.js +21 -2
  159. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -1
  160. package/lib/esm/i18n/locales/fr/backofficeReact.js +21 -2
  161. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -1
  162. package/lib/esm/pages/BackofficeDashboardPage.js +42 -41
  163. package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -1
  164. package/lib/esm/pages/BackofficeDashboardWidgetContent.js +291 -255
  165. package/lib/esm/pages/BackofficeDashboardWidgetContent.js.map +1 -1
  166. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +47 -49
  167. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -1
  168. package/lib/esm/pages/BackofficeEntityDetailPage.js +111 -105
  169. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -1
  170. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js +213 -213
  171. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js.map +1 -1
  172. package/lib/esm/pages/BackofficeEntityListDataPage.js +101 -83
  173. package/lib/esm/pages/BackofficeEntityListDataPage.js.map +1 -1
  174. package/lib/esm/pages/BackofficeEntityListPage.helpers.js +10 -4
  175. package/lib/esm/pages/BackofficeEntityListPage.helpers.js.map +1 -1
  176. package/lib/esm/pages/BackofficeEntityListPage.js +55 -54
  177. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -1
  178. package/lib/esm/pages/BackofficeEntityListRouteContext.js.map +1 -1
  179. package/lib/esm/pages/BackofficeHubPage.js +1 -1
  180. package/lib/esm/pages/BackofficeHubPage.js.map +1 -1
  181. package/lib/esm/pages/BackofficeLayoutPage.js +64 -56
  182. package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -1
  183. package/lib/esm/pages/backofficeDashboardPage.css.js +1 -1
  184. package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -1
  185. package/lib/esm/pages/backofficeEntityDetailPage.css.js +1 -1
  186. package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -1
  187. package/lib/esm/pages/backofficeEntityListPage.css.js +1 -1
  188. package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -1
  189. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -1
  190. package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js +11 -11
  191. package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js.map +1 -1
  192. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -1
  193. package/lib/esm/provider/BackofficeProvider.js +41 -39
  194. package/lib/esm/provider/BackofficeProvider.js.map +1 -1
  195. package/lib/esm/router/createBackofficeRoutes.js +23 -23
  196. package/lib/esm/router/createBackofficeRoutes.js.map +1 -1
  197. package/lib/esm/storybook/backofficeDashboardPageStory.css.js +6 -0
  198. package/lib/esm/storybook/backofficeDashboardPageStory.css.js.map +1 -0
  199. package/lib/esm/storybook/relay/RelayStory.css.js +1 -1
  200. package/lib/esm/storybook/relay/RelayStory.css.js.map +1 -1
  201. package/lib/esm/style.css +1 -1
  202. package/lib/types/auth/AuthRefreshNotice.d.ts +5 -1
  203. package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -1
  204. package/lib/types/auth/TotpQrCode.d.ts +2 -1
  205. package/lib/types/auth/TotpQrCode.d.ts.map +1 -1
  206. package/lib/types/auth/authRefreshNotice.css.d.ts.map +1 -1
  207. package/lib/types/auth/login/AuthPanel.d.ts.map +1 -1
  208. package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -1
  209. package/lib/types/auth/login/LoginFlow.d.ts.map +1 -1
  210. package/lib/types/auth/login/MethodChooser.d.ts.map +1 -1
  211. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
  212. package/lib/types/auth/login/OidcButtons.d.ts.map +1 -1
  213. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
  214. package/lib/types/auth/login/PasswordLoginPanel.d.ts +1 -1
  215. package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -1
  216. package/lib/types/auth/login/loginPage.css.d.ts.map +1 -1
  217. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
  218. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -1
  219. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -1
  220. package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -1
  221. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts +3 -3
  222. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
  223. package/lib/types/components/backoffice/actions/toastViewAction.d.ts +1 -1
  224. package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -1
  225. package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts +2 -1
  226. package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts.map +1 -1
  227. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts +2 -2
  228. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts.map +1 -1
  229. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -1
  230. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -1
  231. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +1 -1
  232. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -1
  233. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -1
  234. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +1 -1
  235. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -1
  236. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +1 -1
  237. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -1
  238. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
  239. package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts.map +1 -1
  240. package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts.map +1 -1
  241. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +0 -1
  242. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -1
  243. package/lib/types/components/backoffice/hub/backofficeHubTemplate.css.d.ts.map +1 -1
  244. package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts.map +1 -1
  245. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +2 -2
  246. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
  247. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts +1 -1
  248. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -1
  249. package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts.map +1 -1
  250. package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts.map +1 -1
  251. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +3 -3
  252. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
  253. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -1
  254. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
  255. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.d.ts.map +1 -1
  256. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +2 -2
  257. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
  258. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +1 -1
  259. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -1
  260. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -1
  261. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -1
  262. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -1
  263. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -1
  264. package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts +1 -2
  265. package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts.map +1 -1
  266. package/lib/types/i18n/resources.d.ts +44 -2
  267. package/lib/types/i18n/resources.d.ts.map +1 -1
  268. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
  269. package/lib/types/pages/BackofficeDashboardWidgetContent.d.ts.map +1 -1
  270. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -1
  271. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
  272. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +1 -1
  273. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
  274. package/lib/types/pages/BackofficeEntityListDataPage.d.ts.map +1 -1
  275. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
  276. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts +9 -9
  277. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
  278. package/lib/types/pages/BackofficeEntityListRouteContext.d.ts +2 -2
  279. package/lib/types/pages/BackofficeEntityListRouteContext.d.ts.map +1 -1
  280. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
  281. package/lib/types/pages/backofficeEntityListPage.css.d.ts.map +1 -1
  282. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +1 -1
  283. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -1
  284. package/lib/types/pages/detail/buildTabsItems.d.ts +1 -1
  285. package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -1
  286. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
  287. package/lib/types/provider/types.d.ts +2 -0
  288. package/lib/types/provider/types.d.ts.map +1 -1
  289. package/lib/types/router/createBackofficeRoutes.d.ts +0 -1
  290. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
  291. package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts +2 -0
  292. package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts.map +1 -0
  293. package/package.json +17 -17
  294. package/lib/esm/components/backoffice/technical/TechnicalIdentifierValue.js +0 -2
  295. package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts +0 -2
  296. package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { useBackofficeReactTranslation as e } from "../../../i18n/useBackofficeReactTranslation.js";
2
2
  import { actionButton as t, actionButtonSpacer as n, actions as r, container as i } from "./deferredFilterSearchInput.css.js";
3
3
  import { useEffect as a, useState as o } from "react";
4
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
- import { Input as l } from "@plumile/ui/atomic/atoms/input/Input.js";
6
- import { ModalCloseSvg as u } from "@plumile/ui/icons/ModalCloseSvg.js";
7
- import { SidebarSearchSvg as d } from "@plumile/ui/icons/SidebarSearchSvg.js";
8
- import { CheckSvg as f } from "@plumile/ui/icons/CheckSvg.js";
4
+ import { Input as s } from "@plumile/ui";
5
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { ModalCloseSvg as u } from "@plumile/ui/icons/ModalCloseSvg";
7
+ import { SidebarSearchSvg as d } from "@plumile/ui/icons/SidebarSearchSvg";
8
+ import { CheckSvg as f } from "@plumile/ui/icons/CheckSvg";
9
9
  //#region src/components/backoffice/filters/DeferredFilterSearchInput.tsx
10
10
  var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ = "search", type: v = "text", onApply: y }) => {
11
11
  let { t: b } = e(), [x, S] = o(p);
@@ -16,29 +16,29 @@ var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ =
16
16
  E && y(C);
17
17
  }, M = () => {
18
18
  S(""), w !== "" && y("");
19
- }, N = /* @__PURE__ */ s("span", {
19
+ }, N = /* @__PURE__ */ c("span", {
20
20
  className: n,
21
21
  "aria-hidden": "true"
22
22
  });
23
- return D && (N = /* @__PURE__ */ s("button", {
23
+ return D && (N = /* @__PURE__ */ c("button", {
24
24
  type: "button",
25
25
  className: t,
26
26
  "aria-label": k,
27
27
  title: k,
28
28
  onClick: M,
29
- children: /* @__PURE__ */ s(u, {
29
+ children: /* @__PURE__ */ c(u, {
30
30
  width: 16,
31
31
  height: 16,
32
32
  "aria-hidden": "true"
33
33
  })
34
- })), /* @__PURE__ */ s("form", {
34
+ })), /* @__PURE__ */ c("form", {
35
35
  className: g,
36
36
  onSubmit: (e) => {
37
37
  e.preventDefault(), j();
38
38
  },
39
- children: /* @__PURE__ */ s("div", {
39
+ children: /* @__PURE__ */ c("div", {
40
40
  className: i,
41
- children: /* @__PURE__ */ s(l, {
41
+ children: /* @__PURE__ */ c(s, {
42
42
  type: v,
43
43
  inputMode: _,
44
44
  value: x,
@@ -52,21 +52,21 @@ var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ =
52
52
  "aria-label": O,
53
53
  size: "small",
54
54
  fullWidth: !0,
55
- leftIcon: /* @__PURE__ */ s(d, {
55
+ leftIcon: /* @__PURE__ */ c(d, {
56
56
  width: 18,
57
57
  height: 18,
58
58
  "aria-hidden": "true"
59
59
  }),
60
60
  rightIconIsInteractive: !0,
61
- rightIcon: /* @__PURE__ */ c("span", {
61
+ rightIcon: /* @__PURE__ */ l("span", {
62
62
  className: r,
63
- children: [N, /* @__PURE__ */ s("button", {
63
+ children: [N, /* @__PURE__ */ c("button", {
64
64
  type: "submit",
65
65
  className: t,
66
66
  "aria-label": A,
67
67
  title: A,
68
68
  disabled: !E,
69
- children: /* @__PURE__ */ s(f, {
69
+ children: /* @__PURE__ */ c(f, {
70
70
  width: 16,
71
71
  height: 16,
72
72
  "aria-hidden": "true"
@@ -1 +1 @@
1
- {"version":3,"file":"DeferredFilterSearchInput.js","names":[],"sources":["../../../../../src/components/backoffice/filters/DeferredFilterSearchInput.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n type KeyboardEvent,\n} from 'react';\n\nimport { Input } from '@plumile/ui/atomic/atoms/input/Input.js';\nimport { CheckSvg } from '@plumile/ui/icons/CheckSvg.js';\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg.js';\nimport { SidebarSearchSvg } from '@plumile/ui/icons/SidebarSearchSvg.js';\n\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './deferredFilterSearchInput.css.js';\n\nexport type DeferredFilterSearchInputProps = {\n value: string;\n placeholder: string;\n ariaLabel?: string;\n className?: string;\n inputMode?: 'search' | 'numeric' | 'decimal';\n type?: 'search' | 'text' | 'number' | 'datetime-local';\n onApply: (value: string) => void;\n};\n\nexport const DeferredFilterSearchInput = ({\n value,\n placeholder,\n ariaLabel,\n className,\n inputMode = 'search',\n type = 'text',\n onApply,\n}: DeferredFilterSearchInputProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [draftValue, setDraftValue] = useState(value);\n\n useEffect(() => {\n setDraftValue(value);\n }, [value]);\n\n const normalizedDraft = draftValue.trim();\n const normalizedValue = value.trim();\n const hasDraft = normalizedDraft !== '';\n const hasPendingValue = normalizedDraft !== normalizedValue;\n const canClear = hasDraft || normalizedValue !== '';\n const inputLabel = ariaLabel ?? placeholder;\n const clearLabel = t('filters.actions.clearFilter', { label: inputLabel });\n const applyLabel = t('filters.actions.applyFilter', { label: inputLabel });\n\n const applyDraft = () => {\n if (!hasPendingValue) {\n return;\n }\n onApply(normalizedDraft);\n };\n\n const clearValue = () => {\n setDraftValue('');\n if (normalizedValue !== '') {\n onApply('');\n }\n };\n\n let clearActionNode: JSX.Element = (\n <span className={styles.actionButtonSpacer} aria-hidden=\"true\" />\n );\n if (canClear) {\n clearActionNode = (\n <button\n type=\"button\"\n className={styles.actionButton}\n aria-label={clearLabel}\n title={clearLabel}\n onClick={clearValue}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n return (\n <form\n className={className}\n onSubmit={(event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n applyDraft();\n }}\n >\n <div className={styles.container}>\n <Input\n type={type}\n inputMode={inputMode}\n value={draftValue}\n onInput={(event: FormEvent<HTMLInputElement>) => {\n setDraftValue(event.currentTarget.value);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n applyDraft();\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n setDraftValue(value);\n }\n }}\n placeholder={placeholder}\n aria-label={inputLabel}\n size=\"small\"\n fullWidth\n leftIcon={\n <SidebarSearchSvg width={18} height={18} aria-hidden=\"true\" />\n }\n rightIconIsInteractive\n rightIcon={\n <span className={styles.actions}>\n {clearActionNode}\n <button\n type=\"submit\"\n className={styles.actionButton}\n aria-label={applyLabel}\n title={applyLabel}\n disabled={!hasPendingValue}\n >\n <CheckSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n </span>\n }\n />\n </div>\n </form>\n );\n};\n\nexport default DeferredFilterSearchInput;\n"],"mappings":";;;;;;;;;AA2BA,IAAa,KAA6B,EACxC,UACA,gBACA,cACA,cACA,eAAY,UACZ,UAAO,QACP,iBACiD;CACjD,IAAM,EAAE,SAAM,EAA8B,GACtC,CAAC,GAAY,KAAiB,EAAS,CAAK;CAElD,QAAgB;EACd,EAAc,CAAK;CACrB,GAAG,CAAC,CAAK,CAAC;CAEV,IAAM,IAAkB,EAAW,KAAK,GAClC,IAAkB,EAAM,KAAK,GAC7B,IAAW,MAAoB,IAC/B,IAAkB,MAAoB,GACtC,IAAW,KAAY,MAAoB,IAC3C,IAAa,KAAa,GAC1B,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GACnE,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GAEnE,UAAmB;EAClB,KAGL,EAAQ,CAAe;CACzB,GAEM,UAAmB;EAEvB,AADA,EAAc,EAAE,GACZ,MAAoB,MACtB,EAAQ,EAAE;CAEd,GAEI,IACF,kBAAC,QAAD;EAAM,WAAW;EAA2B,eAAY;CAAQ,CAAA;CAgBlE,OAdI,MACF,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACZ,OAAO;EACP,SAAS;EAET,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA,IAKV,kBAAC,QAAD;EACa;EACX,WAAW,MAAsC;GAE/C,AADA,EAAM,eAAe,GACrB,EAAW;EACb;EAEA,UAAA,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACQ;IACK;IACX,OAAO;IACP,UAAU,MAAuC;KAC/C,EAAc,EAAM,cAAc,KAAK;IACzC;IACA,YAAY,MAA2C;KAKrD,AAJI,EAAM,QAAQ,YAChB,EAAM,eAAe,GACrB,EAAW,IAET,EAAM,QAAQ,aAChB,EAAM,eAAe,GACrB,EAAc,CAAK;IAEvB;IACa;IACb,cAAY;IACZ,MAAK;IACL,WAAA;IACA,UACE,kBAAC,GAAD;KAAkB,OAAO;KAAI,QAAQ;KAAI,eAAY;IAAQ,CAAA;IAE/D,wBAAA;IACA,WACE,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACG,GACD,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,cAAY;MACZ,OAAO;MACP,UAAU,CAAC;MAEX,UAAA,kBAAC,GAAD;OAAU,OAAO;OAAI,QAAQ;OAAI,eAAY;MAAQ,CAAA;KAC/C,CAAA,CACJ;;GAET,CAAA;EACE,CAAA;CACD,CAAA;AAEV"}
1
+ {"version":3,"file":"DeferredFilterSearchInput.js","names":[],"sources":["../../../../../src/components/backoffice/filters/DeferredFilterSearchInput.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n type KeyboardEvent,\n} from 'react';\n\nimport { Input } from '@plumile/ui';\nimport { CheckSvg } from '@plumile/ui/icons/CheckSvg';\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg';\nimport { SidebarSearchSvg } from '@plumile/ui/icons/SidebarSearchSvg';\n\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './deferredFilterSearchInput.css.js';\n\nexport type DeferredFilterSearchInputProps = {\n value: string;\n placeholder: string;\n ariaLabel?: string;\n className?: string;\n inputMode?: 'search' | 'numeric' | 'decimal';\n type?: 'search' | 'text' | 'number' | 'datetime-local';\n onApply: (value: string) => void;\n};\n\nexport const DeferredFilterSearchInput = ({\n value,\n placeholder,\n ariaLabel,\n className,\n inputMode = 'search',\n type = 'text',\n onApply,\n}: DeferredFilterSearchInputProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [draftValue, setDraftValue] = useState(value);\n\n useEffect(() => {\n setDraftValue(value);\n }, [value]);\n\n const normalizedDraft = draftValue.trim();\n const normalizedValue = value.trim();\n const hasDraft = normalizedDraft !== '';\n const hasPendingValue = normalizedDraft !== normalizedValue;\n const canClear = hasDraft || normalizedValue !== '';\n const inputLabel = ariaLabel ?? placeholder;\n const clearLabel = t('filters.actions.clearFilter', { label: inputLabel });\n const applyLabel = t('filters.actions.applyFilter', { label: inputLabel });\n\n const applyDraft = () => {\n if (!hasPendingValue) {\n return;\n }\n onApply(normalizedDraft);\n };\n\n const clearValue = () => {\n setDraftValue('');\n if (normalizedValue !== '') {\n onApply('');\n }\n };\n\n let clearActionNode: JSX.Element = (\n <span className={styles.actionButtonSpacer} aria-hidden=\"true\" />\n );\n if (canClear) {\n clearActionNode = (\n <button\n type=\"button\"\n className={styles.actionButton}\n aria-label={clearLabel}\n title={clearLabel}\n onClick={clearValue}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n return (\n <form\n className={className}\n onSubmit={(event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n applyDraft();\n }}\n >\n <div className={styles.container}>\n <Input\n type={type}\n inputMode={inputMode}\n value={draftValue}\n onInput={(event: FormEvent<HTMLInputElement>) => {\n setDraftValue(event.currentTarget.value);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n applyDraft();\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n setDraftValue(value);\n }\n }}\n placeholder={placeholder}\n aria-label={inputLabel}\n size=\"small\"\n fullWidth\n leftIcon={\n <SidebarSearchSvg width={18} height={18} aria-hidden=\"true\" />\n }\n rightIconIsInteractive\n rightIcon={\n <span className={styles.actions}>\n {clearActionNode}\n <button\n type=\"submit\"\n className={styles.actionButton}\n aria-label={applyLabel}\n title={applyLabel}\n disabled={!hasPendingValue}\n >\n <CheckSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n </span>\n }\n />\n </div>\n </form>\n );\n};\n\nexport default DeferredFilterSearchInput;\n"],"mappings":";;;;;;;;;AA2BA,IAAa,KAA6B,EACxC,UACA,gBACA,cACA,cACA,eAAY,UACZ,UAAO,QACP,iBACiD;CACjD,IAAM,EAAE,SAAM,EAA8B,GACtC,CAAC,GAAY,KAAiB,EAAS,CAAK;CAElD,QAAgB;EACd,EAAc,CAAK;CACrB,GAAG,CAAC,CAAK,CAAC;CAEV,IAAM,IAAkB,EAAW,KAAK,GAClC,IAAkB,EAAM,KAAK,GAC7B,IAAW,MAAoB,IAC/B,IAAkB,MAAoB,GACtC,IAAW,KAAY,MAAoB,IAC3C,IAAa,KAAa,GAC1B,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GACnE,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GAEnE,UAAmB;EAClB,KAGL,EAAQ,CAAe;CACzB,GAEM,UAAmB;EAEvB,AADA,EAAc,EAAE,GACZ,MAAoB,MACtB,EAAQ,EAAE;CAEd,GAEI,IACF,kBAAC,QAAD;EAAM,WAAW;EAA2B,eAAY;CAAQ,CAAA;CAgBlE,OAdI,MACF,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACZ,OAAO;EACP,SAAS;EAET,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA,IAKV,kBAAC,QAAD;EACa;EACX,WAAW,MAAsC;GAE/C,AADA,EAAM,eAAe,GACrB,EAAW;EACb;EAEA,UAAA,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACQ;IACK;IACX,OAAO;IACP,UAAU,MAAuC;KAC/C,EAAc,EAAM,cAAc,KAAK;IACzC;IACA,YAAY,MAA2C;KAKrD,AAJI,EAAM,QAAQ,YAChB,EAAM,eAAe,GACrB,EAAW,IAET,EAAM,QAAQ,aAChB,EAAM,eAAe,GACrB,EAAc,CAAK;IAEvB;IACa;IACb,cAAY;IACZ,MAAK;IACL,WAAA;IACA,UACE,kBAAC,GAAD;KAAkB,OAAO;KAAI,QAAQ;KAAI,eAAY;IAAQ,CAAA;IAE/D,wBAAA;IACA,WACE,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACG,GACD,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,cAAY;MACZ,OAAO;MACP,UAAU,CAAC;MAEX,UAAA,kBAAC,GAAD;OAAU,OAAO;OAAI,QAAQ;OAAI,eAAY;MAAQ,CAAA;KAC/C,CAAA,CACJ;;GAET,CAAA;EACE,CAAA;CACD,CAAA;AAEV"}
@@ -1,93 +1,81 @@
1
1
  import { useBackofficeReactTranslation as e } from "../../../i18n/useBackofficeReactTranslation.js";
2
- import { actionIcon as t, clearButton as n, container as r, content as i, labelText as a, pickActionButton as o, pickerButton as s, pickerControl as c, placeholder as l, valueText as u } from "./entityIdFilterField.css.js";
3
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
4
- import { ModalCloseSvg as p } from "@plumile/ui/icons/ModalCloseSvg.js";
5
- import { BackofficeSidebarPenToolSvg as m } from "@plumile/ui/icons/backoffice/BackofficeSidebarPenToolSvg.js";
6
- import { BackofficeSidebarSearchSvg as h } from "@plumile/ui/icons/backoffice/BackofficeSidebarSearchSvg.js";
2
+ import { actionIcon as t, clearButton as n, container as r, content as i, labelText as a, pickerButton as o, pickerControl as s, placeholder as c, valueText as l } from "./entityIdFilterField.css.js";
3
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
4
+ import { ModalCloseSvg as f } from "@plumile/ui/icons/ModalCloseSvg";
5
+ import { BackofficeSidebarPenToolSvg as p } from "@plumile/ui/icons/BackofficeSidebarPenToolSvg";
6
+ import { BackofficeSidebarSearchSvg as m } from "@plumile/ui/icons/BackofficeSidebarSearchSvg";
7
7
  //#region src/components/backoffice/filters/EntityIdFilterField.tsx
8
- var g = (g) => {
9
- let { disabled: _ = !1, id: v, label: y, value: b, displayValue: x, placeholder: S, ariaDescribedBy: C, ariaInvalid: w, isResolving: T = !1, onPick: E, onClear: D } = g, { t: O } = e(), k = b?.trim() ?? "", A = x?.trim() ?? "", j = k !== "", M = A !== "", N = S ?? O("filters.placeholders.anyEntity", { label: y }), P = O("filters.placeholders.unresolved"), F;
10
- F = M ? /* @__PURE__ */ d("span", {
11
- className: u,
12
- children: A
13
- }) : j ? /* @__PURE__ */ d("span", {
14
- className: l,
15
- children: P
16
- }) : /* @__PURE__ */ d("span", {
8
+ var h = (h) => {
9
+ let { disabled: g = !1, id: _, label: v, value: y, displayValue: b, placeholder: x, ariaDescribedBy: S, ariaInvalid: C, isResolving: w = !1, onPick: T, onClear: E } = h, { t: D } = e(), O = y?.trim() ?? "", k = b?.trim() ?? "", A = O !== "", j = k !== "", M = x ?? D("filters.placeholders.anyEntity", { label: v }), N = D("filters.placeholders.unresolved"), P;
10
+ P = j ? /* @__PURE__ */ u("span", {
17
11
  className: l,
12
+ children: k
13
+ }) : A ? /* @__PURE__ */ u("span", {
14
+ className: c,
18
15
  children: N
16
+ }) : /* @__PURE__ */ u("span", {
17
+ className: c,
18
+ children: M
19
19
  });
20
- let I = O("common.actions.pick");
21
- j && (I = O("filters.actions.changeFilterValue", { label: y }));
22
- let L = O("filters.actions.filterBy", { label: y });
23
- j && (L = I);
24
- let R = O("filters.actions.clearFilter", { label: y }), z = null;
25
- j && D != null && (z = /* @__PURE__ */ d("button", {
20
+ let F = D("common.actions.pick");
21
+ A && (F = D("filters.actions.changeFilterValue", { label: v }));
22
+ let I = D("filters.actions.filterBy", { label: v });
23
+ A && (I = F);
24
+ let L = D("filters.actions.clearFilter", { label: v }), R = null;
25
+ A && E != null && (R = /* @__PURE__ */ u("button", {
26
26
  type: "button",
27
27
  className: n,
28
- "aria-label": R,
29
- disabled: _,
28
+ "aria-label": L,
29
+ disabled: g,
30
30
  onClick: (e) => {
31
- e.stopPropagation(), D();
31
+ e.stopPropagation(), E();
32
32
  },
33
- children: /* @__PURE__ */ d(p, {
33
+ children: /* @__PURE__ */ u(f, {
34
34
  width: 16,
35
35
  height: 16,
36
36
  "aria-hidden": "true"
37
37
  })
38
38
  }));
39
- let B = null;
40
- if (E != null) {
41
- let e = /* @__PURE__ */ d(h, {
39
+ let z = null;
40
+ if (T != null) {
41
+ let e = /* @__PURE__ */ u(m, {
42
42
  className: t,
43
43
  "aria-hidden": "true"
44
44
  });
45
- j && (e = /* @__PURE__ */ d(m, {
45
+ A && (e = /* @__PURE__ */ u(p, {
46
46
  className: t,
47
47
  "aria-hidden": "true"
48
- })), B = /* @__PURE__ */ f("div", {
49
- className: c,
50
- children: [
51
- /* @__PURE__ */ d("button", {
52
- id: v,
53
- type: "button",
54
- className: s,
55
- "aria-label": L,
56
- "aria-describedby": C,
57
- "aria-invalid": w,
58
- "aria-busy": T || void 0,
59
- disabled: _,
60
- onClick: E,
61
- children: /* @__PURE__ */ f("span", {
62
- className: i,
63
- children: [/* @__PURE__ */ d("span", {
64
- className: a,
65
- children: y
66
- }), F]
67
- })
68
- }),
69
- /* @__PURE__ */ d("button", {
70
- type: "button",
71
- className: o,
72
- "aria-label": L,
73
- title: L,
74
- disabled: _,
75
- onClick: E,
76
- children: e
77
- }),
78
- z
79
- ]
48
+ })), z = /* @__PURE__ */ d("div", {
49
+ className: s,
50
+ children: [/* @__PURE__ */ d("button", {
51
+ id: _,
52
+ type: "button",
53
+ className: o,
54
+ "aria-label": I,
55
+ "aria-describedby": S,
56
+ "aria-invalid": C,
57
+ "aria-busy": w || void 0,
58
+ disabled: g,
59
+ onClick: T,
60
+ children: [/* @__PURE__ */ d("span", {
61
+ className: i,
62
+ children: [/* @__PURE__ */ u("span", {
63
+ className: a,
64
+ children: v
65
+ }), P]
66
+ }), e]
67
+ }), R]
80
68
  });
81
69
  }
82
- return /* @__PURE__ */ d("div", {
70
+ return /* @__PURE__ */ u("div", {
83
71
  className: r,
84
- children: B ?? /* @__PURE__ */ d("div", {
85
- className: "txvbqb1c8 txvbqbdqn txvbqb5b1 txvbqb2cx txvbqbet9",
86
- children: F
72
+ children: z ?? /* @__PURE__ */ u("div", {
73
+ className: "txvbqb1cl txvbqbe1d txvbqb5lr txvbqb2nn txvbqbf3z",
74
+ children: P
87
75
  })
88
76
  });
89
77
  };
90
78
  //#endregion
91
- export { g as EntityIdFilterField, g as default };
79
+ export { h as EntityIdFilterField, h as default };
92
80
 
93
81
  //# sourceMappingURL=EntityIdFilterField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityIdFilterField.js","names":[],"sources":["../../../../../src/components/backoffice/filters/EntityIdFilterField.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg.js';\nimport { BackofficeSidebarPenToolSvg } from '@plumile/ui/icons/backoffice/BackofficeSidebarPenToolSvg.js';\nimport { BackofficeSidebarSearchSvg } from '@plumile/ui/icons/backoffice/BackofficeSidebarSearchSvg.js';\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './entityIdFilterField.css.js';\n\nexport type EntityIdFilterFieldProps = {\n id?: string;\n label: string;\n value: string | null;\n displayValue?: string | null;\n placeholder?: string;\n ariaDescribedBy?: string;\n ariaInvalid?: boolean;\n isResolving?: boolean;\n onPick?: () => void;\n onClear?: () => void;\n disabled?: boolean;\n};\n\nexport const EntityIdFilterField = (\n props: EntityIdFilterFieldProps,\n): JSX.Element => {\n const {\n disabled = false,\n id,\n label,\n value,\n displayValue,\n placeholder,\n ariaDescribedBy,\n ariaInvalid,\n isResolving = false,\n onPick,\n onClear,\n } = props;\n const { t } = useBackofficeReactTranslation();\n const normalizedValue = value?.trim() ?? '';\n const normalizedDisplayValue = displayValue?.trim() ?? '';\n const hasValue = normalizedValue !== '';\n const hasDisplayValue = normalizedDisplayValue !== '';\n\n const resolvedPlaceholder =\n placeholder ?? t('filters.placeholders.anyEntity', { label });\n const unresolvedPlaceholder = t('filters.placeholders.unresolved');\n\n let displayNode: JSX.Element;\n if (hasDisplayValue) {\n displayNode = (\n <span className={styles.valueText}>{normalizedDisplayValue}</span>\n );\n } else if (hasValue) {\n displayNode = (\n <span className={styles.placeholder}>{unresolvedPlaceholder}</span>\n );\n } else {\n displayNode = (\n <span className={styles.placeholder}>{resolvedPlaceholder}</span>\n );\n }\n\n let pickLabel = t('common.actions.pick');\n if (hasValue) {\n pickLabel = t('filters.actions.changeFilterValue', { label });\n }\n let pickAriaLabel = t('filters.actions.filterBy', { label });\n if (hasValue) {\n pickAriaLabel = pickLabel;\n }\n const clearAriaLabel = t('filters.actions.clearFilter', { label });\n\n let clearNode: JSX.Element | null = null;\n if (hasValue && onClear != null) {\n clearNode = (\n <button\n type=\"button\"\n className={styles.clearButton}\n aria-label={clearAriaLabel}\n disabled={disabled}\n onClick={(event) => {\n event.stopPropagation();\n onClear();\n }}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n let pickerNode: JSX.Element | null = null;\n if (onPick != null) {\n let actionIcon = (\n <BackofficeSidebarSearchSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n if (hasValue) {\n actionIcon = (\n <BackofficeSidebarPenToolSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n }\n\n pickerNode = (\n <div className={styles.pickerControl}>\n <button\n id={id}\n type=\"button\"\n className={styles.pickerButton}\n aria-label={pickAriaLabel}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n aria-busy={isResolving || undefined}\n disabled={disabled}\n onClick={onPick}\n >\n <span className={styles.content}>\n <span className={styles.labelText}>{label}</span>\n {displayNode}\n </span>\n </button>\n <button\n type=\"button\"\n className={styles.pickActionButton}\n aria-label={pickAriaLabel}\n title={pickAriaLabel}\n disabled={disabled}\n onClick={onPick}\n >\n {actionIcon}\n </button>\n {clearNode}\n </div>\n );\n }\n\n return (\n <div className={styles.container}>\n {pickerNode ?? <div className={styles.valueBox}>{displayNode}</div>}\n </div>\n );\n};\n\nexport default EntityIdFilterField;\n"],"mappings":";;;;;;;AAuBA,IAAa,KACX,MACgB;CAChB,IAAM,EACJ,cAAW,IACX,OACA,UACA,UACA,iBACA,aAAA,GACA,oBACA,gBACA,iBAAc,IACd,WACA,eACE,GACE,EAAE,SAAM,EAA8B,GACtC,IAAkB,GAAO,KAAK,KAAK,IACnC,IAAyB,GAAc,KAAK,KAAK,IACjD,IAAW,MAAoB,IAC/B,IAAkB,MAA2B,IAE7C,IACJ,KAAe,EAAE,kCAAkC,EAAE,SAAM,CAAC,GACxD,IAAwB,EAAE,iCAAiC,GAE7D;CACJ,AASE,IATE,IAEA,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAA6B,CAAA,IAE1D,IAEP,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA4B,CAAA,IAIlE,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA0B,CAAA;CAIpE,IAAI,IAAY,EAAE,qBAAqB;CACvC,AAAI,MACF,IAAY,EAAE,qCAAqC,EAAE,SAAM,CAAC;CAE9D,IAAI,IAAgB,EAAE,4BAA4B,EAAE,SAAM,CAAC;CAC3D,AAAI,MACF,IAAgB;CAElB,IAAM,IAAiB,EAAE,+BAA+B,EAAE,SAAM,CAAC,GAE7D,IAAgC;CACpC,AAAI,KAAY,KAAW,SACzB,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACF;EACV,UAAU,MAAU;GAElB,AADA,EAAM,gBAAgB,GACtB,EAAQ;EACV;EAEA,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA;CAIZ,IAAI,IAAiC;CACrC,IAAI,KAAU,MAAM;EAClB,IAAI,IACF,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA;EAWH,AATI,MACF,IACE,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA,IAIL,IACE,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA;IACE,kBAAC,UAAD;KACM;KACJ,MAAK;KACL,WAAW;KACX,cAAY;KACZ,oBAAkB;KAClB,gBAAc;KACd,aAAW,KAAe,KAAA;KAChB;KACV,SAAS;KAET,UAAA,kBAAC,QAAD;MAAM,WAAW;MAAjB,UAAA,CACE,kBAAC,QAAD;OAAM,WAAW;OAAmB,UAAA;MAAY,CAAA,GAC/C,CACG;;IACA,CAAA;IACR,kBAAC,UAAD;KACE,MAAK;KACL,WAAW;KACX,cAAY;KACZ,OAAO;KACG;KACV,SAAS;KAER,UAAA;IACK,CAAA;IACP;GACE;;CAET;CAEA,OACE,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,KAAc,kBAAC,OAAD;GAAK,WAAW;GAAkB,UAAA;EAAiB,CAAA;CAC/D,CAAA;AAET"}
1
+ {"version":3,"file":"EntityIdFilterField.js","names":[],"sources":["../../../../../src/components/backoffice/filters/EntityIdFilterField.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg';\nimport { BackofficeSidebarPenToolSvg } from '@plumile/ui/icons/BackofficeSidebarPenToolSvg';\nimport { BackofficeSidebarSearchSvg } from '@plumile/ui/icons/BackofficeSidebarSearchSvg';\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './entityIdFilterField.css.js';\n\nexport type EntityIdFilterFieldProps = {\n id?: string;\n label: string;\n value: string | null;\n displayValue?: string | null;\n placeholder?: string;\n ariaDescribedBy?: string;\n ariaInvalid?: boolean;\n isResolving?: boolean;\n onPick?: () => void;\n onClear?: () => void;\n disabled?: boolean;\n};\n\nexport const EntityIdFilterField = (\n props: EntityIdFilterFieldProps,\n): JSX.Element => {\n const {\n disabled = false,\n id,\n label,\n value,\n displayValue,\n placeholder,\n ariaDescribedBy,\n ariaInvalid,\n isResolving = false,\n onPick,\n onClear,\n } = props;\n const { t } = useBackofficeReactTranslation();\n const normalizedValue = value?.trim() ?? '';\n const normalizedDisplayValue = displayValue?.trim() ?? '';\n const hasValue = normalizedValue !== '';\n const hasDisplayValue = normalizedDisplayValue !== '';\n\n const resolvedPlaceholder =\n placeholder ?? t('filters.placeholders.anyEntity', { label });\n const unresolvedPlaceholder = t('filters.placeholders.unresolved');\n\n let displayNode: JSX.Element;\n if (hasDisplayValue) {\n displayNode = (\n <span className={styles.valueText}>{normalizedDisplayValue}</span>\n );\n } else if (hasValue) {\n displayNode = (\n <span className={styles.placeholder}>{unresolvedPlaceholder}</span>\n );\n } else {\n displayNode = (\n <span className={styles.placeholder}>{resolvedPlaceholder}</span>\n );\n }\n\n let pickLabel = t('common.actions.pick');\n if (hasValue) {\n pickLabel = t('filters.actions.changeFilterValue', { label });\n }\n let pickAriaLabel = t('filters.actions.filterBy', { label });\n if (hasValue) {\n pickAriaLabel = pickLabel;\n }\n const clearAriaLabel = t('filters.actions.clearFilter', { label });\n\n let clearNode: JSX.Element | null = null;\n if (hasValue && onClear != null) {\n clearNode = (\n <button\n type=\"button\"\n className={styles.clearButton}\n aria-label={clearAriaLabel}\n disabled={disabled}\n onClick={(event) => {\n event.stopPropagation();\n onClear();\n }}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n let pickerNode: JSX.Element | null = null;\n if (onPick != null) {\n let actionIcon = (\n <BackofficeSidebarSearchSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n if (hasValue) {\n actionIcon = (\n <BackofficeSidebarPenToolSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n }\n\n pickerNode = (\n <div className={styles.pickerControl}>\n <button\n id={id}\n type=\"button\"\n className={styles.pickerButton}\n aria-label={pickAriaLabel}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n aria-busy={isResolving || undefined}\n disabled={disabled}\n onClick={onPick}\n >\n <span className={styles.content}>\n <span className={styles.labelText}>{label}</span>\n {displayNode}\n </span>\n {actionIcon}\n </button>\n {clearNode}\n </div>\n );\n }\n\n return (\n <div className={styles.container}>\n {pickerNode ?? <div className={styles.valueBox}>{displayNode}</div>}\n </div>\n );\n};\n\nexport default EntityIdFilterField;\n"],"mappings":";;;;;;;AAuBA,IAAa,KACX,MACgB;CAChB,IAAM,EACJ,cAAW,IACX,OACA,UACA,UACA,iBACA,aAAA,GACA,oBACA,gBACA,iBAAc,IACd,WACA,eACE,GACE,EAAE,SAAM,EAA8B,GACtC,IAAkB,GAAO,KAAK,KAAK,IACnC,IAAyB,GAAc,KAAK,KAAK,IACjD,IAAW,MAAoB,IAC/B,IAAkB,MAA2B,IAE7C,IACJ,KAAe,EAAE,kCAAkC,EAAE,SAAM,CAAC,GACxD,IAAwB,EAAE,iCAAiC,GAE7D;CACJ,AASE,IATE,IAEA,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAA6B,CAAA,IAE1D,IAEP,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA4B,CAAA,IAIlE,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA0B,CAAA;CAIpE,IAAI,IAAY,EAAE,qBAAqB;CACvC,AAAI,MACF,IAAY,EAAE,qCAAqC,EAAE,SAAM,CAAC;CAE9D,IAAI,IAAgB,EAAE,4BAA4B,EAAE,SAAM,CAAC;CAC3D,AAAI,MACF,IAAgB;CAElB,IAAM,IAAiB,EAAE,+BAA+B,EAAE,SAAM,CAAC,GAE7D,IAAgC;CACpC,AAAI,KAAY,KAAW,SACzB,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACF;EACV,UAAU,MAAU;GAElB,AADA,EAAM,gBAAgB,GACtB,EAAQ;EACV;EAEA,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA;CAIZ,IAAI,IAAiC;CACrC,IAAI,KAAU,MAAM;EAClB,IAAI,IACF,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA;EAWH,AATI,MACF,IACE,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA,IAIL,IACE,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,kBAAC,UAAD;IACM;IACJ,MAAK;IACL,WAAW;IACX,cAAY;IACZ,oBAAkB;IAClB,gBAAc;IACd,aAAW,KAAe,KAAA;IAChB;IACV,SAAS;IATX,UAAA,CAWE,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACE,kBAAC,QAAD;MAAM,WAAW;MAAmB,UAAA;KAAY,CAAA,GAC/C,CACG;IACL,CAAA,GAAA,CACK;GACP,CAAA,GAAA,CACE;;CAET;CAEA,OACE,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,KAAc,kBAAC,OAAD;GAAK,WAAW;GAAkB,UAAA;EAAiB,CAAA;CAC/D,CAAA;AAET"}
@@ -1,5 +1,5 @@
1
1
  //#region src/components/backoffice/filters/backofficeFilterAction.css.ts
2
- var e = "hwnq700 txvbqb5bv txvbqb2cx txvbqb8db txvbqb1ce txvbqble7 txvbqb7j1 txvbqbeu3 txvbqbmw txvbqbl9 txvbqbms txvbqbiu txvbqba6 txvbqbeo txvbqbv txvbqb3f txvbqb7h txvbqb75 txvbqb7t txvbqbon5 txvbqbmy1 txvbqbns1 qbwcue0 txvbqbpec txvbqbq8k", t = "txvbqbldd txvbqb7i7";
2
+ var e = "hwnq700 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqb1cr txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqble txvbqbmx txvbqbiz txvbqbab txvbqbet txvbqbv txvbqb3f txvbqb7n txvbqb76 txvbqb7y txvbqbo81 txvbqbmix txvbqbncx qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3", t = "txvbqbky9 txvbqb7sx";
3
3
  //#endregion
4
4
  export { e as action, t as icon };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeFilterAction.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/backofficeFilterAction.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { focusRing } from '@plumile/ui/theme/styleRecipes.css.js';\n\nexport const action = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\n color: 'tonePrimaryText',\n cursor: 'pointer',\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n color: { hover: 'text' },\n backgroundColor: { hover: 'tonePrimarySurface' },\n borderColor: { hover: 'tonePrimaryBorder' },\n }),\n focusRing,\n]);\n\nexport const icon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
1
+ {"version":3,"file":"backofficeFilterAction.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/backofficeFilterAction.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles, focusRing } from '@plumile/ui/theme';\n\nexport const action = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\n color: 'tonePrimaryText',\n cursor: 'pointer',\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n color: { hover: 'text' },\n backgroundColor: { hover: 'tonePrimarySurface' },\n borderColor: { hover: 'tonePrimaryBorder' },\n }),\n focusRing,\n]);\n\nexport const icon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
2
  //#region src/components/backoffice/filters/deferredFilterSearchInput.css.ts
3
- var e = "txvbqblor", t = "ds2thc0 txvbqb5bv txvbqb2cx txvbqb74l", n = "ds2thc1 txvbqb6 txvbqb5bv txvbqb2cx txvbqb8db txvbqble7 txvbqb7j1 txvbqbeu3 txvbqbmw txvbqbk4 txvbqb8i txvbqbe3 txvbqbv txvbqb7h txvbqb75 txvbqb7t", r = "txvbqb5bv txvbqble7 txvbqb7j1 txvbqb1ce";
3
+ var e = "txvbqbl9n", t = "ds2thc0 txvbqb5ml txvbqb2nn txvbqb7fb", n = "ds2thc1 txvbqb6 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqbk9 txvbqb8n txvbqbe8 txvbqbv txvbqb7n txvbqb76 txvbqb7y", r = "txvbqb5ml txvbqbkz3 txvbqb7tr txvbqb1cr";
4
4
  //#endregion
5
5
  export { n as actionButton, r as actionButtonSpacer, t as actions, e as container };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"deferredFilterSearchInput.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/deferredFilterSearchInput.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.css.js';\n\nexport const container = sprinkles({\n width: 'full',\n});\n\nexport const actions = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }),\n {\n minWidth: '3.75rem',\n },\n]);\n\nexport const actionButton = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.45,\n },\n },\n },\n]);\n\nexport const actionButtonSpacer = sprinkles({\n display: 'inline-flex',\n width: 7,\n height: 7,\n flexShrink: 0,\n});\n"],"mappings":""}
1
+ {"version":3,"file":"deferredFilterSearchInput.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/deferredFilterSearchInput.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const container = sprinkles({\n width: 'full',\n});\n\nexport const actions = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }),\n {\n minWidth: '3.75rem',\n },\n]);\n\nexport const actionButton = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.45,\n },\n },\n },\n]);\n\nexport const actionButtonSpacer = sprinkles({\n display: 'inline-flex',\n width: 7,\n height: 7,\n flexShrink: 0,\n});\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  //#region src/components/backoffice/filters/entityIdFilterField.css.ts
3
- var e = "txvbqb5b1 txvbqb2cx txvbqbllf txvbqbcwd txvbqbdqn", t = "oa1uye0 txvbqb5bb txvbqb2cx txvbqb1c8 txvbqbdqn txvbqbmy txvbqbl9 txvbqbms txvbqbit txvbqba4 txvbqbe1 txvbqbig3 txvbqbjtj txvbqb7g txvbqb76 txvbqb7t", n = "oa1uye1 txvbqb6 txvbqb5b1 txvbqb6bf txvbqb8db txvbqbdqn txvbqblor txvbqb2b3 txvbqbv txvbqbk4 txvbqb8i txvbqbe1 txvbqbeu3", r = "txvbqb5b1 txvbqb6bf txvbqb8db txvbqb74l txvbqbdqn txvbqblor txvbqbcwd", i = "txvbqb1c8 txvbqbdqn txvbqb5b1 txvbqb2cx txvbqbet9", a = "txvbqb5ah txvbqbe3 txvbqb6cj txvbqb1cr txvbqbdqn txvbqbet9 txvbqb2b6 txvbqb2bp", o = "txvbqb5ah txvbqbdqn txvbqbet9 txvbqb2b6 txvbqb2bp txvbqb6ct txvbqb1cs", s = "txvbqb5ah txvbqbdqn txvbqbet9 txvbqb2b6 txvbqb2bp txvbqbe3 txvbqb6ct", c = "oa1uye3 oa1uye2 txvbqb6 txvbqb5bv txvbqb2cx txvbqbgc txvbqb8db txvbqble7 txvbqb7j1 txvbqbeu3 txvbqbmw txvbqbk4 txvbqb8i txvbqbe3 txvbqbv txvbqb7h txvbqb75 txvbqb7t", l = "oa1uye4 oa1uye2 txvbqb6 txvbqb5bv txvbqb2cx txvbqbgc txvbqb8db txvbqble7 txvbqb7j1 txvbqbeu3 txvbqbmw txvbqbk4 txvbqb8i txvbqbe3 txvbqbv txvbqb7h txvbqb75 txvbqb7t", u = "txvbqbldd txvbqb7i7";
3
+ var e = "txvbqb5lr txvbqb2nn txvbqbl6b txvbqbd73 txvbqbe1d", t = "oa1uye0 txvbqb5m1 txvbqb2nn txvbqb1cl txvbqbe1d txvbqbn3 txvbqble txvbqbmx txvbqbiy txvbqba9 txvbqbe6 txvbqbiqt txvbqbk49 txvbqb7m txvbqb78 txvbqb7y", n = "oa1uye1 txvbqb6 txvbqb5m1 txvbqb8o1 txvbqbe1d txvbqbl9n txvbqb2lt txvbqbv txvbqbk9 txvbqb8n txvbqbe6 txvbqbf4t", r = "txvbqb5lr txvbqb6m5 txvbqb8o1 txvbqb7fb txvbqbe1d txvbqbl9n txvbqbd73", i = "txvbqb1cl txvbqbe1d txvbqb5lr txvbqb2nn txvbqbf3z", a = "txvbqb5l7 txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf", o = "txvbqb5l7 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf txvbqb6nj txvbqb1d5", s = "txvbqb5l7 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf txvbqbe8 txvbqb6nj", c = "oa1uye3 oa1uye2 txvbqb6 txvbqb5ml txvbqb2nn txvbqbgh txvbqb8o1 txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqbk9 txvbqb8n txvbqbe8 txvbqbv txvbqb7n txvbqb76 txvbqb7y", l = "txvbqbky9 txvbqb7sx";
4
4
  //#endregion
5
- export { u as actionIcon, l as clearButton, e as container, r as content, a as labelText, c as pickActionButton, n as pickerButton, t as pickerControl, s as placeholder, i as valueBox, o as valueText };
5
+ export { l as actionIcon, c as clearButton, e as container, r as content, a as labelText, n as pickerButton, t as pickerControl, s as placeholder, i as valueBox, o as valueText };
6
6
 
7
7
  //# sourceMappingURL=entityIdFilterField.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityIdFilterField.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/entityIdFilterField.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.css.js';\n\nexport const container = sprinkles({\n display: 'flex',\n alignItems: 'center',\n width: 72,\n maxWidth: 'full',\n minWidth: 0,\n});\n\nexport const pickerControl = style([\n sprinkles({\n display: 'grid',\n alignItems: 'center',\n flex: 1,\n minWidth: 0,\n borderRadius: 'xl',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n backgroundColor: 'surface',\n color: 'text',\n paddingX: 3,\n paddingY: 1.5,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n gridTemplateColumns: 'minmax(0, 1fr) auto auto',\n gridTemplateAreas: '\"content pickAction clearAction\"',\n columnGap: vars.spacing[0.5],\n minHeight: '2.5rem',\n width: '100%',\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n },\n },\n },\n]);\n\nexport const pickerButton = style([\n sprinkles({\n appearance: 'none',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n minWidth: 0,\n width: 'full',\n textAlign: 'left',\n cursor: 'pointer',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'text',\n padding: 0,\n }),\n {\n gridArea: 'content',\n minHeight: '100%',\n selectors: {\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n gap: 0.5,\n minWidth: 0,\n width: 'full',\n maxWidth: 'full',\n});\n\nexport const valueBox = sprinkles({\n flex: 1,\n minWidth: 0,\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n});\n\nexport const labelText = sprinkles({\n display: 'block',\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n});\n\nexport const valueText = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n fontWeight: 'semibold',\n});\n\nexport const placeholder = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nconst actionButtonBase = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const pickActionButton = style([\n actionButtonBase,\n {\n gridArea: 'pickAction',\n },\n]);\n\nexport const clearButton = style([\n actionButtonBase,\n {\n gridArea: 'clearAction',\n },\n]);\n\nexport const actionIcon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
1
+ {"version":3,"file":"entityIdFilterField.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/entityIdFilterField.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const container = sprinkles({\n display: 'flex',\n alignItems: 'center',\n width: 72,\n maxWidth: 'full',\n minWidth: 0,\n});\n\nexport const pickerControl = style([\n sprinkles({\n display: 'grid',\n alignItems: 'center',\n flex: 1,\n minWidth: 0,\n borderRadius: 'xl',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n backgroundColor: 'surface',\n color: 'text',\n paddingX: 3,\n paddingY: 1.5,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n gridTemplateColumns: 'minmax(0, 1fr) auto',\n gridTemplateAreas: '\"picker clearAction\"',\n columnGap: vars.spacing[0.5],\n minHeight: '2.5rem',\n width: '100%',\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n },\n },\n },\n]);\n\nexport const pickerButton = style([\n sprinkles({\n appearance: 'none',\n display: 'grid',\n justifyContent: 'center',\n minWidth: 0,\n width: 'full',\n textAlign: 'start',\n cursor: 'pointer',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'text',\n padding: 0,\n }),\n {\n gridArea: 'picker',\n gridTemplateColumns: 'minmax(0, 1fr) auto',\n columnGap: vars.spacing[0.5],\n alignItems: 'center',\n minHeight: '100%',\n selectors: {\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n gap: 0.5,\n minWidth: 0,\n width: 'full',\n maxWidth: 'full',\n});\n\nexport const valueBox = sprinkles({\n flex: 1,\n minWidth: 0,\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n});\n\nexport const labelText = sprinkles({\n display: 'block',\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n});\n\nexport const valueText = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n fontWeight: 'semibold',\n});\n\nexport const placeholder = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nconst actionButtonBase = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const clearButton = style([\n actionButtonBase,\n {\n gridArea: 'clearAction',\n },\n]);\n\nexport const actionIcon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
@@ -3,7 +3,7 @@ import { jsx as d, jsxs as f } from "react/jsx-runtime";
3
3
  import { BackofficeEmptyState as p } from "@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js";
4
4
  import m from "@plumile/router/routing/Link.js";
5
5
  import { GlobalSearchInput as h } from "@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js";
6
- import { SidebarTasksSvg as g } from "@plumile/ui/icons/SidebarTasksSvg.js";
6
+ import { SidebarTasksSvg as g } from "@plumile/ui/icons/SidebarTasksSvg";
7
7
  //#region src/components/backoffice/hub/BackofficeHubTemplate.tsx
8
8
  var _ = /* @__PURE__ */ d(g, {
9
9
  width: 20,
@@ -22,7 +22,7 @@ var _ = /* @__PURE__ */ d(g, {
22
22
  children: [/* @__PURE__ */ f("div", {
23
23
  className: r,
24
24
  children: [e.icon != null && /* @__PURE__ */ d("span", {
25
- className: "txvbqb5bv txvbqb2cx txvbqb8db txvbqbleh txvbqb7jb txvbqbmw txvbqba6 txvbqbl9 txvbqbms txvbqbiu txvbqbe2 txvbqb1ce txvbqbawf",
25
+ className: "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzd txvbqb7u1 txvbqbn1 txvbqbab txvbqble txvbqbmx txvbqbiz txvbqbe7 txvbqb1cr txvbqbb75",
26
26
  "aria-hidden": "true",
27
27
  children: e.icon
28
28
  }), /* @__PURE__ */ f("span", {
@@ -31,7 +31,7 @@ var _ = /* @__PURE__ */ d(g, {
31
31
  className: a,
32
32
  children: e.title
33
33
  }), e.description != null && /* @__PURE__ */ d("span", {
34
- className: "txvbqbe3 txvbqb6ct",
34
+ className: "txvbqbe8 txvbqb6nj",
35
35
  children: e.description
36
36
  })]
37
37
  })]
@@ -55,11 +55,11 @@ var _ = /* @__PURE__ */ d(g, {
55
55
  children: e.label
56
56
  }),
57
57
  n && /* @__PURE__ */ d("span", {
58
- className: "txvbqbe3 txvbqb6ct txvbqb1oo txvbqb1um",
58
+ className: "txvbqbe8 txvbqb6nj txvbqb1rn txvbqb206",
59
59
  children: e.description
60
60
  }),
61
61
  r && /* @__PURE__ */ d("span", {
62
- className: "txvbqbe3 txvbqb6cj txvbqb1cr txvbqb6a txvbqb1l2",
62
+ className: "txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqb6a txvbqb1o1",
63
63
  children: e.metaLabel
64
64
  })
65
65
  ]
@@ -71,7 +71,7 @@ var _ = /* @__PURE__ */ d(g, {
71
71
  }), /* @__PURE__ */ f("div", {
72
72
  className: e,
73
73
  children: [v != null && /* @__PURE__ */ d("div", {
74
- className: "txvbqbcrn",
74
+ className: "txvbqbd2d",
75
75
  children: /* @__PURE__ */ d(h, {
76
76
  value: v.value,
77
77
  onChange: v.onChange,
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeHubTemplate.js","names":[],"sources":["../../../../../src/components/backoffice/hub/BackofficeHubTemplate.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { BackofficeEmptyState } from '@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js';\nimport { GlobalSearchInput } from '@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js';\nimport { SidebarTasksSvg } from '@plumile/ui/icons/SidebarTasksSvg.js';\n\nimport * as styles from './backofficeHubTemplate.css.js';\n\nexport type BackofficeHubTemplateItemKind = 'entity' | 'tool';\n\nexport type BackofficeHubTemplateItem = {\n id: string;\n kind: BackofficeHubTemplateItemKind;\n label: string;\n href: string;\n icon?: ReactNode;\n description?: string | null;\n metaLabel?: string | null;\n};\n\nexport type BackofficeHubTemplateGroup = {\n id: string;\n title: string;\n description?: string | null;\n icon?: ReactNode;\n items: readonly BackofficeHubTemplateItem[];\n};\n\nexport type BackofficeHubTemplateEmptyState = {\n title: string;\n description: string;\n icon?: ReactNode;\n};\n\nexport type BackofficeHubTemplateSearch = {\n value: string;\n onChange: (value: string) => void;\n placeholder: string;\n};\n\nexport type BackofficeHubTemplateProps = {\n groups: readonly BackofficeHubTemplateGroup[];\n search?: BackofficeHubTemplateSearch;\n emptyState: BackofficeHubTemplateEmptyState;\n};\n\nconst fallbackIcon = (\n <SidebarTasksSvg width={20} height={20} aria-hidden=\"true\" />\n);\n\nexport const BackofficeHubTemplate = ({\n groups,\n search,\n emptyState,\n}: BackofficeHubTemplateProps): JSX.Element => {\n let body: JSX.Element;\n\n if (groups.length === 0) {\n body = (\n <BackofficeEmptyState\n title={emptyState.title}\n description={emptyState.description}\n icon={emptyState.icon ?? fallbackIcon}\n />\n );\n } else {\n body = (\n <div className={styles.groups}>\n {groups.map((group) => {\n return (\n <section key={group.id} className={styles.group}>\n <div className={styles.groupHeader}>\n {group.icon != null && (\n <span className={styles.groupIcon} aria-hidden=\"true\">\n {group.icon}\n </span>\n )}\n <span className={styles.groupHeading}>\n <h2 className={styles.groupTitle}>{group.title}</h2>\n {group.description != null && (\n <span className={styles.groupDescription}>\n {group.description}\n </span>\n )}\n </span>\n </div>\n <div className={styles.grid}>\n {group.items.map((item) => {\n const icon = item.icon ?? fallbackIcon;\n const hasDescription =\n item.description != null && item.description !== '';\n const hasMetaLabel =\n item.metaLabel != null && item.metaLabel !== '';\n\n return (\n <Link\n key={`${item.kind}-${item.id}`}\n to={item.href}\n className={styles.item}\n preloadOnHover=\"code-and-data\"\n >\n <span className={styles.itemIcon} aria-hidden=\"true\">\n {icon}\n </span>\n <span className={styles.itemContent}>\n <span className={styles.itemTitle}>{item.label}</span>\n {hasDescription && (\n <span className={styles.itemDescription}>\n {item.description}\n </span>\n )}\n {hasMetaLabel && (\n <span className={styles.itemMeta}>\n {item.metaLabel}\n </span>\n )}\n </span>\n </Link>\n );\n })}\n </div>\n </section>\n );\n })}\n </div>\n );\n }\n\n return (\n <div className={styles.content}>\n {search != null && (\n <div className={styles.search}>\n <GlobalSearchInput\n value={search.value}\n onChange={search.onChange}\n placeholder={search.placeholder}\n />\n </div>\n )}\n {body}\n </div>\n );\n};\n\nexport default BackofficeHubTemplate;\n"],"mappings":";;;;;;;AA8CA,IAAM,IACJ,kBAAC,GAAD;CAAiB,OAAO;CAAI,QAAQ;CAAI,eAAY;AAAQ,CAAA,GAGjD,KAAyB,EACpC,QAAA,GACA,QAAA,GACA,oBAC6C;CAC7C,IAAI;CAyEJ,OAvEA,AASE,IATE,EAAO,WAAW,IAElB,kBAAC,GAAD;EACE,OAAO,EAAW;EAClB,aAAa,EAAW;EACxB,MAAM,EAAW,QAAQ;CAC1B,CAAA,IAID,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,EAAO,KAAK,MAET,kBAAC,WAAD;GAAwB,WAAW;GAAnC,UAAA,CACE,kBAAC,OAAD;IAAK,WAAW;IAAhB,UAAA,CACG,EAAM,QAAQ,QACb,kBAAC,QAAD;KAAM,WAAW;KAAkB,eAAY;KAC5C,UAAA,EAAM;IACH,CAAA,GAER,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACE,kBAAC,MAAD;MAAI,WAAW;MAAoB,UAAA,EAAM;KAAU,CAAA,GAClD,EAAM,eAAe,QACpB,kBAAC,QAAD;MAAM,WAAW;MACd,UAAA,EAAM;KACH,CAAA,CAEJ;IACH,CAAA,CAAA;GACL,CAAA,GAAA,kBAAC,OAAD;IAAK,WAAW;IACb,UAAA,EAAM,MAAM,KAAK,MAAS;KACzB,IAAM,IAAO,EAAK,QAAQ,GACpB,IACJ,EAAK,eAAe,QAAQ,EAAK,gBAAgB,IAC7C,IACJ,EAAK,aAAa,QAAQ,EAAK,cAAc;KAE/C,OACE,kBAAC,GAAD;MAEE,IAAI,EAAK;MACT,WAAW;MACX,gBAAe;MAJjB,UAAA,CAME,kBAAC,QAAD;OAAM,WAAW;OAAiB,eAAY;OAC3C,UAAA;MACG,CAAA,GACN,kBAAC,QAAD;OAAM,WAAW;OAAjB,UAAA;QACE,kBAAC,QAAD;SAAM,WAAW;SAAmB,UAAA,EAAK;QAAY,CAAA;QACpD,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;QAEP,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;OAEJ;MACF,CAAA,CAAA;KArBC,GAAA,GAAG,EAAK,KAAK,GAAG,EAAK,IAqBtB;IAEV,CAAC;GACE,CAAA,CACE;EAnDK,GAAA,EAAM,EAmDX,CAEZ;CACE,CAAA,GAKP,kBAAC,OAAD;EAAK,WAAW;EAAhB,UAAA,CACG,KAAU,QACT,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,UAAU,EAAO;IACjB,aAAa,EAAO;GACrB,CAAA;EACE,CAAA,GAEN,CACE;;AAET"}
1
+ {"version":3,"file":"BackofficeHubTemplate.js","names":[],"sources":["../../../../../src/components/backoffice/hub/BackofficeHubTemplate.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { BackofficeEmptyState } from '@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js';\nimport { GlobalSearchInput } from '@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js';\nimport { SidebarTasksSvg } from '@plumile/ui/icons/SidebarTasksSvg';\n\nimport * as styles from './backofficeHubTemplate.css.js';\n\nexport type BackofficeHubTemplateItemKind = 'entity' | 'tool';\n\nexport type BackofficeHubTemplateItem = {\n id: string;\n kind: BackofficeHubTemplateItemKind;\n label: string;\n href: string;\n icon?: ReactNode;\n description?: string | null;\n metaLabel?: string | null;\n};\n\nexport type BackofficeHubTemplateGroup = {\n id: string;\n title: string;\n description?: string | null;\n icon?: ReactNode;\n items: readonly BackofficeHubTemplateItem[];\n};\n\nexport type BackofficeHubTemplateEmptyState = {\n title: string;\n description: string;\n icon?: ReactNode;\n};\n\nexport type BackofficeHubTemplateSearch = {\n value: string;\n onChange: (value: string) => void;\n placeholder: string;\n};\n\nexport type BackofficeHubTemplateProps = {\n groups: readonly BackofficeHubTemplateGroup[];\n search?: BackofficeHubTemplateSearch;\n emptyState: BackofficeHubTemplateEmptyState;\n};\n\nconst fallbackIcon = (\n <SidebarTasksSvg width={20} height={20} aria-hidden=\"true\" />\n);\n\nexport const BackofficeHubTemplate = ({\n groups,\n search,\n emptyState,\n}: BackofficeHubTemplateProps): JSX.Element => {\n let body: JSX.Element;\n\n if (groups.length === 0) {\n body = (\n <BackofficeEmptyState\n title={emptyState.title}\n description={emptyState.description}\n icon={emptyState.icon ?? fallbackIcon}\n />\n );\n } else {\n body = (\n <div className={styles.groups}>\n {groups.map((group) => {\n return (\n <section key={group.id} className={styles.group}>\n <div className={styles.groupHeader}>\n {group.icon != null && (\n <span className={styles.groupIcon} aria-hidden=\"true\">\n {group.icon}\n </span>\n )}\n <span className={styles.groupHeading}>\n <h2 className={styles.groupTitle}>{group.title}</h2>\n {group.description != null && (\n <span className={styles.groupDescription}>\n {group.description}\n </span>\n )}\n </span>\n </div>\n <div className={styles.grid}>\n {group.items.map((item) => {\n const icon = item.icon ?? fallbackIcon;\n const hasDescription =\n item.description != null && item.description !== '';\n const hasMetaLabel =\n item.metaLabel != null && item.metaLabel !== '';\n\n return (\n <Link\n key={`${item.kind}-${item.id}`}\n to={item.href}\n className={styles.item}\n preloadOnHover=\"code-and-data\"\n >\n <span className={styles.itemIcon} aria-hidden=\"true\">\n {icon}\n </span>\n <span className={styles.itemContent}>\n <span className={styles.itemTitle}>{item.label}</span>\n {hasDescription && (\n <span className={styles.itemDescription}>\n {item.description}\n </span>\n )}\n {hasMetaLabel && (\n <span className={styles.itemMeta}>\n {item.metaLabel}\n </span>\n )}\n </span>\n </Link>\n );\n })}\n </div>\n </section>\n );\n })}\n </div>\n );\n }\n\n return (\n <div className={styles.content}>\n {search != null && (\n <div className={styles.search}>\n <GlobalSearchInput\n value={search.value}\n onChange={search.onChange}\n placeholder={search.placeholder}\n />\n </div>\n )}\n {body}\n </div>\n );\n};\n\nexport default BackofficeHubTemplate;\n"],"mappings":";;;;;;;AA8CA,IAAM,IACJ,kBAAC,GAAD;CAAiB,OAAO;CAAI,QAAQ;CAAI,eAAY;AAAQ,CAAA,GAGjD,KAAyB,EACpC,QAAA,GACA,QAAA,GACA,oBAC6C;CAC7C,IAAI;CAyEJ,OAvEA,AASE,IATE,EAAO,WAAW,IAElB,kBAAC,GAAD;EACE,OAAO,EAAW;EAClB,aAAa,EAAW;EACxB,MAAM,EAAW,QAAQ;CAC1B,CAAA,IAID,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,EAAO,KAAK,MAET,kBAAC,WAAD;GAAwB,WAAW;GAAnC,UAAA,CACE,kBAAC,OAAD;IAAK,WAAW;IAAhB,UAAA,CACG,EAAM,QAAQ,QACb,kBAAC,QAAD;KAAM,WAAW;KAAkB,eAAY;KAC5C,UAAA,EAAM;IACH,CAAA,GAER,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACE,kBAAC,MAAD;MAAI,WAAW;MAAoB,UAAA,EAAM;KAAU,CAAA,GAClD,EAAM,eAAe,QACpB,kBAAC,QAAD;MAAM,WAAW;MACd,UAAA,EAAM;KACH,CAAA,CAEJ;IACH,CAAA,CAAA;GACL,CAAA,GAAA,kBAAC,OAAD;IAAK,WAAW;IACb,UAAA,EAAM,MAAM,KAAK,MAAS;KACzB,IAAM,IAAO,EAAK,QAAQ,GACpB,IACJ,EAAK,eAAe,QAAQ,EAAK,gBAAgB,IAC7C,IACJ,EAAK,aAAa,QAAQ,EAAK,cAAc;KAE/C,OACE,kBAAC,GAAD;MAEE,IAAI,EAAK;MACT,WAAW;MACX,gBAAe;MAJjB,UAAA,CAME,kBAAC,QAAD;OAAM,WAAW;OAAiB,eAAY;OAC3C,UAAA;MACG,CAAA,GACN,kBAAC,QAAD;OAAM,WAAW;OAAjB,UAAA;QACE,kBAAC,QAAD;SAAM,WAAW;SAAmB,UAAA,EAAK;QAAY,CAAA;QACpD,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;QAEP,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;OAEJ;MACF,CAAA,CAAA;KArBC,GAAA,GAAG,EAAK,KAAK,GAAG,EAAK,IAqBtB;IAEV,CAAC;GACE,CAAA,CACE;EAnDK,GAAA,EAAM,EAmDX,CAEZ;CACE,CAAA,GAKP,kBAAC,OAAD;EAAK,WAAW;EAAhB,UAAA,CACG,KAAU,QACT,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,UAAU,EAAO;IACjB,aAAa,EAAO;GACrB,CAAA;EACE,CAAA,GAEN,CACE;;AAET"}
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
2
  //#region src/components/backoffice/hub/backofficeHubTemplate.css.ts
3
- var e = "txvbqb5b1 txvbqb6bf txvbqb6ht", t = "txvbqbcrn", n = "txvbqb5b1 txvbqb6bf txvbqb6i3", r = "txvbqb5b1 txvbqb6bf txvbqb6h9", i = "txvbqb5b1 txvbqb2cn txvbqb6h9", a = "txvbqb5bv txvbqb2cx txvbqb8db txvbqbleh txvbqb7jb txvbqbmw txvbqba6 txvbqbl9 txvbqbms txvbqbiu txvbqbe2 txvbqb1ce txvbqbawf", o = "txvbqb5b1 txvbqb6bf txvbqb6gp txvbqbdqn", s = "txvbqb6dd txvbqb1cs txvbqbe1 txvbqb1ou", c = "txvbqbe3 txvbqb6ct", l = "txvbqb5bb txvbqb7g9 txvbqb6h9", u = "u4nszr0 txvbqb5b1 txvbqb2cn txvbqb6h9 txvbqbeux txvbqbmw txvbqbl9 txvbqbms txvbqbiu txvbqba4 txvbqbe1 txvbqb3f txvbqbdqn txvbqb7g txvbqb76 txvbqb7t", d = "txvbqb5bv txvbqb2cx txvbqb8db txvbqbler txvbqb7jl txvbqbmw txvbqba6 txvbqbe2 txvbqb1ce", f = "txvbqb5b1 txvbqb6bf txvbqb6gp txvbqbdqn", p = "txvbqb1cs txvbqbe1 txvbqb1um", m = "txvbqbe3 txvbqb6ct txvbqb1oo txvbqb1um", h = "txvbqbe3 txvbqb6cj txvbqb1cr txvbqb6a txvbqb1l2";
3
+ var e = "txvbqb5lr txvbqb6m5 txvbqb6sj", t = "txvbqbd2d", n = "txvbqb5lr txvbqb6m5 txvbqb6st", r = "txvbqb5lr txvbqb6m5 txvbqb6rz", i = "txvbqb5lr txvbqb2nd txvbqb6rz", a = "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzd txvbqb7u1 txvbqbn1 txvbqbab txvbqble txvbqbmx txvbqbiz txvbqbe7 txvbqb1cr txvbqbb75", o = "txvbqb5lr txvbqb6m5 txvbqb6rf txvbqbe1d", s = "txvbqb6o3 txvbqb1d5 txvbqbe6 txvbqb1rt", c = "txvbqbe8 txvbqb6nj", l = "txvbqb5m1 txvbqb7qz txvbqb6rz", u = "u4nszr0 txvbqb5lr txvbqb2nd txvbqb6rz txvbqbf5n txvbqbn1 txvbqble txvbqbmx txvbqbiz txvbqba9 txvbqbe6 txvbqb3f txvbqbe1d txvbqb7m txvbqb78 txvbqb7y qbwcue2", d = "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzn txvbqb7ub txvbqbn1 txvbqbab txvbqbe7 txvbqb1cr", f = "txvbqb5lr txvbqb6m5 txvbqb6rf txvbqbe1d", p = "txvbqb1d5 txvbqbe6 txvbqb206", m = "txvbqbe8 txvbqb6nj txvbqb1rn txvbqb206", h = "txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqb6a txvbqb1o1";
4
4
  //#endregion
5
5
  export { e as content, l as grid, r as group, c as groupDescription, i as groupHeader, o as groupHeading, a as groupIcon, s as groupTitle, n as groups, u as item, f as itemContent, m as itemDescription, d as itemIcon, h as itemMeta, p as itemTitle, t as search };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeHubTemplate.css.js","names":[],"sources":["../../../../../src/components/backoffice/hub/backofficeHubTemplate.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.css.js';\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 5,\n});\n\nexport const search = sprinkles({\n maxWidth: '2xl',\n});\n\nexport const groups = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n});\n\nexport const group = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const groupHeader = sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n});\n\nexport const groupIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n color: 'textSecondary',\n flexShrink: 0,\n marginTop: 'px',\n});\n\nexport const groupHeading = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const groupTitle = sprinkles({\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'text',\n margin: 0,\n});\n\nexport const groupDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nexport const grid = sprinkles({\n display: 'grid',\n gridTemplateColumns: 'autoFitMinmax260',\n gap: 3,\n});\n\nexport const item = style([\n sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n padding: 3,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surface',\n color: 'text',\n textDecoration: 'none',\n minWidth: 0,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n minHeight: '92px',\n selectors: {\n '&:hover': {\n borderColor: vars.colors.border,\n backgroundColor: vars.colors.surfaceMuted,\n transform: 'translateY(-1px)',\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n\nexport const itemIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 9,\n height: 9,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n color: 'textSecondary',\n flexShrink: 0,\n});\n\nexport const itemContent = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const itemTitle = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n overflowWrap: 'anywhere',\n});\n\nexport const itemDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n lineHeight: 'normal',\n overflowWrap: 'anywhere',\n});\n\nexport const itemMeta = sprinkles({\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n textTransform: 'uppercase',\n letterSpacing: 'wide',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"backofficeHubTemplate.css.js","names":[],"sources":["../../../../../src/components/backoffice/hub/backofficeHubTemplate.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport {\n sprinkles,\n reducedMotionDecorativeTransform,\n vars,\n} from '@plumile/ui/theme';\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 5,\n});\n\nexport const search = sprinkles({\n maxWidth: '2xl',\n});\n\nexport const groups = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n});\n\nexport const group = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const groupHeader = sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n});\n\nexport const groupIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n color: 'textSecondary',\n flexShrink: 0,\n marginTop: 'px',\n});\n\nexport const groupHeading = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const groupTitle = sprinkles({\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'text',\n margin: 0,\n});\n\nexport const groupDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nexport const grid = sprinkles({\n display: 'grid',\n gridTemplateColumns: 'autoFitMinmax260',\n gap: 3,\n});\n\nexport const item = style([\n sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n padding: 3,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surface',\n color: 'text',\n textDecoration: 'none',\n minWidth: 0,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n reducedMotionDecorativeTransform,\n {\n minHeight: '92px',\n selectors: {\n '&:hover': {\n borderColor: vars.colors.border,\n backgroundColor: vars.colors.surfaceMuted,\n transform: 'translateY(-1px)',\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n\nexport const itemIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 9,\n height: 9,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n color: 'textSecondary',\n flexShrink: 0,\n});\n\nexport const itemContent = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const itemTitle = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n overflowWrap: 'anywhere',\n});\n\nexport const itemDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n lineHeight: 'normal',\n overflowWrap: 'anywhere',\n});\n\nexport const itemMeta = sprinkles({\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n textTransform: 'uppercase',\n letterSpacing: 'wide',\n});\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
2
  //#region src/components/backoffice/layout/backofficeSidebarActions.css.ts
3
- var e = "_1xws1b00 txvbqb5bv txvbqb2cx txvbqb8db txvbqbldx txvbqb7ir txvbqbk4 txvbqbmq txvbqbmw txvbqb8i txvbqbv txvbqbeu3 txvbqb7h txvbqb76 txvbqb7t";
3
+ var e = "_1xws1b00 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkyt txvbqb7th txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y";
4
4
  //#endregion
5
5
  export { e as actionButton };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeSidebarActions.css.js","names":[],"sources":["../../../../../src/components/backoffice/layout/backofficeSidebarActions.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.css.js';\n\nexport const actionButton = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 6,\n height: 6,\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'md',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: 0,\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n color: vars.sidebar.actionColor,\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: vars.sidebar.actionHoverBackground,\n color: vars.sidebar.actionHoverColor,\n },\n '&:focus-visible': {\n boxShadow: vars.sidebar.actionFocusRing,\n outline: 'none',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.6,\n },\n },\n },\n]);\n"],"mappings":""}
1
+ {"version":3,"file":"backofficeSidebarActions.css.js","names":[],"sources":["../../../../../src/components/backoffice/layout/backofficeSidebarActions.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const actionButton = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 6,\n height: 6,\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'md',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: 0,\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n '@media': {\n '(forced-colors: active)': {\n selectors: {\n '&:focus-visible': {\n boxShadow: 'none',\n outline: '2px solid Highlight',\n outlineOffset: 2,\n },\n },\n },\n },\n color: vars.sidebar.actionColor,\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: vars.sidebar.actionHoverBackground,\n color: vars.sidebar.actionHoverColor,\n },\n '&:focus-visible': {\n boxShadow: vars.sidebar.actionFocusRing,\n outline: 'none',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.6,\n },\n },\n },\n]);\n"],"mappings":""}
@@ -5,7 +5,7 @@ import { BackofficeLinkLabel as r } from "../../links/BackofficeLinkLabel.js";
5
5
  import { current as i, homeLabel as a, item as o, link as s, list as c, nav as l, separator as u } from "./backofficeTopbarBreadcrumb.css.js";
6
6
  import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  import m from "@plumile/router/routing/Link.js";
8
- import { SidebarHomeSvg as h } from "@plumile/ui/icons/SidebarHomeSvg.js";
8
+ import { SidebarHomeSvg as h } from "@plumile/ui/icons/SidebarHomeSvg";
9
9
  //#region src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx
10
10
  var g = (e) => {
11
11
  let { target: t } = e;
@@ -31,13 +31,13 @@ var g = (e) => {
31
31
  children: [/* @__PURE__ */ p("li", {
32
32
  className: o,
33
33
  children: [x && /* @__PURE__ */ f("span", {
34
- className: "_80s44h2 _80s44h1 qbwcuej qbwcueh txvbqb5bv txvbqb2cx txvbqb8db txvbqbk4 txvbqbmq txvbqbmw txvbqb8i txvbqbe2 txvbqbv txvbqbeu3 txvbqb7h txvbqb76 txvbqb7t qbwcuei txvbqbmru txvbqbon6 qbwcue4 txvbqbp68 txvbqbpco qbwcue0 txvbqbpec txvbqbq8k qbwcuex qbwcuer txvbqb1ce txvbqb1ol qbwcue11 qbwcuev txvbqbleh txvbqb7jb txvbqbdsv txvbqbd1d txvbqb3f txvbqba6 txvbqbe1",
34
+ className: "_80s44h2 _80s44h1 qbwcueu qbwcues txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbe7 txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y qbwcuet txvbqbmcq txvbqbo82 qbwcuec txvbqbor4 txvbqboxk qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3 qbwcue18 qbwcue12 txvbqb1cr txvbqb1rk qbwcue1c qbwcue16 txvbqbkzd txvbqb7u1 txvbqbe3l txvbqbdc3 txvbqb3f txvbqbab txvbqbe6",
35
35
  "aria-current": "page",
36
36
  title: b,
37
37
  children: w
38
38
  }), !x && /* @__PURE__ */ f(m, {
39
39
  to: y,
40
- className: "_80s44h1 qbwcuej qbwcueh txvbqb5bv txvbqb2cx txvbqb8db txvbqbk4 txvbqbmq txvbqbmw txvbqb8i txvbqbe2 txvbqbv txvbqbeu3 txvbqb7h txvbqb76 txvbqb7t qbwcuei txvbqbmru txvbqbon6 qbwcue4 txvbqbp68 txvbqbpco qbwcue0 txvbqbpec txvbqbq8k qbwcuex qbwcuer txvbqb1ce txvbqb1ol qbwcue11 qbwcuev txvbqbleh txvbqb7jb txvbqbdsv txvbqbd1d txvbqb3f",
40
+ className: "_80s44h1 qbwcueu qbwcues txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbe7 txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y qbwcuet txvbqbmcq txvbqbo82 qbwcuec txvbqbor4 txvbqboxk qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3 qbwcue18 qbwcue12 txvbqb1cr txvbqb1rk qbwcue1c qbwcue16 txvbqbkzd txvbqb7u1 txvbqbe3l txvbqbdc3 txvbqb3f",
41
41
  "aria-label": b,
42
42
  title: b,
43
43
  preloadOnHover: "code-and-data",
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeTopbarBreadcrumb.js","names":[],"sources":["../../../../../../src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { SidebarHomeSvg } from '@plumile/ui/icons/SidebarHomeSvg.js';\n\nimport { BackofficeLink } from '../../links/BackofficeLink.js';\nimport { BackofficeLinkLabel } from '../../links/BackofficeLinkLabel.js';\nimport { useBackofficeReactTranslation } from '../../../../i18n/useBackofficeReactTranslation.js';\nimport type { BackofficeTopbarBreadcrumbItem } from './types.js';\nimport { useBackofficeTopbarPortalContext } from './BackofficeTopbarPortalContext.js';\nimport * as styles from './backofficeTopbarBreadcrumb.css.js';\n\nexport type BackofficeTopbarBreadcrumbProps = {\n items: readonly BackofficeTopbarBreadcrumbItem[];\n};\n\nconst getBreadcrumbItemKey = (item: BackofficeTopbarBreadcrumbItem): string => {\n const { target } = item;\n if (target.kind === 'dashboard') {\n return `${item.kind}-dashboard`;\n }\n if (target.kind === 'entity-list') {\n return `${item.kind}-entity-list-${target.entityId}`;\n }\n if (target.kind === 'entity-detail') {\n return `${item.kind}-entity-detail-${target.entityId}-${target.id}`;\n }\n if (target.kind === 'entity-detail-page') {\n return `${item.kind}-entity-detail-page-${target.entityId}-${target.id}-${target.pageId}`;\n }\n if (target.kind === 'tool') {\n return `${item.kind}-tool-${target.toolId}`;\n }\n if (target.kind === 'hub') {\n return `${item.kind}-hub-${target.hubId}`;\n }\n return `${item.kind}-href-${target.href}`;\n};\n\nexport const BackofficeTopbarBreadcrumb = ({\n items,\n}: BackofficeTopbarBreadcrumbProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const { dashboardHref, dashboardLabel } = useBackofficeTopbarPortalContext();\n let isDashboardCurrent = false;\n const [firstItem] = items;\n if (items.length === 1 && firstItem != null) {\n isDashboardCurrent =\n firstItem.target.kind === 'dashboard' && firstItem.kind === 'current';\n }\n let visibleItems: readonly BackofficeTopbarBreadcrumbItem[] = items;\n if (isDashboardCurrent) {\n visibleItems = [];\n }\n\n const homeContent = (\n <>\n <SidebarHomeSvg width={16} height={16} aria-hidden=\"true\" />\n <span className={styles.homeLabel}>{dashboardLabel}</span>\n </>\n );\n\n return (\n <nav className={styles.nav} aria-label={t('common.breadcrumb')}>\n <ol className={styles.list}>\n <li className={styles.item}>\n {isDashboardCurrent && (\n <span\n className={styles.homeCurrent}\n aria-current=\"page\"\n title={dashboardLabel}\n >\n {homeContent}\n </span>\n )}\n {!isDashboardCurrent && (\n <Link\n to={dashboardHref}\n className={styles.homeLink}\n aria-label={dashboardLabel}\n title={dashboardLabel}\n preloadOnHover=\"code-and-data\"\n >\n {homeContent}\n </Link>\n )}\n </li>\n {visibleItems.map((item, index) => {\n const isCurrent = item.kind === 'current';\n const key = getBreadcrumbItemKey(item);\n let icon: 'auto' | 'none' = 'none';\n if (index === 0) {\n icon = 'auto';\n }\n let content: JSX.Element;\n\n if (!isCurrent) {\n content = (\n <BackofficeLink\n target={item.target}\n label={item.label}\n className={styles.link}\n icon={icon}\n />\n );\n } else {\n content = (\n <BackofficeLinkLabel\n target={item.target}\n label={item.label}\n className={styles.current}\n icon={icon}\n />\n );\n }\n\n return (\n <li key={key} className={styles.item}>\n <span className={styles.separator} aria-hidden=\"true\">\n /\n </span>\n {content}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nexport default BackofficeTopbarBreadcrumb;\n"],"mappings":";;;;;;;;;AAeA,IAAM,KAAwB,MAAiD;CAC7E,IAAM,EAAE,cAAW;CAmBnB,OAlBI,EAAO,SAAS,cACX,GAAG,EAAK,KAAK,cAElB,EAAO,SAAS,gBACX,GAAG,EAAK,KAAK,eAAe,EAAO,aAExC,EAAO,SAAS,kBACX,GAAG,EAAK,KAAK,iBAAiB,EAAO,SAAS,GAAG,EAAO,OAE7D,EAAO,SAAS,uBACX,GAAG,EAAK,KAAK,sBAAsB,EAAO,SAAS,GAAG,EAAO,GAAG,GAAG,EAAO,WAE/E,EAAO,SAAS,SACX,GAAG,EAAK,KAAK,QAAQ,EAAO,WAEjC,EAAO,SAAS,QACX,GAAG,EAAK,KAAK,OAAO,EAAO,UAE7B,GAAG,EAAK,KAAK,QAAQ,EAAO;AACrC,GAEa,KAA8B,EACzC,eACkD;CAClD,IAAM,EAAE,SAAM,EAA8B,GACtC,EAAE,kBAAe,sBAAmB,EAAiC,GACvE,IAAqB,IACnB,CAAC,KAAa;CACpB,AAAI,EAAM,WAAW,KAAK,KAAa,SACrC,IACE,EAAU,OAAO,SAAS,eAAe,EAAU,SAAS;CAEhE,IAAI,IAA0D;CAC9D,AAAI,MACF,IAAe,CAAC;CAGlB,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAgB,OAAO;EAAI,QAAQ;EAAI,eAAY;CAAQ,CAAA,GAC3D,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAAqB,CAAA,CACzD,EAAA,CAAA;CAGJ,OACE,kBAAC,OAAD;EAAK,WAAW;EAAY,cAAY,EAAE,mBAAmB;EAC3D,UAAA,kBAAC,MAAD;GAAI,WAAW;GAAf,UAAA,CACE,kBAAC,MAAD;IAAI,WAAW;IAAf,UAAA,CACG,KACC,kBAAC,QAAD;KACE,WAAW;KACX,gBAAa;KACb,OAAO;KAEN,UAAA;IACG,CAAA,GAEP,CAAC,KACA,kBAAC,GAAD;KACE,IAAI;KACJ,WAAW;KACX,cAAY;KACZ,OAAO;KACP,gBAAe;KAEd,UAAA;IACG,CAAA,CAEN;GACH,CAAA,GAAA,EAAa,KAAK,GAAM,MAAU;IACjC,IAAM,IAAY,EAAK,SAAS,WAC1B,IAAM,EAAqB,CAAI,GACjC,IAAwB;IAC5B,AAAI,MAAU,MACZ,IAAO;IAET,IAAI;IAsBJ,OApBA,AACE,IADG,IAWD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,IAdD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,GAcH,kBAAC,MAAD;KAAc,WAAW;KAAzB,UAAA,CACE,kBAAC,QAAD;MAAM,WAAW;MAAkB,eAAY;MAAO,UAAA;KAEhD,CAAA,GACL,CACC;IALK,GAAA,CAKL;GAER,CAAC,CACC;;CACD,CAAA;AAET"}
1
+ {"version":3,"file":"BackofficeTopbarBreadcrumb.js","names":[],"sources":["../../../../../../src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { SidebarHomeSvg } from '@plumile/ui/icons/SidebarHomeSvg';\n\nimport { BackofficeLink } from '../../links/BackofficeLink.js';\nimport { BackofficeLinkLabel } from '../../links/BackofficeLinkLabel.js';\nimport { useBackofficeReactTranslation } from '../../../../i18n/useBackofficeReactTranslation.js';\nimport type { BackofficeTopbarBreadcrumbItem } from './types.js';\nimport { useBackofficeTopbarPortalContext } from './BackofficeTopbarPortalContext.js';\nimport * as styles from './backofficeTopbarBreadcrumb.css.js';\n\nexport type BackofficeTopbarBreadcrumbProps = {\n items: readonly BackofficeTopbarBreadcrumbItem[];\n};\n\nconst getBreadcrumbItemKey = (item: BackofficeTopbarBreadcrumbItem): string => {\n const { target } = item;\n if (target.kind === 'dashboard') {\n return `${item.kind}-dashboard`;\n }\n if (target.kind === 'entity-list') {\n return `${item.kind}-entity-list-${target.entityId}`;\n }\n if (target.kind === 'entity-detail') {\n return `${item.kind}-entity-detail-${target.entityId}-${target.id}`;\n }\n if (target.kind === 'entity-detail-page') {\n return `${item.kind}-entity-detail-page-${target.entityId}-${target.id}-${target.pageId}`;\n }\n if (target.kind === 'tool') {\n return `${item.kind}-tool-${target.toolId}`;\n }\n if (target.kind === 'hub') {\n return `${item.kind}-hub-${target.hubId}`;\n }\n return `${item.kind}-href-${target.href}`;\n};\n\nexport const BackofficeTopbarBreadcrumb = ({\n items,\n}: BackofficeTopbarBreadcrumbProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const { dashboardHref, dashboardLabel } = useBackofficeTopbarPortalContext();\n let isDashboardCurrent = false;\n const [firstItem] = items;\n if (items.length === 1 && firstItem != null) {\n isDashboardCurrent =\n firstItem.target.kind === 'dashboard' && firstItem.kind === 'current';\n }\n let visibleItems: readonly BackofficeTopbarBreadcrumbItem[] = items;\n if (isDashboardCurrent) {\n visibleItems = [];\n }\n\n const homeContent = (\n <>\n <SidebarHomeSvg width={16} height={16} aria-hidden=\"true\" />\n <span className={styles.homeLabel}>{dashboardLabel}</span>\n </>\n );\n\n return (\n <nav className={styles.nav} aria-label={t('common.breadcrumb')}>\n <ol className={styles.list}>\n <li className={styles.item}>\n {isDashboardCurrent && (\n <span\n className={styles.homeCurrent}\n aria-current=\"page\"\n title={dashboardLabel}\n >\n {homeContent}\n </span>\n )}\n {!isDashboardCurrent && (\n <Link\n to={dashboardHref}\n className={styles.homeLink}\n aria-label={dashboardLabel}\n title={dashboardLabel}\n preloadOnHover=\"code-and-data\"\n >\n {homeContent}\n </Link>\n )}\n </li>\n {visibleItems.map((item, index) => {\n const isCurrent = item.kind === 'current';\n const key = getBreadcrumbItemKey(item);\n let icon: 'auto' | 'none' = 'none';\n if (index === 0) {\n icon = 'auto';\n }\n let content: JSX.Element;\n\n if (!isCurrent) {\n content = (\n <BackofficeLink\n target={item.target}\n label={item.label}\n className={styles.link}\n icon={icon}\n />\n );\n } else {\n content = (\n <BackofficeLinkLabel\n target={item.target}\n label={item.label}\n className={styles.current}\n icon={icon}\n />\n );\n }\n\n return (\n <li key={key} className={styles.item}>\n <span className={styles.separator} aria-hidden=\"true\">\n /\n </span>\n {content}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nexport default BackofficeTopbarBreadcrumb;\n"],"mappings":";;;;;;;;;AAeA,IAAM,KAAwB,MAAiD;CAC7E,IAAM,EAAE,cAAW;CAmBnB,OAlBI,EAAO,SAAS,cACX,GAAG,EAAK,KAAK,cAElB,EAAO,SAAS,gBACX,GAAG,EAAK,KAAK,eAAe,EAAO,aAExC,EAAO,SAAS,kBACX,GAAG,EAAK,KAAK,iBAAiB,EAAO,SAAS,GAAG,EAAO,OAE7D,EAAO,SAAS,uBACX,GAAG,EAAK,KAAK,sBAAsB,EAAO,SAAS,GAAG,EAAO,GAAG,GAAG,EAAO,WAE/E,EAAO,SAAS,SACX,GAAG,EAAK,KAAK,QAAQ,EAAO,WAEjC,EAAO,SAAS,QACX,GAAG,EAAK,KAAK,OAAO,EAAO,UAE7B,GAAG,EAAK,KAAK,QAAQ,EAAO;AACrC,GAEa,KAA8B,EACzC,eACkD;CAClD,IAAM,EAAE,SAAM,EAA8B,GACtC,EAAE,kBAAe,sBAAmB,EAAiC,GACvE,IAAqB,IACnB,CAAC,KAAa;CACpB,AAAI,EAAM,WAAW,KAAK,KAAa,SACrC,IACE,EAAU,OAAO,SAAS,eAAe,EAAU,SAAS;CAEhE,IAAI,IAA0D;CAC9D,AAAI,MACF,IAAe,CAAC;CAGlB,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAgB,OAAO;EAAI,QAAQ;EAAI,eAAY;CAAQ,CAAA,GAC3D,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAAqB,CAAA,CACzD,EAAA,CAAA;CAGJ,OACE,kBAAC,OAAD;EAAK,WAAW;EAAY,cAAY,EAAE,mBAAmB;EAC3D,UAAA,kBAAC,MAAD;GAAI,WAAW;GAAf,UAAA,CACE,kBAAC,MAAD;IAAI,WAAW;IAAf,UAAA,CACG,KACC,kBAAC,QAAD;KACE,WAAW;KACX,gBAAa;KACb,OAAO;KAEN,UAAA;IACG,CAAA,GAEP,CAAC,KACA,kBAAC,GAAD;KACE,IAAI;KACJ,WAAW;KACX,cAAY;KACZ,OAAO;KACP,gBAAe;KAEd,UAAA;IACG,CAAA,CAEN;GACH,CAAA,GAAA,EAAa,KAAK,GAAM,MAAU;IACjC,IAAM,IAAY,EAAK,SAAS,WAC1B,IAAM,EAAqB,CAAI,GACjC,IAAwB;IAC5B,AAAI,MAAU,MACZ,IAAO;IAET,IAAI;IAsBJ,OApBA,AACE,IADG,IAWD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,IAdD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,GAcH,kBAAC,MAAD;KAAc,WAAW;KAAzB,UAAA,CACE,kBAAC,QAAD;MAAM,WAAW;MAAkB,eAAY;MAAO,UAAA;KAEhD,CAAA,GACL,CACC;IALK,GAAA,CAKL;GAER,CAAC,CACC;;CACD,CAAA;AAET"}