@multiplatform.one/backoffice 7.4.1 → 7.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/chrome/HelpMenu.cjs +13 -7
- package/dist/cjs/chrome/HelpMenu.native.js +14 -7
- package/dist/cjs/chrome/HelpMenu.native.js.map +1 -1
- package/dist/cjs/chrome/NotificationsButton.cjs +5 -1
- package/dist/cjs/chrome/NotificationsButton.native.js +5 -1
- package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
- package/dist/cjs/chrome/UserMenu.cjs +13 -8
- package/dist/cjs/chrome/UserMenu.native.js +13 -8
- package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
- package/dist/cjs/chrome/help-about-dialog.cjs +2 -2
- package/dist/cjs/chrome/help-about-dialog.native.js +2 -2
- package/dist/cjs/chrome/help-shortcuts-dialog.cjs +6 -3
- package/dist/cjs/chrome/help-shortcuts-dialog.native.js +6 -3
- package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -1
- package/dist/cjs/chrome/notifications-panel.cjs +11 -6
- package/dist/cjs/chrome/notifications-panel.native.js +11 -6
- package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
- package/dist/cjs/form/FormConnections.cjs +2 -1
- package/dist/cjs/form/FormConnections.native.js +2 -1
- package/dist/cjs/form/FormConnections.native.js.map +1 -1
- package/dist/cjs/form/FormErrorBoundary.cjs +1 -1
- package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
- package/dist/cjs/form/FormHeaderCluster.cjs +7 -3
- package/dist/cjs/form/FormHeaderCluster.native.js +8 -4
- package/dist/cjs/form/FormHeaderCluster.native.js.map +1 -1
- package/dist/cjs/form/FormSidebarPanel.cjs +9 -8
- package/dist/cjs/form/FormSidebarPanel.native.js +10 -9
- package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
- package/dist/cjs/form/FormTimeline.cjs +14 -13
- package/dist/cjs/form/FormTimeline.native.js +15 -13
- package/dist/cjs/form/FormTimeline.native.js.map +1 -1
- package/dist/cjs/form/FormToolbar.cjs +16 -16
- package/dist/cjs/form/FormToolbar.native.js +17 -17
- package/dist/cjs/form/FormToolbar.native.js.map +1 -1
- package/dist/cjs/form/sidebar-people.cjs +2 -2
- package/dist/cjs/form/sidebar-people.native.js +2 -2
- package/dist/cjs/form/sidebar-people.native.js.map +1 -1
- package/dist/cjs/list/DoctypeListScreen.cjs +7 -3
- package/dist/cjs/list/DoctypeListScreen.native.js +7 -3
- package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/cjs/list/ListBulkActionsBar.cjs +27 -23
- package/dist/cjs/list/ListBulkActionsBar.native.js +27 -23
- package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/cjs/list/ListFilterBar.cjs +10 -5
- package/dist/cjs/list/ListFilterBar.native.js +11 -5
- package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
- package/dist/cjs/list/list-tools-sheet.cjs +9 -4
- package/dist/cjs/list/list-tools-sheet.native.js +10 -4
- package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
- package/dist/cjs/list/listColumns.cjs +20 -29
- package/dist/cjs/list/listColumns.native.js +24 -29
- package/dist/cjs/list/listColumns.native.js.map +1 -1
- package/dist/cjs/list/sidebar-section.cjs +8 -14
- package/dist/cjs/list/sidebar-section.native.js +8 -14
- package/dist/cjs/list/sidebar-section.native.js.map +1 -1
- package/dist/cjs/report/QueryReportScreen.cjs +6 -2
- package/dist/cjs/report/QueryReportScreen.native.js +6 -2
- package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
- package/dist/cjs/report/queryReportFilterBar.cjs +1 -1
- package/dist/cjs/report/queryReportFilterBar.native.js +1 -1
- package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/cjs/report/report-grid.cjs +4 -4
- package/dist/cjs/report/report-grid.native.js +4 -4
- package/dist/cjs/report/report-toolbar.cjs +5 -11
- package/dist/cjs/report/report-toolbar.native.js +5 -11
- package/dist/cjs/report/report-toolbar.native.js.map +1 -1
- package/dist/cjs/shell/BackofficeShell.cjs +7 -6
- package/dist/cjs/shell/BackofficeShell.native.js +7 -6
- package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
- package/dist/cjs/shell/WorkspaceSidebar.cjs +2 -2
- package/dist/cjs/shell/WorkspaceSidebar.native.js +2 -2
- package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
- package/dist/cjs/views/KanbanView.cjs +4 -4
- package/dist/cjs/views/KanbanView.native.js +4 -4
- package/dist/cjs/views/KanbanView.native.js.map +1 -1
- package/dist/cjs/views/ViewHeader.cjs +2 -2
- package/dist/cjs/views/ViewHeader.native.js +2 -2
- package/dist/cjs/views/ViewHeader.native.js.map +1 -1
- package/dist/cjs/views/ViewStates.cjs +2 -1
- package/dist/cjs/views/ViewStates.native.js +2 -1
- package/dist/cjs/views/ViewStates.native.js.map +1 -1
- package/dist/cjs/views/kanban-board-controls.cjs +12 -7
- package/dist/cjs/views/kanban-board-controls.native.js +14 -7
- package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
- package/dist/cjs/views/report-controls.cjs +16 -16
- package/dist/cjs/views/report-controls.native.js +16 -16
- package/dist/cjs/views/report-controls.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceChartBlock.cjs +6 -5
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js +6 -5
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceLinkCard.cjs +15 -10
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js +15 -10
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceNumberCard.cjs +12 -10
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js +12 -10
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceQuickList.cjs +9 -7
- package/dist/cjs/workspace/WorkspaceQuickList.native.js +9 -7
- package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceRecents.cjs +5 -3
- package/dist/cjs/workspace/WorkspaceRecents.native.js +6 -4
- package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
- package/dist/cjs/workspace/WorkspaceShortcut.cjs +16 -23
- package/dist/cjs/workspace/WorkspaceShortcut.native.js +17 -24
- package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
- package/dist/esm/chrome/HelpMenu.mjs +13 -7
- package/dist/esm/chrome/HelpMenu.mjs.map +1 -1
- package/dist/esm/chrome/HelpMenu.native.js +14 -7
- package/dist/esm/chrome/HelpMenu.native.js.map +1 -1
- package/dist/esm/chrome/NotificationsButton.mjs +5 -1
- package/dist/esm/chrome/NotificationsButton.mjs.map +1 -1
- package/dist/esm/chrome/NotificationsButton.native.js +5 -1
- package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
- package/dist/esm/chrome/UserMenu.mjs +13 -8
- package/dist/esm/chrome/UserMenu.mjs.map +1 -1
- package/dist/esm/chrome/UserMenu.native.js +13 -8
- package/dist/esm/chrome/UserMenu.native.js.map +1 -1
- package/dist/esm/chrome/help-about-dialog.mjs +2 -2
- package/dist/esm/chrome/help-about-dialog.native.js +2 -2
- package/dist/esm/chrome/help-shortcuts-dialog.mjs +6 -3
- package/dist/esm/chrome/help-shortcuts-dialog.mjs.map +1 -1
- package/dist/esm/chrome/help-shortcuts-dialog.native.js +6 -3
- package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -1
- package/dist/esm/chrome/notifications-panel.mjs +12 -7
- package/dist/esm/chrome/notifications-panel.mjs.map +1 -1
- package/dist/esm/chrome/notifications-panel.native.js +12 -7
- package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
- package/dist/esm/form/FormConnections.mjs +2 -1
- package/dist/esm/form/FormConnections.mjs.map +1 -1
- package/dist/esm/form/FormConnections.native.js +2 -1
- package/dist/esm/form/FormConnections.native.js.map +1 -1
- package/dist/esm/form/FormErrorBoundary.mjs +1 -1
- package/dist/esm/form/FormErrorBoundary.native.js +1 -1
- package/dist/esm/form/FormHeaderCluster.mjs +8 -4
- package/dist/esm/form/FormHeaderCluster.mjs.map +1 -1
- package/dist/esm/form/FormHeaderCluster.native.js +9 -5
- package/dist/esm/form/FormHeaderCluster.native.js.map +1 -1
- package/dist/esm/form/FormSidebarPanel.mjs +9 -8
- package/dist/esm/form/FormSidebarPanel.mjs.map +1 -1
- package/dist/esm/form/FormSidebarPanel.native.js +10 -9
- package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
- package/dist/esm/form/FormTimeline.mjs +14 -13
- package/dist/esm/form/FormTimeline.mjs.map +1 -1
- package/dist/esm/form/FormTimeline.native.js +15 -13
- package/dist/esm/form/FormTimeline.native.js.map +1 -1
- package/dist/esm/form/FormToolbar.mjs +17 -17
- package/dist/esm/form/FormToolbar.mjs.map +1 -1
- package/dist/esm/form/FormToolbar.native.js +18 -18
- package/dist/esm/form/FormToolbar.native.js.map +1 -1
- package/dist/esm/form/sidebar-people.mjs +2 -2
- package/dist/esm/form/sidebar-people.mjs.map +1 -1
- package/dist/esm/form/sidebar-people.native.js +2 -2
- package/dist/esm/form/sidebar-people.native.js.map +1 -1
- package/dist/esm/list/DoctypeListScreen.mjs +8 -4
- package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/esm/list/DoctypeListScreen.native.js +8 -4
- package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/esm/list/ListBulkActionsBar.mjs +22 -18
- package/dist/esm/list/ListBulkActionsBar.mjs.map +1 -1
- package/dist/esm/list/ListBulkActionsBar.native.js +22 -18
- package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/esm/list/ListFilterBar.mjs +10 -5
- package/dist/esm/list/ListFilterBar.mjs.map +1 -1
- package/dist/esm/list/ListFilterBar.native.js +11 -5
- package/dist/esm/list/ListFilterBar.native.js.map +1 -1
- package/dist/esm/list/list-tools-sheet.mjs +9 -4
- package/dist/esm/list/list-tools-sheet.mjs.map +1 -1
- package/dist/esm/list/list-tools-sheet.native.js +10 -4
- package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
- package/dist/esm/list/listColumns.mjs +21 -30
- package/dist/esm/list/listColumns.mjs.map +1 -1
- package/dist/esm/list/listColumns.native.js +25 -30
- package/dist/esm/list/listColumns.native.js.map +1 -1
- package/dist/esm/list/sidebar-section.mjs +9 -15
- package/dist/esm/list/sidebar-section.mjs.map +1 -1
- package/dist/esm/list/sidebar-section.native.js +9 -15
- package/dist/esm/list/sidebar-section.native.js.map +1 -1
- package/dist/esm/report/QueryReportScreen.mjs +6 -2
- package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
- package/dist/esm/report/QueryReportScreen.native.js +6 -2
- package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
- package/dist/esm/report/queryReportFilterBar.mjs +1 -1
- package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
- package/dist/esm/report/queryReportFilterBar.native.js +1 -1
- package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/esm/report/report-grid.mjs +4 -4
- package/dist/esm/report/report-grid.native.js +4 -4
- package/dist/esm/report/report-toolbar.mjs +6 -12
- package/dist/esm/report/report-toolbar.mjs.map +1 -1
- package/dist/esm/report/report-toolbar.native.js +6 -12
- package/dist/esm/report/report-toolbar.native.js.map +1 -1
- package/dist/esm/shell/BackofficeShell.mjs +6 -5
- package/dist/esm/shell/BackofficeShell.mjs.map +1 -1
- package/dist/esm/shell/BackofficeShell.native.js +6 -5
- package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
- package/dist/esm/shell/WorkspaceSidebar.mjs +2 -2
- package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -1
- package/dist/esm/shell/WorkspaceSidebar.native.js +2 -2
- package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
- package/dist/esm/views/KanbanView.mjs +4 -4
- package/dist/esm/views/KanbanView.mjs.map +1 -1
- package/dist/esm/views/KanbanView.native.js +4 -4
- package/dist/esm/views/KanbanView.native.js.map +1 -1
- package/dist/esm/views/ViewHeader.mjs +2 -2
- package/dist/esm/views/ViewHeader.mjs.map +1 -1
- package/dist/esm/views/ViewHeader.native.js +2 -2
- package/dist/esm/views/ViewHeader.native.js.map +1 -1
- package/dist/esm/views/ViewStates.mjs +2 -1
- package/dist/esm/views/ViewStates.mjs.map +1 -1
- package/dist/esm/views/ViewStates.native.js +2 -1
- package/dist/esm/views/ViewStates.native.js.map +1 -1
- package/dist/esm/views/kanban-board-controls.mjs +12 -7
- package/dist/esm/views/kanban-board-controls.mjs.map +1 -1
- package/dist/esm/views/kanban-board-controls.native.js +14 -7
- package/dist/esm/views/kanban-board-controls.native.js.map +1 -1
- package/dist/esm/views/report-controls.mjs +18 -18
- package/dist/esm/views/report-controls.mjs.map +1 -1
- package/dist/esm/views/report-controls.native.js +18 -18
- package/dist/esm/views/report-controls.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceChartBlock.mjs +7 -6
- package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceChartBlock.native.js +7 -6
- package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceLinkCard.mjs +16 -11
- package/dist/esm/workspace/WorkspaceLinkCard.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceLinkCard.native.js +16 -11
- package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceNumberCard.mjs +13 -11
- package/dist/esm/workspace/WorkspaceNumberCard.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceNumberCard.native.js +13 -11
- package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceQuickList.mjs +10 -8
- package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceQuickList.native.js +10 -8
- package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceRecents.mjs +6 -4
- package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceRecents.native.js +7 -5
- package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceShortcut.mjs +17 -24
- package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -1
- package/dist/esm/workspace/WorkspaceShortcut.native.js +18 -25
- package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
- package/dist/jsx/chrome/HelpMenu.mjs +13 -7
- package/dist/jsx/chrome/HelpMenu.mjs.map +1 -1
- package/dist/jsx/chrome/HelpMenu.native.js +14 -7
- package/dist/jsx/chrome/HelpMenu.native.js.map +1 -1
- package/dist/jsx/chrome/NotificationsButton.mjs +5 -1
- package/dist/jsx/chrome/NotificationsButton.mjs.map +1 -1
- package/dist/jsx/chrome/NotificationsButton.native.js +5 -1
- package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
- package/dist/jsx/chrome/UserMenu.mjs +13 -8
- package/dist/jsx/chrome/UserMenu.mjs.map +1 -1
- package/dist/jsx/chrome/UserMenu.native.js +13 -8
- package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
- package/dist/jsx/chrome/help-about-dialog.mjs +2 -2
- package/dist/jsx/chrome/help-about-dialog.native.js +2 -2
- package/dist/jsx/chrome/help-shortcuts-dialog.mjs +6 -3
- package/dist/jsx/chrome/help-shortcuts-dialog.mjs.map +1 -1
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js +6 -3
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -1
- package/dist/jsx/chrome/notifications-panel.mjs +12 -7
- package/dist/jsx/chrome/notifications-panel.mjs.map +1 -1
- package/dist/jsx/chrome/notifications-panel.native.js +11 -6
- package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
- package/dist/jsx/form/FormConnections.mjs +2 -1
- package/dist/jsx/form/FormConnections.mjs.map +1 -1
- package/dist/jsx/form/FormConnections.native.js +2 -1
- package/dist/jsx/form/FormConnections.native.js.map +1 -1
- package/dist/jsx/form/FormErrorBoundary.mjs +1 -1
- package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
- package/dist/jsx/form/FormHeaderCluster.mjs +8 -4
- package/dist/jsx/form/FormHeaderCluster.mjs.map +1 -1
- package/dist/jsx/form/FormHeaderCluster.native.js +8 -4
- package/dist/jsx/form/FormHeaderCluster.native.js.map +1 -1
- package/dist/jsx/form/FormSidebarPanel.mjs +9 -8
- package/dist/jsx/form/FormSidebarPanel.mjs.map +1 -1
- package/dist/jsx/form/FormSidebarPanel.native.js +10 -9
- package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
- package/dist/jsx/form/FormTimeline.mjs +14 -13
- package/dist/jsx/form/FormTimeline.mjs.map +1 -1
- package/dist/jsx/form/FormTimeline.native.js +15 -13
- package/dist/jsx/form/FormTimeline.native.js.map +1 -1
- package/dist/jsx/form/FormToolbar.mjs +17 -17
- package/dist/jsx/form/FormToolbar.mjs.map +1 -1
- package/dist/jsx/form/FormToolbar.native.js +17 -17
- package/dist/jsx/form/FormToolbar.native.js.map +1 -1
- package/dist/jsx/form/sidebar-people.mjs +2 -2
- package/dist/jsx/form/sidebar-people.mjs.map +1 -1
- package/dist/jsx/form/sidebar-people.native.js +2 -2
- package/dist/jsx/form/sidebar-people.native.js.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.mjs +8 -4
- package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.native.js +7 -3
- package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/jsx/list/ListBulkActionsBar.mjs +22 -18
- package/dist/jsx/list/ListBulkActionsBar.mjs.map +1 -1
- package/dist/jsx/list/ListBulkActionsBar.native.js +27 -23
- package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/jsx/list/ListFilterBar.mjs +10 -5
- package/dist/jsx/list/ListFilterBar.mjs.map +1 -1
- package/dist/jsx/list/ListFilterBar.native.js +11 -5
- package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
- package/dist/jsx/list/list-tools-sheet.mjs +9 -4
- package/dist/jsx/list/list-tools-sheet.mjs.map +1 -1
- package/dist/jsx/list/list-tools-sheet.native.js +10 -4
- package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
- package/dist/jsx/list/listColumns.mjs +21 -30
- package/dist/jsx/list/listColumns.mjs.map +1 -1
- package/dist/jsx/list/listColumns.native.js +24 -29
- package/dist/jsx/list/listColumns.native.js.map +1 -1
- package/dist/jsx/list/sidebar-section.mjs +9 -15
- package/dist/jsx/list/sidebar-section.mjs.map +1 -1
- package/dist/jsx/list/sidebar-section.native.js +8 -14
- package/dist/jsx/list/sidebar-section.native.js.map +1 -1
- package/dist/jsx/report/QueryReportScreen.mjs +6 -2
- package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
- package/dist/jsx/report/QueryReportScreen.native.js +6 -2
- package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
- package/dist/jsx/report/queryReportFilterBar.mjs +1 -1
- package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
- package/dist/jsx/report/queryReportFilterBar.native.js +1 -1
- package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/jsx/report/report-grid.mjs +4 -4
- package/dist/jsx/report/report-grid.native.js +4 -4
- package/dist/jsx/report/report-toolbar.mjs +6 -12
- package/dist/jsx/report/report-toolbar.mjs.map +1 -1
- package/dist/jsx/report/report-toolbar.native.js +5 -11
- package/dist/jsx/report/report-toolbar.native.js.map +1 -1
- package/dist/jsx/shell/BackofficeShell.mjs +6 -5
- package/dist/jsx/shell/BackofficeShell.mjs.map +1 -1
- package/dist/jsx/shell/BackofficeShell.native.js +7 -6
- package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
- package/dist/jsx/shell/WorkspaceSidebar.mjs +2 -2
- package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -1
- package/dist/jsx/shell/WorkspaceSidebar.native.js +2 -2
- package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
- package/dist/jsx/views/KanbanView.mjs +4 -4
- package/dist/jsx/views/KanbanView.mjs.map +1 -1
- package/dist/jsx/views/KanbanView.native.js +4 -4
- package/dist/jsx/views/KanbanView.native.js.map +1 -1
- package/dist/jsx/views/ViewHeader.mjs +2 -2
- package/dist/jsx/views/ViewHeader.mjs.map +1 -1
- package/dist/jsx/views/ViewHeader.native.js +2 -2
- package/dist/jsx/views/ViewHeader.native.js.map +1 -1
- package/dist/jsx/views/ViewStates.mjs +2 -1
- package/dist/jsx/views/ViewStates.mjs.map +1 -1
- package/dist/jsx/views/ViewStates.native.js +2 -1
- package/dist/jsx/views/ViewStates.native.js.map +1 -1
- package/dist/jsx/views/kanban-board-controls.mjs +12 -7
- package/dist/jsx/views/kanban-board-controls.mjs.map +1 -1
- package/dist/jsx/views/kanban-board-controls.native.js +14 -7
- package/dist/jsx/views/kanban-board-controls.native.js.map +1 -1
- package/dist/jsx/views/report-controls.mjs +18 -18
- package/dist/jsx/views/report-controls.mjs.map +1 -1
- package/dist/jsx/views/report-controls.native.js +16 -16
- package/dist/jsx/views/report-controls.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs +7 -6
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js +6 -5
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs +16 -11
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js +15 -10
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs +13 -11
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js +12 -10
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceQuickList.mjs +10 -8
- package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceQuickList.native.js +9 -7
- package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceRecents.mjs +6 -4
- package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceRecents.native.js +6 -4
- package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceShortcut.mjs +17 -24
- package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -1
- package/dist/jsx/workspace/WorkspaceShortcut.native.js +17 -24
- package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
- package/package.json +12 -12
- package/src/backofficeScreens.designLaw.spec.ts +160 -0
- package/src/chrome/HelpMenu.tsx +11 -7
- package/src/chrome/NotificationsButton.tsx +3 -1
- package/src/chrome/UserMenu.tsx +17 -12
- package/src/chrome/help-about-dialog.tsx +2 -2
- package/src/chrome/help-shortcuts-dialog.tsx +4 -3
- package/src/chrome/notifications-panel.tsx +8 -5
- package/src/form/FormConnections.tsx +1 -1
- package/src/form/FormErrorBoundary.tsx +1 -1
- package/src/form/FormHeaderCluster.tsx +10 -4
- package/src/form/FormSidebarPanel.tsx +9 -8
- package/src/form/FormTimeline.tsx +17 -12
- package/src/form/FormToolbar.tsx +18 -18
- package/src/form/sidebar-people.tsx +1 -1
- package/src/list/DoctypeListScreen.tsx +10 -3
- package/src/list/ListBulkActionsBar.tsx +32 -17
- package/src/list/ListFilterBar.tsx +8 -5
- package/src/list/list-tools-sheet.tsx +7 -4
- package/src/list/listColumns.tsx +30 -32
- package/src/list/sidebar-section.tsx +14 -14
- package/src/report/QueryReportScreen.tsx +3 -1
- package/src/report/queryReportFilterBar.tsx +1 -1
- package/src/report/report-grid.tsx +4 -4
- package/src/report/report-toolbar.tsx +4 -13
- package/src/shell/BackofficeShell.tsx +5 -11
- package/src/shell/WorkspaceSidebar.tsx +2 -9
- package/src/views/KanbanView.tsx +3 -3
- package/src/views/ViewHeader.tsx +2 -2
- package/src/views/ViewStates.tsx +2 -1
- package/src/views/kanban-board-controls.tsx +10 -7
- package/src/views/report-controls.tsx +17 -18
- package/src/workspace/WorkspaceChartBlock.tsx +5 -5
- package/src/workspace/WorkspaceLinkCard.tsx +12 -10
- package/src/workspace/WorkspaceNumberCard.tsx +9 -9
- package/src/workspace/WorkspaceQuickList.tsx +9 -8
- package/src/workspace/WorkspaceRecents.tsx +5 -4
- package/src/workspace/WorkspaceShortcut.tsx +11 -25
- package/types/chrome/HelpMenu.d.ts.map +1 -1
- package/types/chrome/NotificationsButton.d.ts.map +1 -1
- package/types/chrome/UserMenu.d.ts.map +1 -1
- package/types/chrome/help-shortcuts-dialog.d.ts.map +1 -1
- package/types/chrome/notifications-panel.d.ts.map +1 -1
- package/types/form/FormHeaderCluster.d.ts.map +1 -1
- package/types/form/FormSidebarPanel.d.ts.map +1 -1
- package/types/form/FormTimeline.d.ts.map +1 -1
- package/types/list/DoctypeListScreen.d.ts.map +1 -1
- package/types/list/ListBulkActionsBar.d.ts.map +1 -1
- package/types/list/ListFilterBar.d.ts.map +1 -1
- package/types/list/list-tools-sheet.d.ts.map +1 -1
- package/types/list/listColumns.d.ts.map +1 -1
- package/types/list/sidebar-section.d.ts.map +1 -1
- package/types/report/QueryReportScreen.d.ts.map +1 -1
- package/types/report/report-toolbar.d.ts.map +1 -1
- package/types/shell/BackofficeShell.d.ts.map +1 -1
- package/types/shell/WorkspaceSidebar.d.ts.map +1 -1
- package/types/views/ViewStates.d.ts.map +1 -1
- package/types/views/kanban-board-controls.d.ts.map +1 -1
- package/types/views/report-controls.d.ts.map +1 -1
- package/types/workspace/WorkspaceLinkCard.d.ts.map +1 -1
- package/types/workspace/WorkspaceQuickList.d.ts.map +1 -1
- package/types/workspace/WorkspaceRecents.d.ts.map +1 -1
- package/types/workspace/WorkspaceShortcut.d.ts.map +1 -1
|
@@ -126,6 +126,7 @@ export function FormTimeline({
|
|
|
126
126
|
const app = useFrappeApp();
|
|
127
127
|
const config = useFrappeConfig();
|
|
128
128
|
const { knobProps } = useResolvedKnobs();
|
|
129
|
+
const iconSize = Number(knobProps.controlIcon?.width) || 14;
|
|
129
130
|
const radiusToken = knobProps.borderRadius.borderRadius;
|
|
130
131
|
|
|
131
132
|
// Composed mode: the form screen (or story fixture) owns docinfo. The
|
|
@@ -485,7 +486,7 @@ export function FormTimeline({
|
|
|
485
486
|
<YStack flex={1} gap="$1">
|
|
486
487
|
<XStack gap="$2" alignItems="center">
|
|
487
488
|
<XStack flex={1} gap="$2" alignItems="center" flexWrap="wrap">
|
|
488
|
-
<Text fontSize="$3" fontWeight="
|
|
489
|
+
<Text fontSize="$3" fontWeight="400">
|
|
489
490
|
{displayName}
|
|
490
491
|
</Text>
|
|
491
492
|
{renderTimestamp(entry)}
|
|
@@ -496,7 +497,7 @@ export function FormTimeline({
|
|
|
496
497
|
chromeless
|
|
497
498
|
size="$1"
|
|
498
499
|
borderRadius={radiusToken}
|
|
499
|
-
icon={<PencilSimpleIcon size={
|
|
500
|
+
icon={<PencilSimpleIcon size={iconSize} />}
|
|
500
501
|
aria-label={t("timeline.editComment", "Edit comment")}
|
|
501
502
|
disabled={isBusy}
|
|
502
503
|
onPress={() => {
|
|
@@ -511,7 +512,7 @@ export function FormTimeline({
|
|
|
511
512
|
chromeless
|
|
512
513
|
size="$1"
|
|
513
514
|
borderRadius={radiusToken}
|
|
514
|
-
icon={<TrashIcon size={
|
|
515
|
+
icon={<TrashIcon size={iconSize} />}
|
|
515
516
|
aria-label={t("timeline.deleteComment", "Delete comment")}
|
|
516
517
|
disabled={isBusy}
|
|
517
518
|
onPress={() => {
|
|
@@ -604,7 +605,7 @@ export function FormTimeline({
|
|
|
604
605
|
{icon}
|
|
605
606
|
</YStack>
|
|
606
607
|
<XStack flex={1} gap="$1.5" alignItems="center" flexWrap="wrap" paddingTop={2}>
|
|
607
|
-
<Text fontSize="$2" fontWeight="
|
|
608
|
+
<Text fontSize="$2" fontWeight="400" color="$color10">
|
|
608
609
|
{displayName}
|
|
609
610
|
</Text>
|
|
610
611
|
{text ? (
|
|
@@ -624,7 +625,11 @@ export function FormTimeline({
|
|
|
624
625
|
const renderCommunicationRow = (entry: TimelineFeedEntry) => {
|
|
625
626
|
const displayName = displayNameOf(entry);
|
|
626
627
|
const icon =
|
|
627
|
-
entry.kind === "automated" ?
|
|
628
|
+
entry.kind === "automated" ? (
|
|
629
|
+
<RobotIcon size={iconSize} />
|
|
630
|
+
) : (
|
|
631
|
+
<EnvelopeSimpleIcon size={iconSize} />
|
|
632
|
+
);
|
|
628
633
|
return (
|
|
629
634
|
<XStack
|
|
630
635
|
role="article"
|
|
@@ -644,7 +649,7 @@ export function FormTimeline({
|
|
|
644
649
|
padding="$3"
|
|
645
650
|
>
|
|
646
651
|
<XStack gap="$2" alignItems="center" flexWrap="wrap">
|
|
647
|
-
<Text fontSize="$3" fontWeight="
|
|
652
|
+
<Text fontSize="$3" fontWeight="400">
|
|
648
653
|
{displayName}
|
|
649
654
|
</Text>
|
|
650
655
|
{entry.author !== displayName && (
|
|
@@ -655,7 +660,7 @@ export function FormTimeline({
|
|
|
655
660
|
{renderTimestamp(entry)}
|
|
656
661
|
</XStack>
|
|
657
662
|
{entry.subject ? (
|
|
658
|
-
<Text fontSize="$3" fontWeight="
|
|
663
|
+
<Text fontSize="$3" fontWeight="400">
|
|
659
664
|
{entry.subject}
|
|
660
665
|
</Text>
|
|
661
666
|
) : null}
|
|
@@ -677,7 +682,7 @@ export function FormTimeline({
|
|
|
677
682
|
case "version":
|
|
678
683
|
return renderSystemRow(
|
|
679
684
|
entry,
|
|
680
|
-
<PencilSimpleIcon size={
|
|
685
|
+
<PencilSimpleIcon size={iconSize} />,
|
|
681
686
|
entry.version
|
|
682
687
|
? versionSummary(entry.version, (key, options) => t(key, options))
|
|
683
688
|
: t("timeline.madeChanges", "made changes"),
|
|
@@ -686,13 +691,13 @@ export function FormTimeline({
|
|
|
686
691
|
case "automated":
|
|
687
692
|
return renderCommunicationRow(entry);
|
|
688
693
|
case "assignment":
|
|
689
|
-
return renderSystemRow(entry, <UserPlusIcon size={
|
|
694
|
+
return renderSystemRow(entry, <UserPlusIcon size={iconSize} />, entry.content ?? "");
|
|
690
695
|
case "attachment":
|
|
691
|
-
return renderSystemRow(entry, <PaperclipIcon size={
|
|
696
|
+
return renderSystemRow(entry, <PaperclipIcon size={iconSize} />, entry.content ?? "");
|
|
692
697
|
case "like":
|
|
693
|
-
return renderSystemRow(entry, <HeartIcon size={
|
|
698
|
+
return renderSystemRow(entry, <HeartIcon size={iconSize} />, entry.content ?? "");
|
|
694
699
|
default:
|
|
695
|
-
return renderSystemRow(entry, <InfoIcon size={
|
|
700
|
+
return renderSystemRow(entry, <InfoIcon size={iconSize} />, entry.content ?? "");
|
|
696
701
|
}
|
|
697
702
|
};
|
|
698
703
|
|
package/src/form/FormToolbar.tsx
CHANGED
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
Breadcrumbs,
|
|
23
23
|
Chip,
|
|
24
24
|
DropdownMenu,
|
|
25
|
-
|
|
25
|
+
H1,
|
|
26
26
|
XStack,
|
|
27
27
|
YStack,
|
|
28
28
|
type BreadcrumbItem,
|
|
@@ -300,6 +300,7 @@ export function FormToolbar({
|
|
|
300
300
|
}: FormToolbarProps) {
|
|
301
301
|
const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
302
302
|
const { knobProps } = useResolvedKnobs();
|
|
303
|
+
const iconSize = Number(knobProps.controlIcon?.width) || 16;
|
|
303
304
|
const isNarrow = useLayoutSizeClass() === "compact";
|
|
304
305
|
|
|
305
306
|
const indicatorLabels: Record<Exclude<DocIndicator, "saved">, string> = {
|
|
@@ -358,7 +359,7 @@ export function FormToolbar({
|
|
|
358
359
|
return {
|
|
359
360
|
key: `__action-${action}`,
|
|
360
361
|
label: actionLabels[action],
|
|
361
|
-
icon: <Icon size={
|
|
362
|
+
icon: <Icon size={iconSize} />,
|
|
362
363
|
destructive: action === "cancel",
|
|
363
364
|
disabled: isSaving,
|
|
364
365
|
...(isSaving ? { disabledReason: t("saving", "Saving…") } : {}),
|
|
@@ -372,7 +373,7 @@ export function FormToolbar({
|
|
|
372
373
|
icon: item.icon
|
|
373
374
|
? (() => {
|
|
374
375
|
const Icon = MENU_ICONS[item.icon];
|
|
375
|
-
return <Icon size={
|
|
376
|
+
return <Icon size={iconSize} />;
|
|
376
377
|
})()
|
|
377
378
|
: undefined,
|
|
378
379
|
destructive: item.destructive,
|
|
@@ -387,17 +388,16 @@ export function FormToolbar({
|
|
|
387
388
|
<Breadcrumbs items={breadcrumbs} onNavigate={onNavigate} />
|
|
388
389
|
<XStack alignItems="center" flexWrap="wrap" {...knobProps.gap}>
|
|
389
390
|
<XStack alignItems="center" gap="$3" flex={1} minWidth={0}>
|
|
390
|
-
<
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
fontSize="$6"
|
|
394
|
-
fontWeight="700"
|
|
391
|
+
<H1
|
|
392
|
+
{...knobProps.pageTitle}
|
|
393
|
+
{...knobProps.heading}
|
|
395
394
|
color="$color12"
|
|
396
395
|
numberOfLines={1}
|
|
397
396
|
flexShrink={1}
|
|
397
|
+
margin={0}
|
|
398
398
|
>
|
|
399
399
|
{title}
|
|
400
|
-
</
|
|
400
|
+
</H1>
|
|
401
401
|
{showIndicator && chip && (
|
|
402
402
|
<Chip size="$2" variant="subtle" color={chip.color}>
|
|
403
403
|
{chip.label}
|
|
@@ -419,7 +419,7 @@ export function FormToolbar({
|
|
|
419
419
|
outlined
|
|
420
420
|
borderWidth={0}
|
|
421
421
|
borderRadius={0}
|
|
422
|
-
icon={<CaretLeftIcon size={
|
|
422
|
+
icon={<CaretLeftIcon size={iconSize} />}
|
|
423
423
|
aria-label={t("prevDoc", "Previous document")}
|
|
424
424
|
disabled={prevDocDisabled}
|
|
425
425
|
onPress={onPrevDoc}
|
|
@@ -430,7 +430,7 @@ export function FormToolbar({
|
|
|
430
430
|
outlined
|
|
431
431
|
borderWidth={0}
|
|
432
432
|
borderRadius={0}
|
|
433
|
-
icon={<CaretRightIcon size={
|
|
433
|
+
icon={<CaretRightIcon size={iconSize} />}
|
|
434
434
|
aria-label={t("nextDoc", "Next document")}
|
|
435
435
|
disabled={nextDocDisabled}
|
|
436
436
|
onPress={onNextDoc}
|
|
@@ -442,7 +442,7 @@ export function FormToolbar({
|
|
|
442
442
|
<Button
|
|
443
443
|
size={knobProps.sizeToken}
|
|
444
444
|
outlined
|
|
445
|
-
icon={<ArrowSquareOutIcon size={
|
|
445
|
+
icon={<ArrowSquareOutIcon size={iconSize} />}
|
|
446
446
|
aria-label={t("openInDesk", "Open in Desk")}
|
|
447
447
|
onPress={onOpenDesk}
|
|
448
448
|
testID="form-toolbar-desk"
|
|
@@ -452,7 +452,7 @@ export function FormToolbar({
|
|
|
452
452
|
<Button
|
|
453
453
|
size={knobProps.sizeToken}
|
|
454
454
|
outlined
|
|
455
|
-
icon={<ArrowCounterClockwiseIcon size={
|
|
455
|
+
icon={<ArrowCounterClockwiseIcon size={iconSize} />}
|
|
456
456
|
aria-label={t("reloadDoc", "Reload")}
|
|
457
457
|
onPress={reload}
|
|
458
458
|
testID="form-toolbar-reload"
|
|
@@ -463,7 +463,7 @@ export function FormToolbar({
|
|
|
463
463
|
<Button
|
|
464
464
|
size={knobProps.sizeToken}
|
|
465
465
|
outlined
|
|
466
|
-
icon={<DotsThreeIcon size={
|
|
466
|
+
icon={<DotsThreeIcon size={iconSize} weight="bold" />}
|
|
467
467
|
aria-label={t("menu", "Menu")}
|
|
468
468
|
testID="form-toolbar-menu"
|
|
469
469
|
/>
|
|
@@ -475,7 +475,7 @@ export function FormToolbar({
|
|
|
475
475
|
error
|
|
476
476
|
outlined
|
|
477
477
|
actionRole="secondary"
|
|
478
|
-
icon={<ProhibitIcon size={
|
|
478
|
+
icon={<ProhibitIcon size={iconSize} />}
|
|
479
479
|
loading={isSaving}
|
|
480
480
|
onPress={onCancel}
|
|
481
481
|
testID="form-toolbar-cancel"
|
|
@@ -487,7 +487,7 @@ export function FormToolbar({
|
|
|
487
487
|
<Button
|
|
488
488
|
size={knobProps.sizeToken}
|
|
489
489
|
outlined
|
|
490
|
-
icon={<CopyIcon size={
|
|
490
|
+
icon={<CopyIcon size={iconSize} />}
|
|
491
491
|
loading={isSaving}
|
|
492
492
|
onPress={onAmend}
|
|
493
493
|
testID="form-toolbar-amend"
|
|
@@ -502,7 +502,7 @@ export function FormToolbar({
|
|
|
502
502
|
<Button
|
|
503
503
|
size={knobProps.sizeToken}
|
|
504
504
|
accent
|
|
505
|
-
icon={<CheckCircleIcon size={
|
|
505
|
+
icon={<CheckCircleIcon size={iconSize} />}
|
|
506
506
|
loading={isSaving}
|
|
507
507
|
onPress={onSubmit}
|
|
508
508
|
testID="form-toolbar-submit"
|
|
@@ -514,7 +514,7 @@ export function FormToolbar({
|
|
|
514
514
|
<Button
|
|
515
515
|
size={knobProps.sizeToken}
|
|
516
516
|
accent
|
|
517
|
-
icon={<FloppyDiskIcon size={
|
|
517
|
+
icon={<FloppyDiskIcon size={iconSize} />}
|
|
518
518
|
loading={isSaving}
|
|
519
519
|
onPress={onSave}
|
|
520
520
|
testID="form-toolbar-save"
|
|
@@ -114,7 +114,7 @@ export function SidebarAvatarStrip({ items, max }: SidebarAvatarStripProps) {
|
|
|
114
114
|
size="$1"
|
|
115
115
|
alt={`+${overflow}`}
|
|
116
116
|
fallback={
|
|
117
|
-
<Text fontSize=
|
|
117
|
+
<Text fontSize="$1" fontWeight="400" color="$color11">
|
|
118
118
|
+{overflow}
|
|
119
119
|
</Text>
|
|
120
120
|
}
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
isWeb,
|
|
20
20
|
notify,
|
|
21
21
|
} from "@multiplatform.one/components";
|
|
22
|
-
import { useLayoutSizeClass } from "@multiplatform.one/theme";
|
|
22
|
+
import { useLayoutSizeClass, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
23
23
|
// Catalog action Button — `accent` renders the active accent intent, the
|
|
24
24
|
// house expression of the one page primary (LC-05 ONE-EMPHASIS; quick entry
|
|
25
25
|
// "Create" precedent). The components Button above stays for neutral chrome.
|
|
@@ -188,6 +188,7 @@ export function DoctypeListScreen({
|
|
|
188
188
|
toolbarActions,
|
|
189
189
|
}: DoctypeListScreenProps) {
|
|
190
190
|
const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
191
|
+
const { knobProps } = useResolvedKnobs();
|
|
191
192
|
const navigator = useBackofficeNavigator();
|
|
192
193
|
const paths = useBackofficePaths();
|
|
193
194
|
const capabilities = useBackofficeCapabilities();
|
|
@@ -947,12 +948,18 @@ export function DoctypeListScreen({
|
|
|
947
948
|
);
|
|
948
949
|
|
|
949
950
|
return (
|
|
950
|
-
<YStack flex={1} gap
|
|
951
|
+
<YStack flex={1} {...knobProps.gap} {...knobProps.panelPadding}>
|
|
951
952
|
<PageHeader
|
|
952
953
|
gap="$2"
|
|
953
954
|
heading={
|
|
954
955
|
<XStack gap="$2" alignItems="baseline" flexWrap="wrap">
|
|
955
|
-
<H1
|
|
956
|
+
<H1
|
|
957
|
+
{...knobProps.pageTitle}
|
|
958
|
+
{...knobProps.heading}
|
|
959
|
+
margin={0}
|
|
960
|
+
flexShrink={1}
|
|
961
|
+
minWidth={0}
|
|
962
|
+
>
|
|
956
963
|
{doctype}
|
|
957
964
|
</H1>
|
|
958
965
|
{countText ? (
|
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
// the shared dialogs/helpers below; this standalone bar exists for surfaces
|
|
8
8
|
// that manage selection themselves (report/kanban streams).
|
|
9
9
|
import React from "react";
|
|
10
|
-
import {
|
|
10
|
+
import { ConfirmDialog, Text, XStack, notify } from "@multiplatform.one/components";
|
|
11
11
|
// Catalog action Button — `error` renders the destructive intent from the
|
|
12
12
|
// semantic ramp instead of a hardcoded named hue (LC-05 ONE-EMPHASIS).
|
|
13
|
-
import { Button
|
|
13
|
+
import { Button } from "@multiplatform.one/forms";
|
|
14
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
14
15
|
import { useState } from "react";
|
|
15
16
|
import { useTranslation } from "react-i18next";
|
|
16
17
|
import { useBackofficeCapabilities, useBackofficeConfig } from "../config/BackofficeProvider";
|
|
@@ -42,6 +43,7 @@ export function ListBulkActionsBar({
|
|
|
42
43
|
onActionComplete,
|
|
43
44
|
}: ListBulkActionsBarProps) {
|
|
44
45
|
const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
46
|
+
const { knobProps } = useResolvedKnobs();
|
|
45
47
|
const app = useFrappeApp();
|
|
46
48
|
const capabilities = useBackofficeCapabilities();
|
|
47
49
|
const { actions } = useBackofficeConfig();
|
|
@@ -203,23 +205,23 @@ export function ListBulkActionsBar({
|
|
|
203
205
|
return (
|
|
204
206
|
<XStack
|
|
205
207
|
alignItems="center"
|
|
206
|
-
gap="$3"
|
|
207
|
-
padding="$2"
|
|
208
|
-
backgroundColor="$color2"
|
|
209
|
-
borderRadius="$4"
|
|
210
208
|
flexWrap="wrap"
|
|
209
|
+
{...knobProps.surface}
|
|
210
|
+
{...knobProps.borderRadius}
|
|
211
|
+
{...knobProps.gap}
|
|
212
|
+
{...knobProps.panelPadding}
|
|
211
213
|
>
|
|
212
|
-
<Text
|
|
214
|
+
<Text {...knobProps.label} fontWeight="400" color="$color12">
|
|
213
215
|
{t("list.selectedCount", {
|
|
214
216
|
defaultValue: "{{count}} selected",
|
|
215
217
|
count: selectedNames.length,
|
|
216
218
|
})}
|
|
217
219
|
</Text>
|
|
218
|
-
<Button size=
|
|
220
|
+
<Button size={knobProps.sizeToken} onPress={() => setEditOpen(true)}>
|
|
219
221
|
{t("list.editTitle", "Bulk Edit")}
|
|
220
222
|
</Button>
|
|
221
223
|
<Button
|
|
222
|
-
size=
|
|
224
|
+
size={knobProps.sizeToken}
|
|
223
225
|
disabled={exporting}
|
|
224
226
|
onPress={() => {
|
|
225
227
|
void handleExport();
|
|
@@ -228,19 +230,19 @@ export function ListBulkActionsBar({
|
|
|
228
230
|
{exporting ? t("list.exporting", "Exporting…") : t("list.export", "Export CSV")}
|
|
229
231
|
</Button>
|
|
230
232
|
{showAssign && (
|
|
231
|
-
<Button size=
|
|
233
|
+
<Button size={knobProps.sizeToken} onPress={() => setAssignOpen(true)}>
|
|
232
234
|
{t("list.assignTitle", "Assign To")}
|
|
233
235
|
</Button>
|
|
234
236
|
)}
|
|
235
237
|
{showTags && (
|
|
236
|
-
<Button size=
|
|
238
|
+
<Button size={knobProps.sizeToken} onPress={() => setTagOpen(true)}>
|
|
237
239
|
{t("list.tagTitle", "Add Tags")}
|
|
238
240
|
</Button>
|
|
239
241
|
)}
|
|
240
242
|
{hostActions.map((action) => (
|
|
241
243
|
<Button
|
|
242
244
|
key={action.id}
|
|
243
|
-
size=
|
|
245
|
+
size={knobProps.sizeToken}
|
|
244
246
|
onPress={() => action.onPress({ doctype, selection: selectedNames })}
|
|
245
247
|
>
|
|
246
248
|
{action.label}
|
|
@@ -248,20 +250,33 @@ export function ListBulkActionsBar({
|
|
|
248
250
|
))}
|
|
249
251
|
{isSubmittable && (
|
|
250
252
|
<>
|
|
251
|
-
<Button
|
|
253
|
+
<Button
|
|
254
|
+
size={knobProps.sizeToken}
|
|
255
|
+
disabled={docstatusBusy}
|
|
256
|
+
onPress={() => setDocstatusAction("submit")}
|
|
257
|
+
>
|
|
252
258
|
{t("list.submit", "Submit")}
|
|
253
259
|
</Button>
|
|
254
|
-
<Button
|
|
260
|
+
<Button
|
|
261
|
+
size={knobProps.sizeToken}
|
|
262
|
+
disabled={docstatusBusy}
|
|
263
|
+
onPress={() => setDocstatusAction("cancel")}
|
|
264
|
+
>
|
|
255
265
|
{t("list.cancel", "Cancel")}
|
|
256
266
|
</Button>
|
|
257
267
|
</>
|
|
258
268
|
)}
|
|
259
269
|
{/* Busy is derived state — `loading` shows the spinner and skips the
|
|
260
270
|
DG-ST-03 bare-disabled guardrail (catalog Toolbar precedent). */}
|
|
261
|
-
<
|
|
271
|
+
<Button
|
|
272
|
+
size={knobProps.sizeToken}
|
|
273
|
+
error
|
|
274
|
+
loading={deleting}
|
|
275
|
+
onPress={() => setConfirmDelete(true)}
|
|
276
|
+
>
|
|
262
277
|
{t("list.delete", "Delete")}
|
|
263
|
-
</
|
|
264
|
-
<Button size=
|
|
278
|
+
</Button>
|
|
279
|
+
<Button size={knobProps.sizeToken} chromeless onPress={onClearSelection}>
|
|
265
280
|
{t("list.clearSelection", "Clear selection")}
|
|
266
281
|
</Button>
|
|
267
282
|
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
import { XStack, YStack } from "@multiplatform.one/components";
|
|
22
22
|
import { Button } from "@multiplatform.one/forms";
|
|
23
23
|
import { HeartIcon } from "@phosphor-icons/react";
|
|
24
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
24
25
|
import { useTranslation } from "react-i18next";
|
|
25
26
|
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n";
|
|
26
27
|
import type { FrappeFilter, FrappeFilters } from "../shared/types";
|
|
@@ -73,17 +74,19 @@ export function ListFilterBar({
|
|
|
73
74
|
likedByUser,
|
|
74
75
|
}: ListFilterBarProps) {
|
|
75
76
|
const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
77
|
+
const { knobProps } = useResolvedKnobs();
|
|
78
|
+
const iconSize = Number(knobProps.controlIcon?.width) || 16;
|
|
76
79
|
const likedTuple: FrappeFilter | undefined = likedByUser
|
|
77
80
|
? ["_liked_by", "like", `%${likedByUser}%`]
|
|
78
81
|
: undefined;
|
|
79
82
|
const likedActive = likedTuple ? isFacetFilterActive(filters, likedTuple) : false;
|
|
80
83
|
const likedButton = likedTuple ? (
|
|
81
84
|
<Button
|
|
82
|
-
size=
|
|
85
|
+
size={knobProps.sizeToken}
|
|
83
86
|
circular
|
|
84
87
|
chromeless
|
|
85
88
|
col={(likedActive ? "$red10" : "$color8") as never}
|
|
86
|
-
icon={<HeartIcon size={
|
|
89
|
+
icon={<HeartIcon size={iconSize} weight={likedActive ? "fill" : "regular"} />}
|
|
87
90
|
aria-pressed={likedActive}
|
|
88
91
|
aria-label={t("list.likedByMe", "Liked by me")}
|
|
89
92
|
onPress={() => onFiltersChange(toggleFacetFilter(filters, likedTuple))}
|
|
@@ -91,7 +94,7 @@ export function ListFilterBar({
|
|
|
91
94
|
) : null;
|
|
92
95
|
if (compact) {
|
|
93
96
|
return (
|
|
94
|
-
<XStack gap
|
|
97
|
+
<XStack {...knobProps.gap} alignItems="center">
|
|
95
98
|
<ListToolsButton
|
|
96
99
|
doctype={doctype}
|
|
97
100
|
meta={meta}
|
|
@@ -106,7 +109,7 @@ export function ListFilterBar({
|
|
|
106
109
|
);
|
|
107
110
|
}
|
|
108
111
|
const controls = (
|
|
109
|
-
<XStack gap
|
|
112
|
+
<XStack {...knobProps.gap} alignItems="center" flexWrap="wrap">
|
|
110
113
|
<StandardFilters meta={meta} filters={filters} onFiltersChange={onFiltersChange} />
|
|
111
114
|
<FilterEditorButton meta={meta} filters={filters} onFiltersChange={onFiltersChange} />
|
|
112
115
|
<SavedFiltersControl doctype={doctype} filters={filters} onFiltersChange={onFiltersChange} />
|
|
@@ -121,7 +124,7 @@ export function ListFilterBar({
|
|
|
121
124
|
);
|
|
122
125
|
if (!showChips) return controls;
|
|
123
126
|
return (
|
|
124
|
-
<YStack gap
|
|
127
|
+
<YStack {...knobProps.gap}>
|
|
125
128
|
{controls}
|
|
126
129
|
<FilterChips meta={meta} filters={filters} onFiltersChange={onFiltersChange} />
|
|
127
130
|
</YStack>
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { Button, SheetModal, SizableText, YStack, isWeb } from "@multiplatform.one/components";
|
|
14
14
|
import { FunnelIcon } from "@phosphor-icons/react";
|
|
15
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
15
16
|
import { useEffect, useMemo, useState } from "react";
|
|
16
17
|
import { useTranslation } from "react-i18next";
|
|
17
18
|
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n";
|
|
@@ -35,7 +36,7 @@ export interface ListToolsButtonProps {
|
|
|
35
36
|
|
|
36
37
|
function SectionLabel({ children }: { children: string }) {
|
|
37
38
|
return (
|
|
38
|
-
<SizableText size="$1" fontWeight="
|
|
39
|
+
<SizableText size="$1" fontWeight="400" color="$color10" textTransform="uppercase">
|
|
39
40
|
{children}
|
|
40
41
|
</SizableText>
|
|
41
42
|
);
|
|
@@ -51,6 +52,8 @@ export function ListToolsButton({
|
|
|
51
52
|
onSortChange,
|
|
52
53
|
}: ListToolsButtonProps) {
|
|
53
54
|
const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
55
|
+
const { knobProps } = useResolvedKnobs();
|
|
56
|
+
const iconSize = Number(knobProps.controlIcon?.width) || 16;
|
|
54
57
|
const [open, setOpen] = useState(false);
|
|
55
58
|
// Bumped per open so per-open drafts (filter editor rows) reseed.
|
|
56
59
|
const [openGen, setOpenGen] = useState(0);
|
|
@@ -75,8 +78,8 @@ export function ListToolsButton({
|
|
|
75
78
|
return (
|
|
76
79
|
<>
|
|
77
80
|
<Button
|
|
78
|
-
size=
|
|
79
|
-
icon={<FunnelIcon size={
|
|
81
|
+
size={knobProps.sizeToken}
|
|
82
|
+
icon={<FunnelIcon size={iconSize} weight={filters.length > 0 ? "fill" : "regular"} />}
|
|
80
83
|
onPress={() => handleOpenChange(true)}
|
|
81
84
|
aria-label={t("list.filters.filter", "Filter")}
|
|
82
85
|
>
|
|
@@ -92,7 +95,7 @@ export function ListToolsButton({
|
|
|
92
95
|
snapPoint={85}
|
|
93
96
|
scrollable
|
|
94
97
|
header={
|
|
95
|
-
<SizableText size="$6"
|
|
98
|
+
<SizableText {...knobProps.heading} size="$6">
|
|
96
99
|
{t("list.tools.title", "Filter & sort")}
|
|
97
100
|
</SizableText>
|
|
98
101
|
}
|
package/src/list/listColumns.tsx
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// of the subject link (LC-74). Extra ID / Last Updated columns stay out —
|
|
11
11
|
// the timestamp lives in the activity cluster.
|
|
12
12
|
import type { ReactNode } from "react";
|
|
13
|
-
import { Avatar, Anchor, Text, XStack,
|
|
13
|
+
import { Avatar, Anchor, Chip, Text, XStack, type ChipColor } from "@multiplatform.one/components";
|
|
14
14
|
// House control for the like toggle — the icon rides the Button icon slot
|
|
15
15
|
// (LC-53 GLYPH-SLOT) and the sub-44 circular size resolves the press floor
|
|
16
16
|
// through the house channel (LC-54: 44px box + hitSlop).
|
|
@@ -106,6 +106,23 @@ function stopRowPress(event?: { stopPropagation?: () => void }) {
|
|
|
106
106
|
event?.stopPropagation?.();
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
function chipColorFromStatus(value: string, meta?: DoctypeMeta): ChipColor {
|
|
110
|
+
const ramp = statusPillColors(value, meta).background.replace(/^\$/, "").replace(/\d+$/, "");
|
|
111
|
+
if (ramp === "pink") return "purple";
|
|
112
|
+
if (
|
|
113
|
+
ramp === "red" ||
|
|
114
|
+
ramp === "green" ||
|
|
115
|
+
ramp === "blue" ||
|
|
116
|
+
ramp === "yellow" ||
|
|
117
|
+
ramp === "orange" ||
|
|
118
|
+
ramp === "purple" ||
|
|
119
|
+
ramp === "gray"
|
|
120
|
+
) {
|
|
121
|
+
return ramp;
|
|
122
|
+
}
|
|
123
|
+
return "gray";
|
|
124
|
+
}
|
|
125
|
+
|
|
109
126
|
function IndicatorPill({
|
|
110
127
|
value,
|
|
111
128
|
meta,
|
|
@@ -120,42 +137,26 @@ function IndicatorPill({
|
|
|
120
137
|
filterValue?: string;
|
|
121
138
|
onFilterClick?: (fieldname: string, value: string) => void;
|
|
122
139
|
}) {
|
|
123
|
-
const
|
|
140
|
+
const chipColor = chipColorFromStatus(value, meta);
|
|
124
141
|
const applied = filterValue ?? value;
|
|
125
|
-
const handlePress = onFilterClick
|
|
126
|
-
? (event?: { stopPropagation?: () => void }) => {
|
|
127
|
-
stopRowPress(event);
|
|
128
|
-
onFilterClick(fieldname, applied);
|
|
129
|
-
}
|
|
130
|
-
: undefined;
|
|
131
142
|
return (
|
|
132
143
|
<XStack
|
|
133
144
|
alignSelf="flex-start"
|
|
134
|
-
|
|
135
|
-
gap="$1.5"
|
|
136
|
-
backgroundColor={colors.background as "$color3"}
|
|
137
|
-
borderRadius={999}
|
|
138
|
-
paddingHorizontal="$2"
|
|
139
|
-
paddingVertical={3}
|
|
140
|
-
{...(handlePress
|
|
145
|
+
{...(onFilterClick
|
|
141
146
|
? {
|
|
142
|
-
role: "button" as const,
|
|
143
|
-
cursor: "pointer" as const,
|
|
144
|
-
onPress: handlePress,
|
|
145
147
|
"data-filter": `${fieldname},=,${applied}`,
|
|
148
|
+
onPress: (event?: { stopPropagation?: () => void }) => stopRowPress(event),
|
|
146
149
|
}
|
|
147
150
|
: {})}
|
|
148
151
|
>
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
/>
|
|
156
|
-
<Text color={colors.text as "$color11"} fontSize="$2" fontWeight="600">
|
|
152
|
+
<Chip
|
|
153
|
+
size="$2"
|
|
154
|
+
variant="subtle"
|
|
155
|
+
color={chipColor}
|
|
156
|
+
onPress={onFilterClick ? () => onFilterClick(fieldname, applied) : undefined}
|
|
157
|
+
>
|
|
157
158
|
{value}
|
|
158
|
-
</
|
|
159
|
+
</Chip>
|
|
159
160
|
</XStack>
|
|
160
161
|
);
|
|
161
162
|
}
|
|
@@ -290,10 +291,7 @@ function ActivityCluster({
|
|
|
290
291
|
<XStack
|
|
291
292
|
alignItems="center"
|
|
292
293
|
gap="$1"
|
|
293
|
-
{...({ "aria-label": t("list.comments", "Comments") } as Record<
|
|
294
|
-
string,
|
|
295
|
-
unknown
|
|
296
|
-
>)}
|
|
294
|
+
{...({ "aria-label": t("list.comments", "Comments") } as Record<string, unknown>)}
|
|
297
295
|
>
|
|
298
296
|
<ChatCircleIcon size={14} />
|
|
299
297
|
<Text fontSize="$2" color="$color9">
|
|
@@ -425,7 +423,7 @@ export function buildListColumns({
|
|
|
425
423
|
const subject = (
|
|
426
424
|
<Text
|
|
427
425
|
fontSize="$3"
|
|
428
|
-
fontWeight="
|
|
426
|
+
fontWeight="400"
|
|
429
427
|
color="$color12"
|
|
430
428
|
numberOfLines={1}
|
|
431
429
|
flexShrink={1}
|
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
* share open state), a facet row (label + count pill + active state), and
|
|
5
5
|
* the per-section loading skeleton.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
Accordion,
|
|
9
|
+
Chip,
|
|
10
|
+
SizableText,
|
|
11
|
+
Skeleton,
|
|
12
|
+
XStack,
|
|
13
|
+
YStack,
|
|
14
|
+
} from "@multiplatform.one/components";
|
|
8
15
|
import {
|
|
9
16
|
GroupPositionContext,
|
|
10
17
|
ensureFocusVisibleRing,
|
|
@@ -31,8 +38,8 @@ export function SidebarSectionChrome({ title, children }: Omit<SidebarSectionPro
|
|
|
31
38
|
const rows = Children.toArray(children);
|
|
32
39
|
return (
|
|
33
40
|
<>
|
|
34
|
-
<Accordion.Trigger minHeight=
|
|
35
|
-
<SizableText size="$2" fontWeight="
|
|
41
|
+
<Accordion.Trigger minHeight="$4" paddingVertical="$1.5" paddingHorizontal="$2">
|
|
42
|
+
<SizableText size="$2" fontWeight="400" color="$color11" numberOfLines={1} flexShrink={1}>
|
|
36
43
|
{title}
|
|
37
44
|
</SizableText>
|
|
38
45
|
</Accordion.Trigger>
|
|
@@ -106,19 +113,12 @@ export function SidebarFacetRow({ label, count, active, onPress }: SidebarFacetR
|
|
|
106
113
|
}) as unknown as () => void
|
|
107
114
|
}
|
|
108
115
|
>
|
|
109
|
-
<SizableText size="$3" numberOfLines={1} flexShrink={1} fontWeight=
|
|
116
|
+
<SizableText size="$3" numberOfLines={1} flexShrink={1} fontWeight="400">
|
|
110
117
|
{label}
|
|
111
118
|
</SizableText>
|
|
112
|
-
<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
paddingHorizontal="$2"
|
|
116
|
-
paddingVertical={2}
|
|
117
|
-
>
|
|
118
|
-
<SizableText size="$1" color="$color11" fontWeight="600">
|
|
119
|
-
{count}
|
|
120
|
-
</SizableText>
|
|
121
|
-
</YStack>
|
|
119
|
+
<Chip size="$2" variant="subtle" color="gray">
|
|
120
|
+
{count}
|
|
121
|
+
</Chip>
|
|
122
122
|
</XStack>
|
|
123
123
|
);
|
|
124
124
|
}
|