@hanzo/ui 8.29.45 → 8.30.3
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/agents/Attachments.cjs +13 -3
- package/dist/agents/Attachments.d.ts +1 -1
- package/dist/agents/Attachments.d.ts.map +1 -1
- package/dist/agents/Attachments.js +13 -3
- package/dist/agents/Attachments.js.map +1 -1
- package/dist/agents/Board.cjs +9 -5
- package/dist/agents/Board.d.ts.map +1 -1
- package/dist/agents/Board.js +9 -5
- package/dist/agents/Board.js.map +1 -1
- package/dist/agents/ChannelMembers.cjs +66 -1
- package/dist/agents/ChannelMembers.d.ts.map +1 -1
- package/dist/agents/ChannelMembers.js +66 -1
- package/dist/agents/ChannelMembers.js.map +1 -1
- package/dist/agents/ChannelNotes.cjs +38 -2
- package/dist/agents/ChannelNotes.d.ts.map +1 -1
- package/dist/agents/ChannelNotes.js +38 -2
- package/dist/agents/ChannelNotes.js.map +1 -1
- package/dist/agents/Choice.cjs +7 -4
- package/dist/agents/Choice.d.ts.map +1 -1
- package/dist/agents/Choice.js +7 -4
- package/dist/agents/Choice.js.map +1 -1
- package/dist/agents/Console.cjs +15 -8
- package/dist/agents/Console.d.ts +1 -1
- package/dist/agents/Console.d.ts.map +1 -1
- package/dist/agents/Console.js +15 -8
- package/dist/agents/Console.js.map +1 -1
- package/dist/agents/DiffViewer.cjs +52 -4
- package/dist/agents/DiffViewer.d.ts.map +1 -1
- package/dist/agents/DiffViewer.js +52 -4
- package/dist/agents/DiffViewer.js.map +1 -1
- package/dist/agents/DirectoryModal.cjs +37 -15
- package/dist/agents/DirectoryModal.d.ts.map +1 -1
- package/dist/agents/DirectoryModal.js +37 -15
- package/dist/agents/DirectoryModal.js.map +1 -1
- package/dist/agents/DriveViewer.cjs +19 -4
- package/dist/agents/DriveViewer.d.ts.map +1 -1
- package/dist/agents/DriveViewer.js +20 -5
- package/dist/agents/DriveViewer.js.map +1 -1
- package/dist/agents/Feedback.cjs +10 -2
- package/dist/agents/Feedback.d.ts.map +1 -1
- package/dist/agents/Feedback.js +10 -2
- package/dist/agents/Feedback.js.map +1 -1
- package/dist/agents/FileTabs.cjs +17 -10
- package/dist/agents/FileTabs.d.ts.map +1 -1
- package/dist/agents/FileTabs.js +17 -10
- package/dist/agents/FileTabs.js.map +1 -1
- package/dist/agents/FileTree.cjs +9 -6
- package/dist/agents/FileTree.d.ts.map +1 -1
- package/dist/agents/FileTree.js +9 -6
- package/dist/agents/FileTree.js.map +1 -1
- package/dist/agents/LiveVoiceCall.cjs +66 -16
- package/dist/agents/LiveVoiceCall.d.ts.map +1 -1
- package/dist/agents/LiveVoiceCall.js +66 -16
- package/dist/agents/LiveVoiceCall.js.map +1 -1
- package/dist/agents/MCPHub.cjs +48 -3
- package/dist/agents/MCPHub.d.ts.map +1 -1
- package/dist/agents/MCPHub.js +48 -3
- package/dist/agents/MCPHub.js.map +1 -1
- package/dist/agents/Pane.cjs +15 -9
- package/dist/agents/Pane.d.ts +1 -1
- package/dist/agents/Pane.d.ts.map +1 -1
- package/dist/agents/Pane.js +15 -9
- package/dist/agents/Pane.js.map +1 -1
- package/dist/agents/PreviewFrame.cjs +6 -4
- package/dist/agents/PreviewFrame.d.ts.map +1 -1
- package/dist/agents/PreviewFrame.js +6 -4
- package/dist/agents/PreviewFrame.js.map +1 -1
- package/dist/agents/Progress.cjs +4 -2
- package/dist/agents/Progress.d.ts.map +1 -1
- package/dist/agents/Progress.js +4 -2
- package/dist/agents/Progress.js.map +1 -1
- package/dist/agents/Screen.cjs +18 -10
- package/dist/agents/Screen.d.ts.map +1 -1
- package/dist/agents/Screen.js +18 -10
- package/dist/agents/Screen.js.map +1 -1
- package/dist/agents/ShortcutsSheet.cjs +66 -11
- package/dist/agents/ShortcutsSheet.d.ts.map +1 -1
- package/dist/agents/ShortcutsSheet.js +66 -11
- package/dist/agents/ShortcutsSheet.js.map +1 -1
- package/dist/agents/Steer.cjs +7 -4
- package/dist/agents/Steer.d.ts.map +1 -1
- package/dist/agents/Steer.js +7 -4
- package/dist/agents/Steer.js.map +1 -1
- package/dist/agents/Suggestions.cjs +5 -2
- package/dist/agents/Suggestions.d.ts +1 -1
- package/dist/agents/Suggestions.d.ts.map +1 -1
- package/dist/agents/Suggestions.js +5 -2
- package/dist/agents/Suggestions.js.map +1 -1
- package/dist/agents/SwarmBar.cjs +9 -2
- package/dist/agents/SwarmBar.d.ts.map +1 -1
- package/dist/agents/SwarmBar.js +9 -2
- package/dist/agents/SwarmBar.js.map +1 -1
- package/dist/agents/TerminalViewer.cjs +74 -6
- package/dist/agents/TerminalViewer.d.ts.map +1 -1
- package/dist/agents/TerminalViewer.js +74 -6
- package/dist/agents/TerminalViewer.js.map +1 -1
- package/dist/agents/Transcript.cjs +3 -1
- package/dist/agents/Transcript.d.ts.map +1 -1
- package/dist/agents/Transcript.js +3 -1
- package/dist/agents/Transcript.js.map +1 -1
- package/dist/agents/Workspace.cjs +15 -10
- package/dist/agents/Workspace.d.ts.map +1 -1
- package/dist/agents/Workspace.js +15 -10
- package/dist/agents/Workspace.js.map +1 -1
- package/dist/auth/SignIn.cjs +17 -8
- package/dist/auth/SignIn.d.ts.map +1 -1
- package/dist/auth/SignIn.js +15 -6
- package/dist/auth/SignIn.js.map +1 -1
- package/dist/backdrop/scene.cjs +4 -28
- package/dist/backdrop/scene.d.ts +2 -1
- package/dist/backdrop/scene.d.ts.map +1 -1
- package/dist/backdrop/scene.js +4 -28
- package/dist/backdrop/scene.js.map +1 -1
- package/dist/backends/gui/advanced-chart.cjs +3 -1
- package/dist/backends/gui/advanced-chart.d.ts.map +1 -1
- package/dist/backends/gui/advanced-chart.js +3 -1
- package/dist/backends/gui/advanced-chart.js.map +1 -1
- package/dist/backends/gui/alert.cjs +4 -2
- package/dist/backends/gui/alert.d.ts.map +1 -1
- package/dist/backends/gui/alert.js +4 -2
- package/dist/backends/gui/alert.js.map +1 -1
- package/dist/backends/gui/animated-testimonials.cjs +3 -1
- package/dist/backends/gui/animated-testimonials.d.ts.map +1 -1
- package/dist/backends/gui/animated-testimonials.js +3 -1
- package/dist/backends/gui/animated-testimonials.js.map +1 -1
- package/dist/backends/gui/announcement.cjs +4 -2
- package/dist/backends/gui/announcement.d.ts +0 -13
- package/dist/backends/gui/announcement.d.ts.map +1 -1
- package/dist/backends/gui/announcement.js +4 -2
- package/dist/backends/gui/announcement.js.map +1 -1
- package/dist/backends/gui/apple-cards-carousel.cjs +31 -12
- package/dist/backends/gui/apple-cards-carousel.d.ts +1 -1
- package/dist/backends/gui/apple-cards-carousel.d.ts.map +1 -1
- package/dist/backends/gui/apple-cards-carousel.js +31 -12
- package/dist/backends/gui/apple-cards-carousel.js.map +1 -1
- package/dist/backends/gui/apple-hello-effect.cjs +5 -2
- package/dist/backends/gui/apple-hello-effect.d.ts.map +1 -1
- package/dist/backends/gui/apple-hello-effect.js +5 -2
- package/dist/backends/gui/apple-hello-effect.js.map +1 -1
- package/dist/backends/gui/banner.cjs +7 -4
- package/dist/backends/gui/banner.d.ts +0 -30
- package/dist/backends/gui/banner.d.ts.map +1 -1
- package/dist/backends/gui/banner.js +7 -4
- package/dist/backends/gui/banner.js.map +1 -1
- package/dist/backends/gui/breadcrumb.cjs +5 -1
- package/dist/backends/gui/breadcrumb.d.ts +1 -1
- package/dist/backends/gui/breadcrumb.d.ts.map +1 -1
- package/dist/backends/gui/breadcrumb.js +5 -1
- package/dist/backends/gui/breadcrumb.js.map +1 -1
- package/dist/backends/gui/calendar.cjs +10 -21
- package/dist/backends/gui/calendar.d.ts.map +1 -1
- package/dist/backends/gui/calendar.js +10 -21
- package/dist/backends/gui/calendar.js.map +1 -1
- package/dist/backends/gui/carousel.cjs +25 -7
- package/dist/backends/gui/carousel.d.ts.map +1 -1
- package/dist/backends/gui/carousel.js +25 -7
- package/dist/backends/gui/carousel.js.map +1 -1
- package/dist/backends/gui/code-block.cjs +37 -16
- package/dist/backends/gui/code-block.d.ts.map +1 -1
- package/dist/backends/gui/code-block.js +37 -16
- package/dist/backends/gui/code-block.js.map +1 -1
- package/dist/backends/gui/code-editor.cjs +92 -75
- package/dist/backends/gui/code-editor.d.ts +2 -2
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +94 -77
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/code-tabs.cjs +3 -1
- package/dist/backends/gui/code-tabs.d.ts.map +1 -1
- package/dist/backends/gui/code-tabs.js +3 -1
- package/dist/backends/gui/code-tabs.js.map +1 -1
- package/dist/backends/gui/combobox.cjs +7 -4
- package/dist/backends/gui/combobox.d.ts.map +1 -1
- package/dist/backends/gui/combobox.js +7 -4
- package/dist/backends/gui/combobox.js.map +1 -1
- package/dist/backends/gui/command.cjs +6 -2
- package/dist/backends/gui/command.d.ts.map +1 -1
- package/dist/backends/gui/command.js +6 -2
- package/dist/backends/gui/command.js.map +1 -1
- package/dist/backends/gui/company-profile.cjs +3 -1
- package/dist/backends/gui/company-profile.d.ts.map +1 -1
- package/dist/backends/gui/company-profile.js +3 -1
- package/dist/backends/gui/company-profile.js.map +1 -1
- package/dist/backends/gui/country-select.cjs +4 -1
- package/dist/backends/gui/country-select.d.ts +1 -1
- package/dist/backends/gui/country-select.d.ts.map +1 -1
- package/dist/backends/gui/country-select.js +4 -1
- package/dist/backends/gui/country-select.js.map +1 -1
- package/dist/backends/gui/credit-card.cjs +4 -2
- package/dist/backends/gui/credit-card.d.ts.map +1 -1
- package/dist/backends/gui/credit-card.js +4 -2
- package/dist/backends/gui/credit-card.js.map +1 -1
- package/dist/backends/gui/crypto-market.cjs +5 -3
- package/dist/backends/gui/crypto-market.d.ts.map +1 -1
- package/dist/backends/gui/crypto-market.js +5 -3
- package/dist/backends/gui/crypto-market.js.map +1 -1
- package/dist/backends/gui/crypto-screener.cjs +3 -1
- package/dist/backends/gui/crypto-screener.d.ts.map +1 -1
- package/dist/backends/gui/crypto-screener.js +3 -1
- package/dist/backends/gui/crypto-screener.js.map +1 -1
- package/dist/backends/gui/currency-picker.cjs +6 -3
- package/dist/backends/gui/currency-picker.d.ts +1 -1
- package/dist/backends/gui/currency-picker.d.ts.map +1 -1
- package/dist/backends/gui/currency-picker.js +6 -3
- package/dist/backends/gui/currency-picker.js.map +1 -1
- package/dist/backends/gui/data-table.cjs +46 -17
- package/dist/backends/gui/data-table.d.ts.map +1 -1
- package/dist/backends/gui/data-table.js +47 -18
- package/dist/backends/gui/data-table.js.map +1 -1
- package/dist/backends/gui/date-picker.cjs +8 -17
- package/dist/backends/gui/date-picker.d.ts.map +1 -1
- package/dist/backends/gui/date-picker.js +8 -17
- package/dist/backends/gui/date-picker.js.map +1 -1
- package/dist/backends/gui/desktop-spotlight.cjs +7 -3
- package/dist/backends/gui/desktop-spotlight.d.ts +1 -1
- package/dist/backends/gui/desktop-spotlight.d.ts.map +1 -1
- package/dist/backends/gui/desktop-spotlight.js +7 -3
- package/dist/backends/gui/desktop-spotlight.js.map +1 -1
- package/dist/backends/gui/desktop-window.cjs +7 -5
- package/dist/backends/gui/desktop-window.d.ts +1 -1
- package/dist/backends/gui/desktop-window.d.ts.map +1 -1
- package/dist/backends/gui/desktop-window.js +7 -5
- package/dist/backends/gui/desktop-window.js.map +1 -1
- package/dist/backends/gui/dialog-stack.cjs +4 -2
- package/dist/backends/gui/dialog-stack.d.ts +1 -1
- package/dist/backends/gui/dialog-stack.d.ts.map +1 -1
- package/dist/backends/gui/dialog-stack.js +4 -2
- package/dist/backends/gui/dialog-stack.js.map +1 -1
- package/dist/backends/gui/dialog.cjs +18 -7
- package/dist/backends/gui/dialog.d.ts +2 -2
- package/dist/backends/gui/dialog.d.ts.map +1 -1
- package/dist/backends/gui/dialog.js +19 -8
- package/dist/backends/gui/dialog.js.map +1 -1
- package/dist/backends/gui/drawer.cjs +12 -7
- package/dist/backends/gui/drawer.d.ts +1 -1
- package/dist/backends/gui/drawer.d.ts.map +1 -1
- package/dist/backends/gui/drawer.js +12 -7
- package/dist/backends/gui/drawer.js.map +1 -1
- package/dist/backends/gui/dropdown-menu.cjs +84 -59
- package/dist/backends/gui/dropdown-menu.d.ts +13 -13
- package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
- package/dist/backends/gui/dropdown-menu.js +87 -62
- package/dist/backends/gui/dropdown-menu.js.map +1 -1
- package/dist/backends/gui/dropzone.cjs +6 -4
- package/dist/backends/gui/dropzone.d.ts.map +1 -1
- package/dist/backends/gui/dropzone.js +6 -4
- package/dist/backends/gui/dropzone.js.map +1 -1
- package/dist/backends/gui/editor.cjs +4 -2
- package/dist/backends/gui/editor.d.ts.map +1 -1
- package/dist/backends/gui/editor.js +4 -2
- package/dist/backends/gui/editor.js.map +1 -1
- package/dist/backends/gui/financials.cjs +3 -1
- package/dist/backends/gui/financials.d.ts.map +1 -1
- package/dist/backends/gui/financials.js +3 -1
- package/dist/backends/gui/financials.js.map +1 -1
- package/dist/backends/gui/forex-screener.cjs +3 -1
- package/dist/backends/gui/forex-screener.d.ts.map +1 -1
- package/dist/backends/gui/forex-screener.js +3 -1
- package/dist/backends/gui/forex-screener.js.map +1 -1
- package/dist/backends/gui/gantt.cjs +16 -2
- package/dist/backends/gui/gantt.d.ts.map +1 -1
- package/dist/backends/gui/gantt.js +16 -2
- package/dist/backends/gui/gantt.js.map +1 -1
- package/dist/backends/gui/icon-picker.cjs +7 -3
- package/dist/backends/gui/icon-picker.d.ts +1 -1
- package/dist/backends/gui/icon-picker.d.ts.map +1 -1
- package/dist/backends/gui/icon-picker.js +7 -3
- package/dist/backends/gui/icon-picker.js.map +1 -1
- package/dist/backends/gui/image-crop.cjs +5 -3
- package/dist/backends/gui/image-crop.d.ts.map +1 -1
- package/dist/backends/gui/image-crop.js +5 -3
- package/dist/backends/gui/image-crop.js.map +1 -1
- package/dist/backends/gui/image-input.cjs +7 -3
- package/dist/backends/gui/image-input.d.ts +1 -1
- package/dist/backends/gui/image-input.d.ts.map +1 -1
- package/dist/backends/gui/image-input.js +7 -3
- package/dist/backends/gui/image-input.js.map +1 -1
- package/dist/backends/gui/input.cjs +10 -5
- package/dist/backends/gui/input.d.ts +1 -1
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +10 -5
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/json-tree.cjs +51 -24
- package/dist/backends/gui/json-tree.d.ts +1 -1
- package/dist/backends/gui/json-tree.d.ts.map +1 -1
- package/dist/backends/gui/json-tree.js +51 -24
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/kanban.cjs +65 -15
- package/dist/backends/gui/kanban.d.ts.map +1 -1
- package/dist/backends/gui/kanban.js +67 -17
- package/dist/backends/gui/kanban.js.map +1 -1
- package/dist/backends/gui/limelight-nav.cjs +3 -1
- package/dist/backends/gui/limelight-nav.d.ts.map +1 -1
- package/dist/backends/gui/limelight-nav.js +3 -1
- package/dist/backends/gui/limelight-nav.js.map +1 -1
- package/dist/backends/gui/message-dock.cjs +5 -3
- package/dist/backends/gui/message-dock.d.ts.map +1 -1
- package/dist/backends/gui/message-dock.js +6 -4
- package/dist/backends/gui/message-dock.js.map +1 -1
- package/dist/backends/gui/nav-items.cjs +8 -4
- package/dist/backends/gui/nav-items.d.ts.map +1 -1
- package/dist/backends/gui/nav-items.js +8 -4
- package/dist/backends/gui/nav-items.js.map +1 -1
- package/dist/backends/gui/navigation-bar.cjs +16 -5
- package/dist/backends/gui/navigation-bar.d.ts.map +1 -1
- package/dist/backends/gui/navigation-bar.js +16 -5
- package/dist/backends/gui/navigation-bar.js.map +1 -1
- package/dist/backends/gui/navigation-menu.cjs +17 -5
- package/dist/backends/gui/navigation-menu.d.ts.map +1 -1
- package/dist/backends/gui/navigation-menu.js +17 -5
- package/dist/backends/gui/navigation-menu.js.map +1 -1
- package/dist/backends/gui/news-timeline.cjs +3 -1
- package/dist/backends/gui/news-timeline.d.ts.map +1 -1
- package/dist/backends/gui/news-timeline.js +3 -1
- package/dist/backends/gui/news-timeline.js.map +1 -1
- package/dist/backends/gui/number-field.cjs +24 -5
- package/dist/backends/gui/number-field.d.ts.map +1 -1
- package/dist/backends/gui/number-field.js +24 -5
- package/dist/backends/gui/number-field.js.map +1 -1
- package/dist/backends/gui/order-entry.cjs +3 -1
- package/dist/backends/gui/order-entry.d.ts.map +1 -1
- package/dist/backends/gui/order-entry.js +3 -1
- package/dist/backends/gui/order-entry.js.map +1 -1
- package/dist/backends/gui/orders-history.cjs +23 -5
- package/dist/backends/gui/orders-history.d.ts.map +1 -1
- package/dist/backends/gui/orders-history.js +23 -5
- package/dist/backends/gui/orders-history.js.map +1 -1
- package/dist/backends/gui/overflowing-list.cjs +4 -2
- package/dist/backends/gui/overflowing-list.d.ts.map +1 -1
- package/dist/backends/gui/overflowing-list.js +4 -2
- package/dist/backends/gui/overflowing-list.js.map +1 -1
- package/dist/backends/gui/pagination.cjs +32 -7
- package/dist/backends/gui/pagination.d.ts +0 -12
- package/dist/backends/gui/pagination.d.ts.map +1 -1
- package/dist/backends/gui/pagination.js +32 -7
- package/dist/backends/gui/pagination.js.map +1 -1
- package/dist/backends/gui/phone-country-picker.cjs +6 -3
- package/dist/backends/gui/phone-country-picker.d.ts +1 -1
- package/dist/backends/gui/phone-country-picker.d.ts.map +1 -1
- package/dist/backends/gui/phone-country-picker.js +6 -3
- package/dist/backends/gui/phone-country-picker.js.map +1 -1
- package/dist/backends/gui/pill.cjs +4 -2
- package/dist/backends/gui/pill.d.ts.map +1 -1
- package/dist/backends/gui/pill.js +5 -3
- package/dist/backends/gui/pill.js.map +1 -1
- package/dist/backends/gui/pin-list.cjs +3 -1
- package/dist/backends/gui/pin-list.d.ts.map +1 -1
- package/dist/backends/gui/pin-list.js +3 -1
- package/dist/backends/gui/pin-list.js.map +1 -1
- package/dist/backends/gui/positions-list.cjs +7 -4
- package/dist/backends/gui/positions-list.d.ts.map +1 -1
- package/dist/backends/gui/positions-list.js +7 -4
- package/dist/backends/gui/positions-list.js.map +1 -1
- package/dist/backends/gui/relative-time.cjs +51 -43
- package/dist/backends/gui/relative-time.d.ts +7 -0
- package/dist/backends/gui/relative-time.d.ts.map +1 -1
- package/dist/backends/gui/relative-time.js +51 -43
- package/dist/backends/gui/relative-time.js.map +1 -1
- package/dist/backends/gui/safari.cjs +7 -4
- package/dist/backends/gui/safari.d.ts.map +1 -1
- package/dist/backends/gui/safari.js +7 -4
- package/dist/backends/gui/safari.js.map +1 -1
- package/dist/backends/gui/search-list.cjs +5 -2
- package/dist/backends/gui/search-list.d.ts.map +1 -1
- package/dist/backends/gui/search-list.js +5 -2
- package/dist/backends/gui/search-list.js.map +1 -1
- package/dist/backends/gui/select.cjs +8 -2
- package/dist/backends/gui/select.d.ts +7 -0
- package/dist/backends/gui/select.d.ts.map +1 -1
- package/dist/backends/gui/select.js +8 -2
- package/dist/backends/gui/select.js.map +1 -1
- package/dist/backends/gui/shortcut.cjs +4 -1
- package/dist/backends/gui/shortcut.d.ts +1 -1
- package/dist/backends/gui/shortcut.d.ts.map +1 -1
- package/dist/backends/gui/shortcut.js +4 -1
- package/dist/backends/gui/shortcut.js.map +1 -1
- package/dist/backends/gui/snippet.cjs +37 -15
- package/dist/backends/gui/snippet.d.ts.map +1 -1
- package/dist/backends/gui/snippet.js +37 -15
- package/dist/backends/gui/snippet.js.map +1 -1
- package/dist/backends/gui/stars-scrolling-wheel.cjs +4 -1
- package/dist/backends/gui/stars-scrolling-wheel.d.ts +1 -1
- package/dist/backends/gui/stars-scrolling-wheel.d.ts.map +1 -1
- package/dist/backends/gui/stars-scrolling-wheel.js +4 -1
- package/dist/backends/gui/stars-scrolling-wheel.js.map +1 -1
- package/dist/backends/gui/stepper.cjs +4 -2
- package/dist/backends/gui/stepper.d.ts.map +1 -1
- package/dist/backends/gui/stepper.js +4 -2
- package/dist/backends/gui/stepper.js.map +1 -1
- package/dist/backends/gui/stock-screener.cjs +3 -1
- package/dist/backends/gui/stock-screener.d.ts.map +1 -1
- package/dist/backends/gui/stock-screener.js +3 -1
- package/dist/backends/gui/stock-screener.js.map +1 -1
- package/dist/backends/gui/symbol-info.cjs +3 -1
- package/dist/backends/gui/symbol-info.d.ts.map +1 -1
- package/dist/backends/gui/symbol-info.js +3 -1
- package/dist/backends/gui/symbol-info.js.map +1 -1
- package/dist/backends/gui/tags.cjs +3 -1
- package/dist/backends/gui/tags.d.ts.map +1 -1
- package/dist/backends/gui/tags.js +3 -1
- package/dist/backends/gui/tags.js.map +1 -1
- package/dist/backends/gui/technical-analysis.cjs +3 -1
- package/dist/backends/gui/technical-analysis.d.ts.map +1 -1
- package/dist/backends/gui/technical-analysis.js +3 -1
- package/dist/backends/gui/technical-analysis.js.map +1 -1
- package/dist/backends/gui/terminal.cjs +16 -7
- package/dist/backends/gui/terminal.d.ts.map +1 -1
- package/dist/backends/gui/terminal.js +17 -8
- package/dist/backends/gui/terminal.js.map +1 -1
- package/dist/backends/gui/toaster.cjs +19 -6
- package/dist/backends/gui/toaster.d.ts.map +1 -1
- package/dist/backends/gui/toaster.js +20 -7
- package/dist/backends/gui/toaster.js.map +1 -1
- package/dist/backends/gui/video-player.cjs +6 -14
- package/dist/backends/gui/video-player.d.ts.map +1 -1
- package/dist/backends/gui/video-player.js +6 -14
- package/dist/backends/gui/video-player.js.map +1 -1
- package/dist/backends/gui/video.cjs +4 -2
- package/dist/backends/gui/video.d.ts.map +1 -1
- package/dist/backends/gui/video.js +4 -2
- package/dist/backends/gui/video.js.map +1 -1
- package/dist/catalog/Shelf.cjs +6 -3
- package/dist/catalog/Shelf.d.ts.map +1 -1
- package/dist/catalog/Shelf.js +6 -3
- package/dist/catalog/Shelf.js.map +1 -1
- package/dist/catalog/Tile.cjs +4 -1
- package/dist/catalog/Tile.d.ts +1 -1
- package/dist/catalog/Tile.d.ts.map +1 -1
- package/dist/catalog/Tile.js +4 -1
- package/dist/catalog/Tile.js.map +1 -1
- package/dist/chat/Chat.cjs +6 -4
- package/dist/chat/Chat.d.ts.map +1 -1
- package/dist/chat/Chat.js +3 -1
- package/dist/chat/Chat.js.map +1 -1
- package/dist/chat/Composer.cjs +19 -15
- package/dist/chat/Composer.d.ts +2 -2
- package/dist/chat/Composer.d.ts.map +1 -1
- package/dist/chat/Composer.js +10 -6
- package/dist/chat/Composer.js.map +1 -1
- package/dist/chat/Dial.cjs +110 -0
- package/dist/chat/Dial.d.ts +13 -0
- package/dist/chat/Dial.d.ts.map +1 -0
- package/dist/chat/Dial.js +108 -0
- package/dist/chat/Dial.js.map +1 -0
- package/dist/chat/Dictation.cjs +22 -15
- package/dist/chat/Dictation.d.ts.map +1 -1
- package/dist/chat/Dictation.js +13 -6
- package/dist/chat/Dictation.js.map +1 -1
- package/dist/chat/EmptyPrompt.cjs +7 -4
- package/dist/chat/EmptyPrompt.d.ts +2 -2
- package/dist/chat/EmptyPrompt.d.ts.map +1 -1
- package/dist/chat/EmptyPrompt.js +7 -4
- package/dist/chat/EmptyPrompt.js.map +1 -1
- package/dist/chat/Failure.cjs +4 -13
- package/dist/chat/Failure.d.ts +2 -1
- package/dist/chat/Failure.d.ts.map +1 -1
- package/dist/chat/Failure.js +4 -13
- package/dist/chat/Failure.js.map +1 -1
- package/dist/chat/Families.cjs +14 -7
- package/dist/chat/Families.d.ts.map +1 -1
- package/dist/chat/Families.js +11 -4
- package/dist/chat/Families.js.map +1 -1
- package/dist/chat/Header.cjs +9 -5
- package/dist/chat/Header.d.ts +2 -0
- package/dist/chat/Header.d.ts.map +1 -1
- package/dist/chat/Header.js +9 -5
- package/dist/chat/Header.js.map +1 -1
- package/dist/chat/Home.cjs +4 -2
- package/dist/chat/Home.d.ts.map +1 -1
- package/dist/chat/Home.js +4 -2
- package/dist/chat/Home.js.map +1 -1
- package/dist/chat/Inspector.cjs +4 -2
- package/dist/chat/Inspector.d.ts +0 -24
- package/dist/chat/Inspector.d.ts.map +1 -1
- package/dist/chat/Inspector.js +4 -2
- package/dist/chat/Inspector.js.map +1 -1
- package/dist/chat/Mention.cjs +13 -2
- package/dist/chat/Mention.d.ts.map +1 -1
- package/dist/chat/Mention.js +13 -2
- package/dist/chat/Mention.js.map +1 -1
- package/dist/chat/Plus.cjs +46 -31
- package/dist/chat/Plus.d.ts +12 -0
- package/dist/chat/Plus.d.ts.map +1 -1
- package/dist/chat/Plus.js +47 -32
- package/dist/chat/Plus.js.map +1 -1
- package/dist/chat/Preview.cjs +3 -1
- package/dist/chat/Preview.d.ts.map +1 -1
- package/dist/chat/Preview.js +3 -1
- package/dist/chat/Preview.js.map +1 -1
- package/dist/chat/SessionRail.cjs +34 -18
- package/dist/chat/SessionRail.d.ts +2 -2
- package/dist/chat/SessionRail.d.ts.map +1 -1
- package/dist/chat/SessionRail.js +25 -9
- package/dist/chat/SessionRail.js.map +1 -1
- package/dist/chat/Sidebar.cjs +10 -6
- package/dist/chat/Sidebar.d.ts +1 -0
- package/dist/chat/Sidebar.d.ts.map +1 -1
- package/dist/chat/Sidebar.js +8 -4
- package/dist/chat/Sidebar.js.map +1 -1
- package/dist/chat/Sources.cjs +4 -2
- package/dist/chat/Sources.d.ts.map +1 -1
- package/dist/chat/Sources.js +4 -2
- package/dist/chat/Sources.js.map +1 -1
- package/dist/chat/Tune.cjs +5 -1
- package/dist/chat/Tune.d.ts +11 -1
- package/dist/chat/Tune.d.ts.map +1 -1
- package/dist/chat/Tune.js +5 -1
- package/dist/chat/Tune.js.map +1 -1
- package/dist/chat/ways.cjs +7 -2
- package/dist/chat/ways.d.ts +7 -2
- package/dist/chat/ways.d.ts.map +1 -1
- package/dist/chat/ways.js +7 -2
- package/dist/chat/ways.js.map +1 -1
- package/dist/consent/Consent.cjs +65 -31
- package/dist/consent/Consent.d.ts.map +1 -1
- package/dist/consent/Consent.js +65 -31
- package/dist/consent/Consent.js.map +1 -1
- package/dist/core/english.cjs +4 -0
- package/dist/core/english.d.ts +18 -0
- package/dist/core/english.d.ts.map +1 -0
- package/dist/core/english.js +2 -0
- package/dist/core/english.js.map +1 -0
- package/dist/corner/Corner.cjs +35 -27
- package/dist/corner/Corner.d.ts +5 -2
- package/dist/corner/Corner.d.ts.map +1 -1
- package/dist/corner/Corner.js +17 -9
- package/dist/corner/Corner.js.map +1 -1
- package/dist/corner/index.cjs +2 -2
- package/dist/corner/index.d.ts +1 -1
- package/dist/corner/index.d.ts.map +1 -1
- package/dist/corner/index.js +1 -1
- package/dist/corner/index.js.map +1 -1
- package/dist/corner/logic.cjs +31 -27
- package/dist/corner/logic.d.ts +9 -7
- package/dist/corner/logic.d.ts.map +1 -1
- package/dist/corner/logic.js +27 -23
- package/dist/corner/logic.js.map +1 -1
- package/dist/framework/CollectionBuilder.cjs +7 -5
- package/dist/framework/CollectionBuilder.d.ts.map +1 -1
- package/dist/framework/CollectionBuilder.js +7 -5
- package/dist/framework/CollectionBuilder.js.map +1 -1
- package/dist/framework/CollectionsBrowser.cjs +10 -8
- package/dist/framework/CollectionsBrowser.d.ts.map +1 -1
- package/dist/framework/CollectionsBrowser.js +10 -8
- package/dist/framework/CollectionsBrowser.js.map +1 -1
- package/dist/framework/DocTypeDetail.cjs +9 -7
- package/dist/framework/DocTypeDetail.d.ts.map +1 -1
- package/dist/framework/DocTypeDetail.js +9 -7
- package/dist/framework/DocTypeDetail.js.map +1 -1
- package/dist/framework/DocTypeRecords.cjs +4 -2
- package/dist/framework/DocTypeRecords.d.ts.map +1 -1
- package/dist/framework/DocTypeRecords.js +4 -2
- package/dist/framework/DocTypeRecords.js.map +1 -1
- package/dist/framework/MediaGrid.cjs +12 -5
- package/dist/framework/MediaGrid.d.ts.map +1 -1
- package/dist/framework/MediaGrid.js +12 -5
- package/dist/framework/MediaGrid.js.map +1 -1
- package/dist/framework/RecordCards.cjs +17 -13
- package/dist/framework/RecordCards.d.ts +1 -1
- package/dist/framework/RecordCards.d.ts.map +1 -1
- package/dist/framework/RecordCards.js +17 -13
- package/dist/framework/RecordCards.js.map +1 -1
- package/dist/framework/builder-logic.cjs +41 -26
- package/dist/framework/builder-logic.d.ts +8 -16
- package/dist/framework/builder-logic.d.ts.map +1 -1
- package/dist/framework/builder-logic.js +41 -26
- package/dist/framework/builder-logic.js.map +1 -1
- package/dist/framework/fields.cjs +3 -2
- package/dist/framework/fields.d.ts +2 -1
- package/dist/framework/fields.d.ts.map +1 -1
- package/dist/framework/fields.js +3 -2
- package/dist/framework/fields.js.map +1 -1
- package/dist/gallery.html +12 -61
- package/dist/glass.css +10 -59
- package/dist/i18n/catalogs/ar.json +261 -0
- package/dist/i18n/catalogs/de-DE.json +261 -0
- package/dist/i18n/catalogs/es-ES.json +261 -0
- package/dist/i18n/catalogs/fr-FR.json +261 -0
- package/dist/i18n/catalogs/hi-IN.json +261 -0
- package/dist/i18n/catalogs/id-ID.json +261 -0
- package/dist/i18n/catalogs/it-IT.json +261 -0
- package/dist/i18n/catalogs/ja-JP.json +261 -0
- package/dist/i18n/catalogs/ko-KR.json +261 -0
- package/dist/i18n/catalogs/pt-BR.json +261 -0
- package/dist/i18n/catalogs/ru.json +261 -0
- package/dist/i18n/catalogs/th.json +261 -0
- package/dist/i18n/catalogs/tr.json +261 -0
- package/dist/i18n/catalogs/vi.json +261 -0
- package/dist/i18n/catalogs/zh-Hans.json +261 -0
- package/dist/i18n/catalogs/zh-Hant.json +261 -0
- package/dist/i18n/catalogs.cjs +44 -0
- package/dist/i18n/catalogs.d.ts +14 -0
- package/dist/i18n/catalogs.d.ts.map +1 -0
- package/dist/i18n/catalogs.js +38 -0
- package/dist/i18n/catalogs.js.map +1 -0
- package/dist/i18n/index.cjs +30 -0
- package/dist/i18n/index.d.ts +14 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +14 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales.cjs +70 -0
- package/dist/i18n/locales.d.ts +17 -0
- package/dist/i18n/locales.d.ts.map +1 -0
- package/dist/i18n/locales.js +64 -0
- package/dist/i18n/locales.js.map +1 -0
- package/dist/i18n/provider.cjs +48 -0
- package/dist/i18n/provider.d.ts +31 -0
- package/dist/i18n/provider.d.ts.map +1 -0
- package/dist/i18n/provider.js +46 -0
- package/dist/i18n/provider.js.map +1 -0
- package/dist/i18n/react.cjs +81 -0
- package/dist/i18n/react.d.ts +48 -0
- package/dist/i18n/react.d.ts.map +1 -0
- package/dist/i18n/react.js +74 -0
- package/dist/i18n/react.js.map +1 -0
- package/dist/i18n/source.cjs +275 -0
- package/dist/i18n/source.d.ts +15 -0
- package/dist/i18n/source.d.ts.map +1 -0
- package/dist/i18n/source.js +273 -0
- package/dist/i18n/source.js.map +1 -0
- package/dist/index.cjs +10 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +10 -1
- package/dist/index.node.js +8 -7
- package/dist/marketing/ClosingCta.cjs +7 -2
- package/dist/marketing/ClosingCta.d.ts +2 -1
- package/dist/marketing/ClosingCta.d.ts.map +1 -1
- package/dist/marketing/ClosingCta.js +7 -2
- package/dist/marketing/ClosingCta.js.map +1 -1
- package/dist/marketing/Faq.cjs +5 -1
- package/dist/marketing/Faq.d.ts +1 -0
- package/dist/marketing/Faq.d.ts.map +1 -1
- package/dist/marketing/Faq.js +5 -1
- package/dist/marketing/Faq.js.map +1 -1
- package/dist/marketing/Footer.cjs +66 -31
- package/dist/marketing/Footer.d.ts +16 -4
- package/dist/marketing/Footer.d.ts.map +1 -1
- package/dist/marketing/Footer.js +65 -31
- package/dist/marketing/Footer.js.map +1 -1
- package/dist/marketing/PageLoading.cjs +5 -1
- package/dist/marketing/PageLoading.d.ts +1 -1
- package/dist/marketing/PageLoading.d.ts.map +1 -1
- package/dist/marketing/PageLoading.js +5 -1
- package/dist/marketing/PageLoading.js.map +1 -1
- package/dist/marketing/Plans.cjs +26 -10
- package/dist/marketing/Plans.d.ts +2 -1
- package/dist/marketing/Plans.d.ts.map +1 -1
- package/dist/marketing/Plans.js +26 -10
- package/dist/marketing/Plans.js.map +1 -1
- package/dist/marketing/blocks.cjs +5 -1
- package/dist/marketing/blocks.d.ts.map +1 -1
- package/dist/marketing/blocks.js +5 -1
- package/dist/marketing/blocks.js.map +1 -1
- package/dist/marketing/index.cjs +3 -2
- package/dist/marketing/index.d.ts +1 -1
- package/dist/marketing/index.d.ts.map +1 -1
- package/dist/marketing/index.js +1 -1
- package/dist/marketing/index.js.map +1 -1
- package/dist/marketing/pager.cjs +9 -4
- package/dist/marketing/pager.d.ts +1 -1
- package/dist/marketing/pager.d.ts.map +1 -1
- package/dist/marketing/pager.js +9 -4
- package/dist/marketing/pager.js.map +1 -1
- package/dist/masthead/Masthead.cjs +108 -20
- package/dist/masthead/Masthead.d.ts +1 -1
- package/dist/masthead/Masthead.d.ts.map +1 -1
- package/dist/masthead/Masthead.js +109 -21
- package/dist/masthead/Masthead.js.map +1 -1
- package/dist/masthead/nav.cjs +275 -247
- package/dist/masthead/nav.d.ts +7 -0
- package/dist/masthead/nav.d.ts.map +1 -1
- package/dist/masthead/nav.js +274 -246
- package/dist/masthead/nav.js.map +1 -1
- package/dist/models/ModelPicker.cjs +22 -16
- package/dist/models/ModelPicker.d.ts +14 -2
- package/dist/models/ModelPicker.d.ts.map +1 -1
- package/dist/models/ModelPicker.js +11 -5
- package/dist/models/ModelPicker.js.map +1 -1
- package/dist/models/ModelPickerMenu.cjs +65 -25
- package/dist/models/ModelPickerMenu.d.ts +6 -0
- package/dist/models/ModelPickerMenu.d.ts.map +1 -1
- package/dist/models/ModelPickerMenu.js +68 -28
- package/dist/models/ModelPickerMenu.js.map +1 -1
- package/dist/models/catalog.cjs +109 -29
- package/dist/models/catalog.d.ts +37 -21
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/catalog.js +105 -28
- package/dist/models/catalog.js.map +1 -1
- package/dist/models/picker.logic.cjs +38 -6
- package/dist/models/picker.logic.d.ts +26 -5
- package/dist/models/picker.logic.d.ts.map +1 -1
- package/dist/models/picker.logic.js +37 -6
- package/dist/models/picker.logic.js.map +1 -1
- package/dist/models/research.cjs +8 -1
- package/dist/models/research.d.ts +0 -5
- package/dist/models/research.d.ts.map +1 -1
- package/dist/models/research.js +8 -1
- package/dist/models/research.js.map +1 -1
- package/dist/onboarding/ChatOnboarding.cjs +15 -10
- package/dist/onboarding/ChatOnboarding.d.ts +3 -1
- package/dist/onboarding/ChatOnboarding.d.ts.map +1 -1
- package/dist/onboarding/ChatOnboarding.js +15 -10
- package/dist/onboarding/ChatOnboarding.js.map +1 -1
- package/dist/onboarding/Checkout.cjs +115 -32
- package/dist/onboarding/Checkout.d.ts +3 -0
- package/dist/onboarding/Checkout.d.ts.map +1 -1
- package/dist/onboarding/Checkout.js +116 -33
- package/dist/onboarding/Checkout.js.map +1 -1
- package/dist/onboarding/Onboarding.cjs +11 -9
- package/dist/onboarding/Onboarding.d.ts.map +1 -1
- package/dist/onboarding/Onboarding.js +11 -9
- package/dist/onboarding/Onboarding.js.map +1 -1
- package/dist/onboarding/account.cjs +8 -2
- package/dist/onboarding/account.d.ts.map +1 -1
- package/dist/onboarding/account.js +8 -2
- package/dist/onboarding/account.js.map +1 -1
- package/dist/onboarding/api.cjs +8 -2
- package/dist/onboarding/api.d.ts +5 -0
- package/dist/onboarding/api.d.ts.map +1 -1
- package/dist/onboarding/api.js +8 -2
- package/dist/onboarding/api.js.map +1 -1
- package/dist/onboarding/frame.cjs +6 -3
- package/dist/onboarding/frame.d.ts.map +1 -1
- package/dist/onboarding/frame.js +6 -3
- package/dist/onboarding/frame.js.map +1 -1
- package/dist/onboarding/hooks.cjs +2 -1
- package/dist/onboarding/hooks.d.ts.map +1 -1
- package/dist/onboarding/hooks.js +2 -1
- package/dist/onboarding/hooks.js.map +1 -1
- package/dist/onboarding/roles.cjs +149 -144
- package/dist/onboarding/roles.d.ts +4 -5
- package/dist/onboarding/roles.d.ts.map +1 -1
- package/dist/onboarding/roles.js +149 -144
- package/dist/onboarding/roles.js.map +1 -1
- package/dist/onboarding/screens.cjs +35 -14
- package/dist/onboarding/screens.d.ts.map +1 -1
- package/dist/onboarding/screens.js +36 -15
- package/dist/onboarding/screens.js.map +1 -1
- package/dist/product/AppHeader.cjs +8 -6
- package/dist/product/AppHeader.d.ts +1 -1
- package/dist/product/AppHeader.d.ts.map +1 -1
- package/dist/product/AppHeader.js +8 -6
- package/dist/product/AppHeader.js.map +1 -1
- package/dist/product/BackendState.cjs +16 -13
- package/dist/product/BackendState.d.ts.map +1 -1
- package/dist/product/BackendState.js +16 -13
- package/dist/product/BackendState.js.map +1 -1
- package/dist/product/BranchSelect.cjs +13 -4
- package/dist/product/BranchSelect.d.ts.map +1 -1
- package/dist/product/BranchSelect.js +13 -4
- package/dist/product/BranchSelect.js.map +1 -1
- package/dist/product/ChipSelect.cjs +12 -7
- package/dist/product/ChipSelect.d.ts +1 -1
- package/dist/product/ChipSelect.d.ts.map +1 -1
- package/dist/product/ChipSelect.js +12 -7
- package/dist/product/ChipSelect.js.map +1 -1
- package/dist/product/ComboBox.cjs +13 -6
- package/dist/product/ComboBox.d.ts.map +1 -1
- package/dist/product/ComboBox.js +13 -6
- package/dist/product/ComboBox.js.map +1 -1
- package/dist/product/CommandMenu.cjs +27 -8
- package/dist/product/CommandMenu.d.ts +1 -1
- package/dist/product/CommandMenu.d.ts.map +1 -1
- package/dist/product/CommandMenu.js +27 -8
- package/dist/product/CommandMenu.js.map +1 -1
- package/dist/product/CommerceResource.cjs +3 -1
- package/dist/product/CommerceResource.d.ts.map +1 -1
- package/dist/product/CommerceResource.js +3 -1
- package/dist/product/CommerceResource.js.map +1 -1
- package/dist/product/ConfirmDelete.cjs +5 -3
- package/dist/product/ConfirmDelete.d.ts.map +1 -1
- package/dist/product/ConfirmDelete.js +5 -3
- package/dist/product/ConfirmDelete.js.map +1 -1
- package/dist/product/ConnectionBadge.cjs +3 -1
- package/dist/product/ConnectionBadge.d.ts.map +1 -1
- package/dist/product/ConnectionBadge.js +3 -1
- package/dist/product/ConnectionBadge.js.map +1 -1
- package/dist/product/CopyButton.cjs +4 -2
- package/dist/product/CopyButton.d.ts.map +1 -1
- package/dist/product/CopyButton.js +4 -2
- package/dist/product/CopyButton.js.map +1 -1
- package/dist/product/DataTable.cjs +5 -3
- package/dist/product/DataTable.d.ts.map +1 -1
- package/dist/product/DataTable.js +5 -3
- package/dist/product/DataTable.js.map +1 -1
- package/dist/product/DetailPane.cjs +21 -13
- package/dist/product/DetailPane.d.ts.map +1 -1
- package/dist/product/DetailPane.js +23 -15
- package/dist/product/DetailPane.js.map +1 -1
- package/dist/product/DialogTemplate.cjs +4 -2
- package/dist/product/DialogTemplate.d.ts.map +1 -1
- package/dist/product/DialogTemplate.js +4 -2
- package/dist/product/DialogTemplate.js.map +1 -1
- package/dist/product/Donut.cjs +4 -2
- package/dist/product/Donut.d.ts.map +1 -1
- package/dist/product/Donut.js +4 -2
- package/dist/product/Donut.js.map +1 -1
- package/dist/product/Field.cjs +4 -1
- package/dist/product/Field.d.ts +1 -1
- package/dist/product/Field.d.ts.map +1 -1
- package/dist/product/Field.js +4 -1
- package/dist/product/Field.js.map +1 -1
- package/dist/product/LimitedBanner.cjs +3 -1
- package/dist/product/LimitedBanner.d.ts.map +1 -1
- package/dist/product/LimitedBanner.js +3 -1
- package/dist/product/LimitedBanner.js.map +1 -1
- package/dist/product/MenuRow.cjs +2 -2
- package/dist/product/MenuRow.js +2 -2
- package/dist/product/MenuRow.js.map +1 -1
- package/dist/product/Metric.cjs +5 -2
- package/dist/product/Metric.d.ts.map +1 -1
- package/dist/product/Metric.js +5 -2
- package/dist/product/Metric.js.map +1 -1
- package/dist/product/OrgSwitcher.cjs +19 -9
- package/dist/product/OrgSwitcher.d.ts +1 -1
- package/dist/product/OrgSwitcher.d.ts.map +1 -1
- package/dist/product/OrgSwitcher.js +19 -9
- package/dist/product/OrgSwitcher.js.map +1 -1
- package/dist/product/Pagination.cjs +4 -2
- package/dist/product/Pagination.d.ts.map +1 -1
- package/dist/product/Pagination.js +4 -2
- package/dist/product/Pagination.js.map +1 -1
- package/dist/product/Palette.cjs +7 -2
- package/dist/product/Palette.d.ts +1 -1
- package/dist/product/Palette.d.ts.map +1 -1
- package/dist/product/Palette.js +8 -3
- package/dist/product/Palette.js.map +1 -1
- package/dist/product/PlanUsage.cjs +28 -15
- package/dist/product/PlanUsage.d.ts +4 -4
- package/dist/product/PlanUsage.d.ts.map +1 -1
- package/dist/product/PlanUsage.js +28 -15
- package/dist/product/PlanUsage.js.map +1 -1
- package/dist/product/ProjectThumb.cjs +3 -1
- package/dist/product/ProjectThumb.d.ts.map +1 -1
- package/dist/product/ProjectThumb.js +3 -1
- package/dist/product/ProjectThumb.js.map +1 -1
- package/dist/product/RepoSelect.cjs +7 -4
- package/dist/product/RepoSelect.d.ts +1 -1
- package/dist/product/RepoSelect.d.ts.map +1 -1
- package/dist/product/RepoSelect.js +7 -4
- package/dist/product/RepoSelect.js.map +1 -1
- package/dist/product/SecretInput.cjs +3 -1
- package/dist/product/SecretInput.d.ts.map +1 -1
- package/dist/product/SecretInput.js +3 -1
- package/dist/product/SecretInput.js.map +1 -1
- package/dist/product/SelectMenu.cjs +4 -1
- package/dist/product/SelectMenu.d.ts +1 -1
- package/dist/product/SelectMenu.d.ts.map +1 -1
- package/dist/product/SelectMenu.js +4 -1
- package/dist/product/SelectMenu.js.map +1 -1
- package/dist/product/SiteNav.cjs +9 -5
- package/dist/product/SiteNav.d.ts.map +1 -1
- package/dist/product/SiteNav.js +9 -5
- package/dist/product/SiteNav.js.map +1 -1
- package/dist/product/SlideOver.cjs +11 -11
- package/dist/product/SlideOver.d.ts +1 -1
- package/dist/product/SlideOver.d.ts.map +1 -1
- package/dist/product/SlideOver.js +11 -11
- package/dist/product/SlideOver.js.map +1 -1
- package/dist/product/StatusTag.cjs +4 -1
- package/dist/product/StatusTag.d.ts.map +1 -1
- package/dist/product/StatusTag.js +4 -1
- package/dist/product/StatusTag.js.map +1 -1
- package/dist/product/ThemeToggle.cjs +3 -1
- package/dist/product/ThemeToggle.d.ts.map +1 -1
- package/dist/product/ThemeToggle.js +3 -1
- package/dist/product/ThemeToggle.js.map +1 -1
- package/dist/product/Toast.cjs +25 -4
- package/dist/product/Toast.d.ts.map +1 -1
- package/dist/product/Toast.js +25 -4
- package/dist/product/Toast.js.map +1 -1
- package/dist/product/UsageMeter.cjs +10 -6
- package/dist/product/UsageMeter.d.ts.map +1 -1
- package/dist/product/UsageMeter.js +11 -7
- package/dist/product/UsageMeter.js.map +1 -1
- package/dist/product/UserMenu.cjs +5 -3
- package/dist/product/UserMenu.d.ts.map +1 -1
- package/dist/product/UserMenu.js +5 -3
- package/dist/product/UserMenu.js.map +1 -1
- package/dist/product/Workbench.cjs +5 -3
- package/dist/product/Workbench.d.ts.map +1 -1
- package/dist/product/Workbench.js +5 -3
- package/dist/product/Workbench.js.map +1 -1
- package/dist/product/account.cjs +4 -2
- package/dist/product/account.d.ts.map +1 -1
- package/dist/product/account.js +4 -2
- package/dist/product/account.js.map +1 -1
- package/dist/product/limits.cjs +61 -24
- package/dist/product/limits.d.ts +4 -3
- package/dist/product/limits.d.ts.map +1 -1
- package/dist/product/limits.js +61 -24
- package/dist/product/limits.js.map +1 -1
- package/dist/product/match.cjs +2 -1
- package/dist/product/match.d.ts +1 -1
- package/dist/product/match.d.ts.map +1 -1
- package/dist/product/match.js +2 -1
- package/dist/product/match.js.map +1 -1
- package/dist/product/social/CampaignCard.cjs +3 -1
- package/dist/product/social/CampaignCard.d.ts.map +1 -1
- package/dist/product/social/CampaignCard.js +3 -1
- package/dist/product/social/CampaignCard.js.map +1 -1
- package/dist/product/social/PostAgenda.cjs +3 -1
- package/dist/product/social/PostAgenda.d.ts.map +1 -1
- package/dist/product/social/PostAgenda.js +3 -1
- package/dist/product/social/PostAgenda.js.map +1 -1
- package/dist/product/social/PostCard.cjs +3 -1
- package/dist/product/social/PostCard.d.ts.map +1 -1
- package/dist/product/social/PostCard.js +3 -1
- package/dist/product/social/PostCard.js.map +1 -1
- package/dist/product/social/PostComposer.cjs +12 -6
- package/dist/product/social/PostComposer.d.ts.map +1 -1
- package/dist/product/social/PostComposer.js +12 -6
- package/dist/product/social/PostComposer.js.map +1 -1
- package/dist/product/social/ProviderReadinessList.cjs +3 -1
- package/dist/product/social/ProviderReadinessList.d.ts.map +1 -1
- package/dist/product/social/ProviderReadinessList.js +3 -1
- package/dist/product/social/ProviderReadinessList.js.map +1 -1
- package/dist/product/social/SocialResource.cjs +25 -16
- package/dist/product/social/SocialResource.d.ts.map +1 -1
- package/dist/product/social/SocialResource.js +26 -17
- package/dist/product/social/SocialResource.js.map +1 -1
- package/dist/product/social/SocialSummaryBar.cjs +6 -4
- package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
- package/dist/product/social/SocialSummaryBar.js +6 -4
- package/dist/product/social/SocialSummaryBar.js.map +1 -1
- package/dist/product/social/ViewToggle.cjs +6 -3
- package/dist/product/social/ViewToggle.d.ts.map +1 -1
- package/dist/product/social/ViewToggle.js +6 -3
- package/dist/product/social/ViewToggle.js.map +1 -1
- package/dist/product/useLimits.cjs +4 -2
- package/dist/product/useLimits.d.ts.map +1 -1
- package/dist/product/useLimits.js +4 -2
- package/dist/product/useLimits.js.map +1 -1
- package/dist/root.cjs +6 -4
- package/dist/root.d.ts +52 -2
- package/dist/root.d.ts.map +1 -1
- package/dist/root.js +6 -4
- package/dist/root.js.map +1 -1
- package/dist/root.node.cjs +6 -4
- package/dist/root.node.js +6 -4
- package/dist/settings/Section.cjs +4 -2
- package/dist/settings/Section.d.ts.map +1 -1
- package/dist/settings/Section.js +4 -2
- package/dist/settings/Section.js.map +1 -1
- package/dist/settings/Settings.cjs +4 -1
- package/dist/settings/Settings.d.ts +1 -1
- package/dist/settings/Settings.d.ts.map +1 -1
- package/dist/settings/Settings.js +4 -1
- package/dist/settings/Settings.js.map +1 -1
- package/dist/styles.css +10 -59
- package/dist/theme.css +10 -59
- package/package.json +11 -2
|
@@ -14,9 +14,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
import { useState } from 'react';
|
|
15
15
|
import { Button, Popover, Text, XStack, YStack } from '@hanzo/gui';
|
|
16
16
|
import { AppWindow, Bot, CreditCard, Grip, LayoutGrid, MessageCircle, Settings2, Sparkles, UserRound, Users } from '@hanzogui/lucide-icons-2';
|
|
17
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
17
18
|
import { BrandMark } from './BrandMark.js';
|
|
18
|
-
import { UserMenu } from './UserMenu.js';
|
|
19
19
|
import { otherSurfaces } from './surfaces.data.js';
|
|
20
|
+
import { UserMenu } from './UserMenu.js';
|
|
20
21
|
/** The per-surface glyph — keyed by `Surface.id`, so each surface reads distinctly. */
|
|
21
22
|
const SURFACE_ICON = {
|
|
22
23
|
ai: Sparkles,
|
|
@@ -31,8 +32,9 @@ const openHref = (href) => {
|
|
|
31
32
|
if (typeof window !== 'undefined')
|
|
32
33
|
window.open(href, '_blank', 'noopener');
|
|
33
34
|
};
|
|
34
|
-
export function AppHeader({ brand, wordmark = 'Hanzo', onBrand, org, children, current, surfaces, open, user, menu, theme, onProfile, onTeam, onBilling, onSignOut
|
|
35
|
+
export function AppHeader({ brand, wordmark = 'Hanzo', onBrand, org, children, current, surfaces, open, user, menu, theme, onProfile, onTeam, onBilling, onSignOut }) {
|
|
35
36
|
const [appsOpen, setAppsOpen] = useState(false);
|
|
37
|
+
const { t } = useI18n();
|
|
36
38
|
const items = surfaces ?? otherSurfaces(current);
|
|
37
39
|
const launch = (s) => {
|
|
38
40
|
setAppsOpen(false);
|
|
@@ -41,14 +43,14 @@ export function AppHeader({ brand, wordmark = 'Hanzo', onBrand, org, children, c
|
|
|
41
43
|
else
|
|
42
44
|
openHref(s.href);
|
|
43
45
|
};
|
|
44
|
-
return (_jsxs(XStack, { items: "center", gap: "$2", px: "$3", height: 52, borderBottomWidth: 1, borderColor: "$borderColor", bg: "$background", children: [_jsx(XStack, { items: "center", cursor: onBrand ? 'pointer' : undefined, onPress: onBrand, children: brand ?? _jsx(BrandMark, { wordmark: wordmark }) }), org ? (_jsx(XStack, { items: "center", minW: 0, children: org })) : null, _jsx(XStack, { flex: 1, items: "center", minW: 0, children: children }), items.length > 0 ? (_jsxs(Popover, { open: appsOpen, onOpenChange: setAppsOpen, placement: "bottom-end", children: [_jsx(Popover.Trigger, { asChild: true, children: _jsx(Button, { size: "$2", chromeless: true, icon: _jsx(Grip, { size: 16 }), "aria-label":
|
|
46
|
+
return (_jsxs(XStack, { items: "center", gap: "$2", px: "$3", height: 52, borderBottomWidth: 1, borderColor: "$borderColor", bg: "$background", children: [_jsx(XStack, { items: "center", cursor: onBrand ? 'pointer' : undefined, onPress: onBrand, children: brand ?? _jsx(BrandMark, { wordmark: wordmark }) }), org ? (_jsx(XStack, { items: "center", minW: 0, children: org })) : null, _jsx(XStack, { flex: 1, items: "center", minW: 0, children: children }), items.length > 0 ? (_jsxs(Popover, { open: appsOpen, onOpenChange: setAppsOpen, placement: "bottom-end", children: [_jsx(Popover.Trigger, { asChild: true, children: _jsx(Button, { size: "$2", chromeless: true, icon: _jsx(Grip, { size: 16 }), "aria-label": t('Apps') }) }), _jsx(Popover.Content, { bordered: true, elevate: true, p: "$2", width: 230, bg: "$panel", borderColor: "$borderColor", children: _jsx(YStack, { gap: "$1", children: items.map((s) => {
|
|
45
47
|
const Icon = SURFACE_ICON[s.id];
|
|
46
48
|
return (_jsxs(XStack, { onPress: () => launch(s), cursor: "pointer", items: "center", gap: "$2.5", px: "$2", py: "$2", rounded: "$3", hoverStyle: { bg: '$raised' }, children: [_jsx(Icon, { size: 16 }), _jsx(Text, { flex: 1, fontSize: "$2", fontWeight: "600", color: "$ink", children: s.label }), s.hint ? (_jsx(Text, { fontSize: "$1", color: "$soft", children: s.hint })) : null] }, s.id));
|
|
47
49
|
}) }) })] })) : null, _jsx(UserMenu, { name: user, groups: [
|
|
48
50
|
[
|
|
49
|
-
onProfile ? { id: 'profile', label: 'Profile', icon: _jsx(UserRound, { size: 16 }), onPress: onProfile } : null,
|
|
50
|
-
onTeam ? { id: 'team', label: 'Team settings', icon: _jsx(Settings2, { size: 16 }), onPress: onTeam } : null,
|
|
51
|
-
onBilling ? { id: 'billing', label: 'Billing', icon: _jsx(CreditCard, { size: 16 }), onPress: onBilling } : null,
|
|
51
|
+
onProfile ? { id: 'profile', label: t('Profile'), icon: _jsx(UserRound, { size: 16 }), onPress: onProfile } : null,
|
|
52
|
+
onTeam ? { id: 'team', label: t('Team settings'), icon: _jsx(Settings2, { size: 16 }), onPress: onTeam } : null,
|
|
53
|
+
onBilling ? { id: 'billing', label: t('Billing'), icon: _jsx(CreditCard, { size: 16 }), onPress: onBilling } : null,
|
|
52
54
|
].filter((r) => r !== null),
|
|
53
55
|
], theme: theme, onSignOut: onSignOut, height: 36, children: menu })] }));
|
|
54
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHeader.js","sourceRoot":"","sources":["../../src/product/AppHeader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"AppHeader.js","sourceRoot":"","sources":["../../src/product/AppHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const gui_1 = require("@hanzo/gui");
|
|
9
9
|
const plate_1 = require("../backends/gui/plate.cjs");
|
|
10
10
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
11
|
+
const i18n_1 = require("@hanzo/i18n");
|
|
12
|
+
const react_1 = require("@hanzo/i18n/react");
|
|
11
13
|
const host_1 = require("./host.cjs");
|
|
12
14
|
/**
|
|
13
15
|
* Classify a thrown `/v1` error into an honest kind + raw message.
|
|
@@ -49,23 +51,23 @@ function classifyRead(e) {
|
|
|
49
51
|
return s.kind === 'billing' ? null : s;
|
|
50
52
|
}
|
|
51
53
|
const TITLES = {
|
|
52
|
-
'not-initialized': 'Backend not initialized',
|
|
53
|
-
unavailable: 'Not available on this deployment yet',
|
|
54
|
-
'not-implemented': 'Not yet available',
|
|
55
|
-
access: 'Not enabled for your account',
|
|
56
|
-
signin: 'Your session expired',
|
|
57
|
-
billing: 'Add credits to continue',
|
|
58
|
-
error: 'Could not reach the backend',
|
|
54
|
+
'not-initialized': (0, i18n_1.phrase)('Backend not initialized'),
|
|
55
|
+
unavailable: (0, i18n_1.phrase)('Not available on this deployment yet'),
|
|
56
|
+
'not-implemented': (0, i18n_1.phrase)('Not yet available'),
|
|
57
|
+
access: (0, i18n_1.phrase)('Not enabled for your account'),
|
|
58
|
+
signin: (0, i18n_1.phrase)('Your session expired'),
|
|
59
|
+
billing: (0, i18n_1.phrase)('Add credits to continue'),
|
|
60
|
+
error: (0, i18n_1.phrase)('Could not reach the backend'),
|
|
59
61
|
};
|
|
60
62
|
const BODIES = {
|
|
61
|
-
'not-initialized': 'The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.',
|
|
62
|
-
unavailable: 'This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.',
|
|
63
|
+
'not-initialized': (0, i18n_1.phrase)('The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.'),
|
|
64
|
+
unavailable: (0, i18n_1.phrase)('This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.'),
|
|
63
65
|
// 501 — a real, planned capability whose body ships in a later phase.
|
|
64
|
-
'not-implemented': 'This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.',
|
|
66
|
+
'not-implemented': (0, i18n_1.phrase)('This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.'),
|
|
65
67
|
// 403 for a SIGNED-IN user — never "sign in".
|
|
66
|
-
access: "You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated.",
|
|
68
|
+
access: (0, i18n_1.phrase)("You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated."),
|
|
67
69
|
// 401 — the session itself lapsed; re-auth returns to this exact page.
|
|
68
|
-
signin: 'Your session has expired or isn’t recognized here. Sign in again to continue where you left off.',
|
|
70
|
+
signin: (0, i18n_1.phrase)('Your session has expired or isn’t recognized here. Sign in again to continue where you left off.'),
|
|
69
71
|
// Empty → the card shows the backend's own message (the honest "Insufficient
|
|
70
72
|
// balance. Please add credits…" from the gateway billing gate).
|
|
71
73
|
billing: '',
|
|
@@ -74,5 +76,6 @@ const BODIES = {
|
|
|
74
76
|
/** A truthful state card for a `/v1` load failure, with an optional retry + hint. */
|
|
75
77
|
function BackendStateCard({ state, onRetry, hint, }) {
|
|
76
78
|
const { signIn, addCredits } = (0, host_1.useHost)();
|
|
77
|
-
|
|
79
|
+
const { t } = (0, react_1.useI18n)();
|
|
80
|
+
return ((0, jsx_runtime_1.jsxs)(plate_1.Plate, { borderWidth: 1, borderColor: "$borderColor", p: "$4", gap: "$2", maxW: 640, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", items: "center", children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.TriangleAlert, { size: 16 }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$4", fontWeight: "700", children: t(TITLES[state.kind]) })] }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", color: "$quiet", children: BODIES[state.kind] ? t(BODIES[state.kind]) : state.message }), hint ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$soft", children: hint })) : null, state.kind === 'signin' && signIn ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", theme: "light", self: "flex-start", onPress: signIn, children: t('Sign in again') })) : state.kind === 'billing' && addCredits ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", items: "center", flexWrap: "wrap", children: [(0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", theme: "light", self: "flex-start", icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.CreditCard, { size: 14 }), onPress: addCredits, children: t('Add credits') }), onRetry ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", self: "flex-start", onPress: onRetry, children: t('Retry') })) : null] })) : onRetry ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", self: "flex-start", onPress: onRetry, children: t('Retry') })) : null] }));
|
|
78
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackendState.d.ts","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"BackendState.d.ts","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAStC,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAaxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAG5D;AA+BD,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;IACD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,+BA2CA"}
|
|
@@ -3,6 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { Button, Text, XStack } from '@hanzo/gui';
|
|
4
4
|
import { Plate as Card } from '../backends/gui/plate.js';
|
|
5
5
|
import { TriangleAlert, CreditCard } from '@hanzogui/lucide-icons-2';
|
|
6
|
+
import { phrase } from '@hanzo/i18n';
|
|
7
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
6
8
|
import { useHost } from './host.js';
|
|
7
9
|
/**
|
|
8
10
|
* Classify a thrown `/v1` error into an honest kind + raw message.
|
|
@@ -44,23 +46,23 @@ export function classifyRead(e) {
|
|
|
44
46
|
return s.kind === 'billing' ? null : s;
|
|
45
47
|
}
|
|
46
48
|
const TITLES = {
|
|
47
|
-
'not-initialized': 'Backend not initialized',
|
|
48
|
-
unavailable: 'Not available on this deployment yet',
|
|
49
|
-
'not-implemented': 'Not yet available',
|
|
50
|
-
access: 'Not enabled for your account',
|
|
51
|
-
signin: 'Your session expired',
|
|
52
|
-
billing: 'Add credits to continue',
|
|
53
|
-
error: 'Could not reach the backend',
|
|
49
|
+
'not-initialized': phrase('Backend not initialized'),
|
|
50
|
+
unavailable: phrase('Not available on this deployment yet'),
|
|
51
|
+
'not-implemented': phrase('Not yet available'),
|
|
52
|
+
access: phrase('Not enabled for your account'),
|
|
53
|
+
signin: phrase('Your session expired'),
|
|
54
|
+
billing: phrase('Add credits to continue'),
|
|
55
|
+
error: phrase('Could not reach the backend'),
|
|
54
56
|
};
|
|
55
57
|
const BODIES = {
|
|
56
|
-
'not-initialized': 'The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.',
|
|
57
|
-
unavailable: 'This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.',
|
|
58
|
+
'not-initialized': phrase('The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.'),
|
|
59
|
+
unavailable: phrase('This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.'),
|
|
58
60
|
// 501 — a real, planned capability whose body ships in a later phase.
|
|
59
|
-
'not-implemented': 'This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.',
|
|
61
|
+
'not-implemented': phrase('This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.'),
|
|
60
62
|
// 403 for a SIGNED-IN user — never "sign in".
|
|
61
|
-
access: "You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated.",
|
|
63
|
+
access: phrase("You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated."),
|
|
62
64
|
// 401 — the session itself lapsed; re-auth returns to this exact page.
|
|
63
|
-
signin: 'Your session has expired or isn’t recognized here. Sign in again to continue where you left off.',
|
|
65
|
+
signin: phrase('Your session has expired or isn’t recognized here. Sign in again to continue where you left off.'),
|
|
64
66
|
// Empty → the card shows the backend's own message (the honest "Insufficient
|
|
65
67
|
// balance. Please add credits…" from the gateway billing gate).
|
|
66
68
|
billing: '',
|
|
@@ -69,6 +71,7 @@ const BODIES = {
|
|
|
69
71
|
/** A truthful state card for a `/v1` load failure, with an optional retry + hint. */
|
|
70
72
|
export function BackendStateCard({ state, onRetry, hint, }) {
|
|
71
73
|
const { signIn, addCredits } = useHost();
|
|
72
|
-
|
|
74
|
+
const { t } = useI18n();
|
|
75
|
+
return (_jsxs(Card, { borderWidth: 1, borderColor: "$borderColor", p: "$4", gap: "$2", maxW: 640, children: [_jsxs(XStack, { gap: "$2", items: "center", children: [_jsx(TriangleAlert, { size: 16 }), _jsx(Text, { fontSize: "$4", fontWeight: "700", children: t(TITLES[state.kind]) })] }), _jsx(Text, { fontSize: "$3", color: "$quiet", children: BODIES[state.kind] ? t(BODIES[state.kind]) : state.message }), hint ? (_jsx(Text, { fontSize: "$2", color: "$soft", children: hint })) : null, state.kind === 'signin' && signIn ? (_jsx(Button, { size: "$2", theme: "light", self: "flex-start", onPress: signIn, children: t('Sign in again') })) : state.kind === 'billing' && addCredits ? (_jsxs(XStack, { gap: "$2", items: "center", flexWrap: "wrap", children: [_jsx(Button, { size: "$2", theme: "light", self: "flex-start", icon: _jsx(CreditCard, { size: 14 }), onPress: addCredits, children: t('Add credits') }), onRetry ? (_jsx(Button, { size: "$2", self: "flex-start", onPress: onRetry, children: t('Retry') })) : null] })) : onRetry ? (_jsx(Button, { size: "$2", self: "flex-start", onPress: onRetry, children: t('Retry') })) : null] }));
|
|
73
76
|
}
|
|
74
77
|
//# sourceMappingURL=BackendState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackendState.js","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAgBZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"BackendState.js","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAgBZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAahC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,MAAM,MAAM,GAAG,OAAQ,CAA0B,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7G,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC/D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;IAC7E,6EAA6E;IAC7E,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC/D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IACvD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACtD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,MAAM,GAAqC;IAC/C,iBAAiB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC,sCAAsC,CAAC;IAC3D,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC,8BAA8B,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;CAC7C,CAAA;AAED,MAAM,MAAM,GAAqC;IAC/C,iBAAiB,EACf,MAAM,CAAC,6LAA6L,CAAC;IACvM,WAAW,EACT,MAAM,CAAC,wHAAwH,CAAC;IAClI,sEAAsE;IACtE,iBAAiB,EACf,MAAM,CAAC,+LAA+L,CAAC;IACzM,8CAA8C;IAC9C,MAAM,EACJ,MAAM,CAAC,uMAAuM,CAAC;IACjN,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC,kGAAkG,CAAC;IAClH,6EAA6E;IAC7E,gEAAgE;IAChE,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;CACV,CAAA;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,IAAI,GAKL;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,OAAO,CACL,MAAC,IAAI,IAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAC,cAAc,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAE,GAAG,aACxE,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,aAC7B,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,EAC3B,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,YACjC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GACjB,IACA,EACT,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,YAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GACtD,EACN,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,YAC9B,IAAI,GACA,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CACnC,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,MAAM,YAC9D,CAAC,CAAC,eAAe,CAAC,GACZ,CACV,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,CAG3C,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAC,MAAM,aAC7C,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAE,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,UAAU,YAClG,CAAC,CAAC,aAAa,CAAC,GACV,EACR,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,OAAO,YACjD,CAAC,CAAC,OAAO,CAAC,GACJ,CACV,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,OAAO,YACjD,CAAC,CAAC,OAAO,CAAC,GACJ,CACV,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAA;AACH,CAAC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.branchName = void 0;
|
|
5
5
|
exports.BranchSelect = BranchSelect;
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
7
8
|
/**
|
|
8
9
|
* BranchSelect — which branch a run starts from, as a composer chip.
|
|
9
10
|
*
|
|
@@ -12,16 +13,24 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
12
13
|
* Like `RepoSelect` it knows no git host — the loader is the host's.
|
|
13
14
|
*/
|
|
14
15
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
15
|
-
const
|
|
16
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
16
17
|
const ChipSelect_1 = require("./ChipSelect.cjs");
|
|
17
18
|
/** The name, whichever shape the row came in. */
|
|
18
19
|
const branchName = (b) => (typeof b === 'string' ? b : b.name);
|
|
19
20
|
exports.branchName = branchName;
|
|
20
|
-
const item = (name) => ({
|
|
21
|
+
const item = (name) => ({
|
|
22
|
+
id: name,
|
|
23
|
+
label: name,
|
|
24
|
+
icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GitBranch, { size: 12, color: "$soft" }),
|
|
25
|
+
});
|
|
21
26
|
function BranchSelect({ value = null, onChange, load, footer, placement, disabled, open, onOpenChange, }) {
|
|
27
|
+
const { t } = (0, react_2.useI18n)();
|
|
22
28
|
const pages = (0, react_1.useCallback)(async (q, after) => {
|
|
23
29
|
const page = await load(q, after);
|
|
24
|
-
return {
|
|
30
|
+
return {
|
|
31
|
+
items: page.branches.map((b) => item((0, exports.branchName)(b))),
|
|
32
|
+
next: page.next ?? null,
|
|
33
|
+
};
|
|
25
34
|
}, [load]);
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name:
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name: t('Branch'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GitBranch, { size: 12, color: "$soft" }), label: value ?? t('Branch'), chosen: value ? item(value) : null, onChange: (i) => onChange(i.id), load: pages, placeholder: t('Search branches…'), empty: t('No branches match.'), footer: footer, placement: placement, disabled: disabled, open: open, onOpenChange: onOpenChange }));
|
|
27
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchSelect.d.ts","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BranchSelect.d.ts","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWnD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAG7D,wFAAwF;AACxF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9C,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAA;AAEpH,iDAAiD;AACjD,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MAA8C,CAAA;AAErF,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAQD,wBAAgB,YAAY,CAAC,EAC3B,KAAY,EACZ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,GACb,EAAE,iBAAiB,+BA8BnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback } from 'react';
|
|
3
4
|
/**
|
|
4
5
|
* BranchSelect — which branch a run starts from, as a composer chip.
|
|
5
6
|
*
|
|
@@ -8,16 +9,24 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
8
9
|
* Like `RepoSelect` it knows no git host — the loader is the host's.
|
|
9
10
|
*/
|
|
10
11
|
import { GitBranch } from '@hanzogui/lucide-icons-2';
|
|
11
|
-
import {
|
|
12
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
12
13
|
import { ChipSelect } from './ChipSelect.js';
|
|
13
14
|
/** The name, whichever shape the row came in. */
|
|
14
15
|
export const branchName = (b) => (typeof b === 'string' ? b : b.name);
|
|
15
|
-
const item = (name) => ({
|
|
16
|
+
const item = (name) => ({
|
|
17
|
+
id: name,
|
|
18
|
+
label: name,
|
|
19
|
+
icon: _jsx(GitBranch, { size: 12, color: "$soft" }),
|
|
20
|
+
});
|
|
16
21
|
export function BranchSelect({ value = null, onChange, load, footer, placement, disabled, open, onOpenChange, }) {
|
|
22
|
+
const { t } = useI18n();
|
|
17
23
|
const pages = useCallback(async (q, after) => {
|
|
18
24
|
const page = await load(q, after);
|
|
19
|
-
return {
|
|
25
|
+
return {
|
|
26
|
+
items: page.branches.map((b) => item(branchName(b))),
|
|
27
|
+
next: page.next ?? null,
|
|
28
|
+
};
|
|
20
29
|
}, [load]);
|
|
21
|
-
return (_jsx(ChipSelect, { name:
|
|
30
|
+
return (_jsx(ChipSelect, { name: t('Branch'), icon: _jsx(GitBranch, { size: 12, color: "$soft" }), label: value ?? t('Branch'), chosen: value ? item(value) : null, onChange: (i) => onChange(i.id), load: pages, placeholder: t('Search branches…'), empty: t('No branches match.'), footer: footer, placement: placement, disabled: disabled, open: open, onOpenChange: onOpenChange }));
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=BranchSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchSelect.js","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BranchSelect.js","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAA;AACnD;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAA;AAS7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAerF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC;IACxC,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG;CAC5C,CAAC,CAAA;AAEF,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,GAAG,IAAI,EACZ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,GACM;IAClB,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EAAE,CAAS,EAAE,KAAqB,EAA+B,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACjC,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;SACxB,CAAA;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CACL,KAAC,UAAU,IACT,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EACjB,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,EAC3C,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC3B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAClC,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,GAC1B,CACH,CAAA;AACH,CAAC"}
|
|
@@ -31,6 +31,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
31
31
|
const gui_1 = require("@hanzo/gui");
|
|
32
32
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
33
33
|
const react_1 = require("react");
|
|
34
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
34
35
|
const popover_1 = require("../backends/gui/popover.cjs");
|
|
35
36
|
const press_1 = require("../backends/gui/press.cjs");
|
|
36
37
|
const slot_1 = require("../backends/gui/slot.cjs");
|
|
@@ -63,6 +64,7 @@ const typed = (e) => e.key && e.key.length === 1 && !e.ctrlKey && !e.metaKey &&
|
|
|
63
64
|
*/
|
|
64
65
|
function usePages(load, q, delay, on, view) {
|
|
65
66
|
const [state, setState] = (0, react_1.useState)({ rows: [], next: null, loading: false, error: null });
|
|
67
|
+
const { t } = (0, react_2.useI18n)();
|
|
66
68
|
const generation = (0, react_1.useRef)(0);
|
|
67
69
|
const busy = (0, react_1.useRef)(false);
|
|
68
70
|
// The loader is read at call time, not taken as a dependency: a host that
|
|
@@ -95,10 +97,10 @@ function usePages(load, q, delay, on, view) {
|
|
|
95
97
|
setState((s) => ({
|
|
96
98
|
...s,
|
|
97
99
|
loading: false,
|
|
98
|
-
error: err instanceof Error && err.message ? err.message : 'Could not load the list.',
|
|
100
|
+
error: err instanceof Error && err.message ? err.message : t('Could not load the list.'),
|
|
99
101
|
}));
|
|
100
102
|
});
|
|
101
|
-
}, []);
|
|
103
|
+
}, [t]);
|
|
102
104
|
const live = Boolean(load);
|
|
103
105
|
// A new search, or opening: start over after the debounce. The first page of
|
|
104
106
|
// an empty search is asked for at once — there is nothing typed to wait for.
|
|
@@ -120,10 +122,13 @@ function usePages(load, q, delay, on, view) {
|
|
|
120
122
|
const retry = (0, react_1.useCallback)(() => fetch(null, ++generation.current), [fetch]);
|
|
121
123
|
return { ...state, more, retry };
|
|
122
124
|
}
|
|
123
|
-
function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, more: hasMore = false, onMore, loading: loadingProp = false, error: errorProp = null, delay = 200, placeholder
|
|
125
|
+
function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, more: hasMore = false, onMore, loading: loadingProp = false, error: errorProp = null, delay = 200, placeholder: hint, empty: none, footer, cta, action, placement = 'top-start', width = 320, height = 276, disabled = false, quiet = false, box = BARE, tabs, tab, onTab, open: openProp, onOpenChange, }) {
|
|
124
126
|
const bare = !label;
|
|
127
|
+
const { t } = (0, react_2.useI18n)();
|
|
125
128
|
const row = (0, react_1.useContext)(exports.Pills);
|
|
126
129
|
const pill = row !== null && !bare && !quiet;
|
|
130
|
+
const placeholder = hint ?? t('Search…');
|
|
131
|
+
const empty = none ?? t('No matches.');
|
|
127
132
|
const [own, setOwn] = (0, react_1.useState)(false);
|
|
128
133
|
const open = openProp ?? own;
|
|
129
134
|
const setOpen = (0, react_1.useCallback)((next) => {
|
|
@@ -298,7 +303,7 @@ function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, m
|
|
|
298
303
|
onTab?.(v.id);
|
|
299
304
|
}, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: on ? '$ink' : '$soft', children: v.label }) }, v.id));
|
|
300
305
|
}) })) : null;
|
|
301
|
-
return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: (v) => (v ? setOpen(true) : close()), placement: placement, allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, disabled: disabled, children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: chip, ...(0, slot_1.slot)('chip-select'), ...(0, slot_1.tip)(name), role: "button", tabIndex: disabled ? -1 : 0, "aria-label": bare ? name :
|
|
306
|
+
return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: (v) => (v ? setOpen(true) : close()), placement: placement, allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, disabled: disabled, children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: chip, ...(0, slot_1.slot)('chip-select'), ...(0, slot_1.tip)(name), role: "button", tabIndex: disabled ? -1 : 0, "aria-label": bare ? name : t('{label}: {value}', { label: name, value: label }), "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? listId : undefined, "aria-disabled": disabled || undefined, height: pill ? row : CHIP_H, rounded: pill ? 8 : '$2', ...(bare ? { width: box, height: box, justify: 'center', rounded: 999 } : { px: pill ? WORD_GUTTER : '$2' }), gap: pill ? 4 : '$1.5', items: "center", shrink: 0, borderWidth: quiet || pill ? 0 : 1, borderColor: "$borderColor", bg: quiet || pill ? 'transparent' : '$raised', cursor: disabled ? 'default' : 'pointer', opacity: disabled ? 0.5 : 1, hoverStyle: disabled ? undefined : quiet || pill ? { bg: '$hover' } : { borderColor: '$rim' }, pressStyle: disabled ? undefined : { bg: '$hover' }, focusVisibleStyle: press_1.RING,
|
|
302
307
|
// The chip is a small target by design; the hit area is not.
|
|
303
308
|
hitSlop: { top: 10, bottom: 10, left: 4, right: 4 }, onKeyDown: onChip, children: [icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, items: "center", "aria-hidden": true, children: icon })) : null, bare ? null : ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: pill ? '$3' : '$2', color: quiet ? '$quiet' : '$ink', numberOfLines: 1, maxW: 200, children: label })), bare || quiet ? null : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 12, color: "$soft", "aria-hidden": true })] }) }), (0, jsx_runtime_1.jsxs)(popover_1.PopoverContent, { ...(0, slot_1.slot)('chip-select-panel'), sideOffset: 8, width: width, maxW: "92vw", p: "$1", gap: "$0",
|
|
304
309
|
// Gui's popover content centres its children; a list and a field span
|
|
@@ -311,10 +316,10 @@ function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, m
|
|
|
311
316
|
}, onCloseAutoFocus: (e) => {
|
|
312
317
|
e.preventDefault();
|
|
313
318
|
chip.current?.focus?.();
|
|
314
|
-
}, children: [cta ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-cta'), px: "$2", py: "$2", children: cta })) : null, (0, jsx_runtime_1.jsxs)(gui_1.ScrollView, { ref: list, height: listH, showsVerticalScrollIndicator: true, scrollEventThrottle: 64, onScroll: onScroll, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-list'), id: listId, role:
|
|
319
|
+
}, children: [cta ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-cta'), px: "$2", py: "$2", children: cta })) : null, (0, jsx_runtime_1.jsxs)(gui_1.ScrollView, { ref: list, height: listH, showsVerticalScrollIndicator: true, scrollEventThrottle: 64, onScroll: onScroll, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-list'), id: listId, ...{ role: 'listbox' }, "aria-label": name, gap: "$0", children: rows.map((item, i) => {
|
|
315
320
|
const on = i === at;
|
|
316
321
|
const picked = chosen?.id === item.id;
|
|
317
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-option'), id: optionId(i), role: "option", "aria-selected": picked, "aria-disabled": item.disabled || undefined, "aria-describedby": action && shown(item) ? hintId : undefined, height: ROW_H, px: "$2", gap: "$2", items: "center", rounded: "$2", cursor: item.disabled ? 'default' : 'pointer', opacity: item.disabled ? 0.5 : 1, bg: on ? '$raised' : 'transparent', onHoverIn: () => setAt(i), onPress: () => choose(item), children: [item.icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0, items: "center", justify: "center", "aria-hidden": true, children: item.icon })) : null, item.tail ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 0, items: "center", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", numberOfLines: 1, shrink: 1, minW: 0, children: item.label }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('chip-select-tail'), size: "$2", color: "$ink", numberOfLines: 1, shrink: 0, maxW: "100%", children: item.tail })] })) : ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", numberOfLines: 1, flex: 1, minW: 0, children: item.label })), item.hint ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$soft", numberOfLines: 1, shrink: 0, children: item.hint })) : null, action && on && shown(item) ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-action'), "aria-hidden": true, px: "$1.5", height: 18, items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", shrink: 0, hoverStyle: { bg: '$hover' }, onPress: (e) => {
|
|
322
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-option'), id: optionId(i), role: "option", "aria-selected": picked, "aria-disabled": item.disabled || undefined, "aria-describedby": action && shown(item) ? hintId : undefined, height: ROW_H, px: "$2", gap: "$2", items: "center", rounded: "$2", cursor: item.disabled ? 'default' : 'pointer', opacity: item.disabled ? 0.5 : 1, bg: on ? '$raised' : 'transparent', ...{ onHoverIn: () => setAt(i) }, onPress: () => choose(item), children: [item.icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0, items: "center", justify: "center", "aria-hidden": true, children: item.icon })) : null, item.tail ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 0, items: "center", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", numberOfLines: 1, shrink: 1, minW: 0, children: item.label }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('chip-select-tail'), size: "$2", color: "$ink", numberOfLines: 1, shrink: 0, maxW: "100%", children: item.tail })] })) : ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", numberOfLines: 1, flex: 1, minW: 0, children: item.label })), item.hint ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$soft", numberOfLines: 1, shrink: 0, children: item.hint })) : null, action && on && shown(item) ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-action'), "aria-hidden": true, px: "$1.5", height: 18, items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", shrink: 0, hoverStyle: { bg: '$hover' }, onPress: (e) => {
|
|
318
323
|
e?.stopPropagation?.();
|
|
319
324
|
action.onPress(item);
|
|
320
325
|
close();
|
|
@@ -324,5 +329,5 @@ function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, m
|
|
|
324
329
|
return;
|
|
325
330
|
e.preventDefault?.();
|
|
326
331
|
pages.retry();
|
|
327
|
-
}, children:
|
|
332
|
+
}, children: t('Retry') })) : null] })) : loading ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-loading'), px: "$2", height: ROW_H, items: "center", role: "status", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: rows.length ? t('Loading more…') : t('Loading…') }) })) : rows.length === 0 ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-empty'), px: "$2", py: "$1.5", items: "center", role: "status", children: typeof empty === 'string' ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null] }), action ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { id: hintId, position: "absolute", width: 1, height: 1, overflow: "hidden", opacity: 0, children: `Ctrl+Enter: ${action.label}` })) : null, footer ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-footer'), mx: -4, mt: "$1", px: "$3", py: "$2", gap: "$0.5", borderTopWidth: 1, borderColor: "$borderColor", children: footer })) : null, (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-header'), flexDirection: up ? 'column-reverse' : 'column', style: { order: up ? 99 : -1 }, children: [search, tabbar] })] })] }));
|
|
328
333
|
}
|
|
@@ -86,5 +86,5 @@ export interface ChipSelectProps<T extends ChipItem> {
|
|
|
86
86
|
* effort and the mode read as one quiet line. Outside that row, the 24px chip.
|
|
87
87
|
*/
|
|
88
88
|
export declare const Pills: import("react").Context<number | null>;
|
|
89
|
-
export declare function ChipSelect<T extends ChipItem>({ label, icon, name, chosen, onChange, load, items, more: hasMore, onMore, loading: loadingProp, error: errorProp, delay, placeholder, empty, footer, cta, action, placement, width, height, disabled, quiet, box, tabs, tab, onTab, open: openProp, onOpenChange, }: ChipSelectProps<T>): import("react").JSX.Element;
|
|
89
|
+
export declare function ChipSelect<T extends ChipItem>({ label, icon, name, chosen, onChange, load, items, more: hasMore, onMore, loading: loadingProp, error: errorProp, delay, placeholder: hint, empty: none, footer, cta, action, placement, width, height, disabled, quiet, box, tabs, tab, onTab, open: openProp, onOpenChange, }: ChipSelectProps<T>): import("react").JSX.Element;
|
|
90
90
|
//# sourceMappingURL=ChipSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipSelect.d.ts","sourceRoot":"","sources":["../../src/product/ChipSelect.tsx"],"names":[],"mappings":"AA4BA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ChipSelect.d.ts","sourceRoot":"","sources":["../../src/product/ChipSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
27
27
|
import { Input as GuiInput, ScrollView, SizableText, XStack, YStack } from '@hanzo/gui';
|
|
28
28
|
import { Check, ChevronDown, Search } from '@hanzogui/lucide-icons-2';
|
|
29
29
|
import { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, } from 'react';
|
|
30
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
30
31
|
import { Popover, PopoverContent, PopoverTrigger } from '../backends/gui/popover.js';
|
|
31
32
|
import { RING } from '../backends/gui/press.js';
|
|
32
33
|
import { slot, tip } from '../backends/gui/slot.js';
|
|
@@ -59,6 +60,7 @@ const typed = (e) => e.key && e.key.length === 1 && !e.ctrlKey && !e.metaKey &&
|
|
|
59
60
|
*/
|
|
60
61
|
function usePages(load, q, delay, on, view) {
|
|
61
62
|
const [state, setState] = useState({ rows: [], next: null, loading: false, error: null });
|
|
63
|
+
const { t } = useI18n();
|
|
62
64
|
const generation = useRef(0);
|
|
63
65
|
const busy = useRef(false);
|
|
64
66
|
// The loader is read at call time, not taken as a dependency: a host that
|
|
@@ -91,10 +93,10 @@ function usePages(load, q, delay, on, view) {
|
|
|
91
93
|
setState((s) => ({
|
|
92
94
|
...s,
|
|
93
95
|
loading: false,
|
|
94
|
-
error: err instanceof Error && err.message ? err.message : 'Could not load the list.',
|
|
96
|
+
error: err instanceof Error && err.message ? err.message : t('Could not load the list.'),
|
|
95
97
|
}));
|
|
96
98
|
});
|
|
97
|
-
}, []);
|
|
99
|
+
}, [t]);
|
|
98
100
|
const live = Boolean(load);
|
|
99
101
|
// A new search, or opening: start over after the debounce. The first page of
|
|
100
102
|
// an empty search is asked for at once — there is nothing typed to wait for.
|
|
@@ -116,10 +118,13 @@ function usePages(load, q, delay, on, view) {
|
|
|
116
118
|
const retry = useCallback(() => fetch(null, ++generation.current), [fetch]);
|
|
117
119
|
return { ...state, more, retry };
|
|
118
120
|
}
|
|
119
|
-
export function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, more: hasMore = false, onMore, loading: loadingProp = false, error: errorProp = null, delay = 200, placeholder
|
|
121
|
+
export function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, more: hasMore = false, onMore, loading: loadingProp = false, error: errorProp = null, delay = 200, placeholder: hint, empty: none, footer, cta, action, placement = 'top-start', width = 320, height = 276, disabled = false, quiet = false, box = BARE, tabs, tab, onTab, open: openProp, onOpenChange, }) {
|
|
120
122
|
const bare = !label;
|
|
123
|
+
const { t } = useI18n();
|
|
121
124
|
const row = useContext(Pills);
|
|
122
125
|
const pill = row !== null && !bare && !quiet;
|
|
126
|
+
const placeholder = hint ?? t('Search…');
|
|
127
|
+
const empty = none ?? t('No matches.');
|
|
123
128
|
const [own, setOwn] = useState(false);
|
|
124
129
|
const open = openProp ?? own;
|
|
125
130
|
const setOpen = useCallback((next) => {
|
|
@@ -294,7 +299,7 @@ export function ChipSelect({ label, icon, name, chosen = null, onChange, load, i
|
|
|
294
299
|
onTab?.(v.id);
|
|
295
300
|
}, children: _jsx(SizableText, { size: "$1", color: on ? '$ink' : '$soft', children: v.label }) }, v.id));
|
|
296
301
|
}) })) : null;
|
|
297
|
-
return (_jsxs(Popover, { open: open, onOpenChange: (v) => (v ? setOpen(true) : close()), placement: placement, allowFlip: true, stayInFrame: true, children: [_jsx(PopoverTrigger, { asChild: true, disabled: disabled, children: _jsxs(XStack, { ref: chip, ...slot('chip-select'), ...tip(name), role: "button", tabIndex: disabled ? -1 : 0, "aria-label": bare ? name :
|
|
302
|
+
return (_jsxs(Popover, { open: open, onOpenChange: (v) => (v ? setOpen(true) : close()), placement: placement, allowFlip: true, stayInFrame: true, children: [_jsx(PopoverTrigger, { asChild: true, disabled: disabled, children: _jsxs(XStack, { ref: chip, ...slot('chip-select'), ...tip(name), role: "button", tabIndex: disabled ? -1 : 0, "aria-label": bare ? name : t('{label}: {value}', { label: name, value: label }), "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? listId : undefined, "aria-disabled": disabled || undefined, height: pill ? row : CHIP_H, rounded: pill ? 8 : '$2', ...(bare ? { width: box, height: box, justify: 'center', rounded: 999 } : { px: pill ? WORD_GUTTER : '$2' }), gap: pill ? 4 : '$1.5', items: "center", shrink: 0, borderWidth: quiet || pill ? 0 : 1, borderColor: "$borderColor", bg: quiet || pill ? 'transparent' : '$raised', cursor: disabled ? 'default' : 'pointer', opacity: disabled ? 0.5 : 1, hoverStyle: disabled ? undefined : quiet || pill ? { bg: '$hover' } : { borderColor: '$rim' }, pressStyle: disabled ? undefined : { bg: '$hover' }, focusVisibleStyle: RING,
|
|
298
303
|
// The chip is a small target by design; the hit area is not.
|
|
299
304
|
hitSlop: { top: 10, bottom: 10, left: 4, right: 4 }, onKeyDown: onChip, children: [icon ? (_jsx(XStack, { shrink: 0, items: "center", "aria-hidden": true, children: icon })) : null, bare ? null : (_jsx(SizableText, { size: pill ? '$3' : '$2', color: quiet ? '$quiet' : '$ink', numberOfLines: 1, maxW: 200, children: label })), bare || quiet ? null : _jsx(ChevronDown, { size: 12, color: "$soft", "aria-hidden": true })] }) }), _jsxs(PopoverContent, { ...slot('chip-select-panel'), sideOffset: 8, width: width, maxW: "92vw", p: "$1", gap: "$0",
|
|
300
305
|
// Gui's popover content centres its children; a list and a field span
|
|
@@ -307,10 +312,10 @@ export function ChipSelect({ label, icon, name, chosen = null, onChange, load, i
|
|
|
307
312
|
}, onCloseAutoFocus: (e) => {
|
|
308
313
|
e.preventDefault();
|
|
309
314
|
chip.current?.focus?.();
|
|
310
|
-
}, children: [cta ? (_jsx(YStack, { ...slot('chip-select-cta'), px: "$2", py: "$2", children: cta })) : null, _jsxs(ScrollView, { ref: list, height: listH, showsVerticalScrollIndicator: true, scrollEventThrottle: 64, onScroll: onScroll, children: [_jsx(YStack, { ...slot('chip-select-list'), id: listId, role:
|
|
315
|
+
}, children: [cta ? (_jsx(YStack, { ...slot('chip-select-cta'), px: "$2", py: "$2", children: cta })) : null, _jsxs(ScrollView, { ref: list, height: listH, showsVerticalScrollIndicator: true, scrollEventThrottle: 64, onScroll: onScroll, children: [_jsx(YStack, { ...slot('chip-select-list'), id: listId, ...{ role: 'listbox' }, "aria-label": name, gap: "$0", children: rows.map((item, i) => {
|
|
311
316
|
const on = i === at;
|
|
312
317
|
const picked = chosen?.id === item.id;
|
|
313
|
-
return (_jsxs(XStack, { ...slot('chip-select-option'), id: optionId(i), role: "option", "aria-selected": picked, "aria-disabled": item.disabled || undefined, "aria-describedby": action && shown(item) ? hintId : undefined, height: ROW_H, px: "$2", gap: "$2", items: "center", rounded: "$2", cursor: item.disabled ? 'default' : 'pointer', opacity: item.disabled ? 0.5 : 1, bg: on ? '$raised' : 'transparent', onHoverIn: () => setAt(i), onPress: () => choose(item), children: [item.icon ? (_jsx(XStack, { width: 14, shrink: 0, items: "center", justify: "center", "aria-hidden": true, children: item.icon })) : null, item.tail ? (_jsxs(XStack, { flex: 1, minW: 0, items: "center", children: [_jsx(SizableText, { size: "$2", color: "$ink", numberOfLines: 1, shrink: 1, minW: 0, children: item.label }), _jsx(SizableText, { ...slot('chip-select-tail'), size: "$2", color: "$ink", numberOfLines: 1, shrink: 0, maxW: "100%", children: item.tail })] })) : (_jsx(SizableText, { size: "$2", color: "$ink", numberOfLines: 1, flex: 1, minW: 0, children: item.label })), item.hint ? (_jsx(SizableText, { size: "$1", color: "$soft", numberOfLines: 1, shrink: 0, children: item.hint })) : null, action && on && shown(item) ? (_jsx(XStack, { ...slot('chip-select-action'), "aria-hidden": true, px: "$1.5", height: 18, items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", shrink: 0, hoverStyle: { bg: '$hover' }, onPress: (e) => {
|
|
318
|
+
return (_jsxs(XStack, { ...slot('chip-select-option'), id: optionId(i), role: "option", "aria-selected": picked, "aria-disabled": item.disabled || undefined, "aria-describedby": action && shown(item) ? hintId : undefined, height: ROW_H, px: "$2", gap: "$2", items: "center", rounded: "$2", cursor: item.disabled ? 'default' : 'pointer', opacity: item.disabled ? 0.5 : 1, bg: on ? '$raised' : 'transparent', ...{ onHoverIn: () => setAt(i) }, onPress: () => choose(item), children: [item.icon ? (_jsx(XStack, { width: 14, shrink: 0, items: "center", justify: "center", "aria-hidden": true, children: item.icon })) : null, item.tail ? (_jsxs(XStack, { flex: 1, minW: 0, items: "center", children: [_jsx(SizableText, { size: "$2", color: "$ink", numberOfLines: 1, shrink: 1, minW: 0, children: item.label }), _jsx(SizableText, { ...slot('chip-select-tail'), size: "$2", color: "$ink", numberOfLines: 1, shrink: 0, maxW: "100%", children: item.tail })] })) : (_jsx(SizableText, { size: "$2", color: "$ink", numberOfLines: 1, flex: 1, minW: 0, children: item.label })), item.hint ? (_jsx(SizableText, { size: "$1", color: "$soft", numberOfLines: 1, shrink: 0, children: item.hint })) : null, action && on && shown(item) ? (_jsx(XStack, { ...slot('chip-select-action'), "aria-hidden": true, px: "$1.5", height: 18, items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", shrink: 0, hoverStyle: { bg: '$hover' }, onPress: (e) => {
|
|
314
319
|
e?.stopPropagation?.();
|
|
315
320
|
action.onPress(item);
|
|
316
321
|
close();
|
|
@@ -320,6 +325,6 @@ export function ChipSelect({ label, icon, name, chosen = null, onChange, load, i
|
|
|
320
325
|
return;
|
|
321
326
|
e.preventDefault?.();
|
|
322
327
|
pages.retry();
|
|
323
|
-
}, children:
|
|
328
|
+
}, children: t('Retry') })) : null] })) : loading ? (_jsx(XStack, { ...slot('chip-select-loading'), px: "$2", height: ROW_H, items: "center", role: "status", children: _jsx(SizableText, { size: "$2", color: "$soft", children: rows.length ? t('Loading more…') : t('Loading…') }) })) : rows.length === 0 ? (_jsx(XStack, { ...slot('chip-select-empty'), px: "$2", py: "$1.5", items: "center", role: "status", children: typeof empty === 'string' ? (_jsx(SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null] }), action ? (_jsx(SizableText, { id: hintId, position: "absolute", width: 1, height: 1, overflow: "hidden", opacity: 0, children: `Ctrl+Enter: ${action.label}` })) : null, footer ? (_jsx(YStack, { ...slot('chip-select-footer'), mx: -4, mt: "$1", px: "$3", py: "$2", gap: "$0.5", borderTopWidth: 1, borderColor: "$borderColor", children: footer })) : null, _jsxs(YStack, { ...slot('chip-select-header'), flexDirection: up ? 'column-reverse' : 'column', style: { order: up ? 99 : -1 }, children: [search, tabbar] })] })] }));
|
|
324
329
|
}
|
|
325
330
|
//# sourceMappingURL=ChipSelect.js.map
|