@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/number-field.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/number-field.tsx"],"names":[],"mappings":"AA8BA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAGhD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,MAAM,GAAG,iBAAiB,GAAG,QAAQ,CAAC,GAAG;IACnI,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAA;IACjC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAeD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAYpG;AAoBD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAmB,EACnB,aAAa,EACb,GAAG,EACH,GAAG,EACH,IAAQ,EACR,SAAe,EACf,SAAc,EACd,MAAM,EACN,MAAM,EACN,eAAuB,EACvB,QAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAe,EACf,cAAc,EACd,cAAc,EACd,IAAI,EACJ,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,gBAAgB,+BA8IlB"}
|
|
@@ -21,9 +21,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
21
21
|
* smallStep 0.1, largeStep 10, no wheel scrub, out-of-range refused; its buttons
|
|
22
22
|
* are the outline control at the field's height, 4px apart.
|
|
23
23
|
*/
|
|
24
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
24
25
|
import { XStack } from '@hanzo/gui';
|
|
25
26
|
import { Minus, Plus } from '@hanzogui/lucide-icons-2';
|
|
26
|
-
import {
|
|
27
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
27
28
|
import { Button } from './button.js';
|
|
28
29
|
import { fieldSize, useDensity } from './density.js';
|
|
29
30
|
import { Input } from './input.js';
|
|
@@ -71,8 +72,14 @@ const decimals = (n) => {
|
|
|
71
72
|
};
|
|
72
73
|
const clamp = (n, min, max) => Math.min(max ?? Infinity, Math.max(min ?? -Infinity, n));
|
|
73
74
|
/** The icon button that stands beside a field of each box. */
|
|
74
|
-
const BESIDE = {
|
|
75
|
-
|
|
75
|
+
const BESIDE = {
|
|
76
|
+
lg: 'icon-lg',
|
|
77
|
+
default: 'icon',
|
|
78
|
+
sm: 'icon-sm',
|
|
79
|
+
xs: 'icon-xs',
|
|
80
|
+
};
|
|
81
|
+
export function NumberField({ value, defaultValue = null, onValueChange, min, max, step = 1, smallStep = 0.1, largeStep = 10, format, locale, allowOutOfRange = false, readOnly = false, required, disabled, buttons = false, decrementLabel, incrementLabel, size, onFocus, onBlur, ...props }) {
|
|
82
|
+
const { t } = useI18n();
|
|
76
83
|
const density = useDensity();
|
|
77
84
|
const box = fieldSize(size, density);
|
|
78
85
|
const controlled = value !== undefined;
|
|
@@ -153,8 +160,20 @@ export function NumberField({ value, defaultValue = null, onValueChange, min, ma
|
|
|
153
160
|
return field;
|
|
154
161
|
const beside = BESIDE[box];
|
|
155
162
|
const press = (by) => () => nudge(by);
|
|
156
|
-
return (_jsxs(XStack, { ...slot('number-field'), items: "center", gap: "$1", width: "100%", minW: 0, children: [_jsx(XStack, { flex: 1, minW: 0, children: field }), _jsx(Button, { ...slot('number-field-decrement'), variant: "outline", size: beside, "aria-label": decrementLabel,
|
|
163
|
+
return (_jsxs(XStack, { ...slot('number-field'), items: "center", gap: "$1", width: "100%", minW: 0, children: [_jsx(XStack, { flex: 1, minW: 0, children: field }), _jsx(Button, { ...slot('number-field-decrement'), variant: "outline", size: beside, "aria-label": decrementLabel ?? t('Decrease'),
|
|
157
164
|
// The keyboard belongs to the field; the buttons are for a pointer.
|
|
158
|
-
tabIndex: -1, disabled: disabled || (!allowOutOfRange && atMin), ...(readOnly
|
|
165
|
+
tabIndex: -1, disabled: disabled || (!allowOutOfRange && atMin), ...(readOnly
|
|
166
|
+
? {
|
|
167
|
+
opacity: 0.5,
|
|
168
|
+
cursor: 'default',
|
|
169
|
+
hoverStyle: { bg: '$background' },
|
|
170
|
+
}
|
|
171
|
+
: null), onPress: press(-step), children: _jsx(Minus, { size: 16 }) }), _jsx(Button, { ...slot('number-field-increment'), variant: "outline", size: beside, "aria-label": incrementLabel ?? t('Increase'), tabIndex: -1, disabled: disabled || (!allowOutOfRange && atMax), ...(readOnly
|
|
172
|
+
? {
|
|
173
|
+
opacity: 0.5,
|
|
174
|
+
cursor: 'default',
|
|
175
|
+
hoverStyle: { bg: '$background' },
|
|
176
|
+
}
|
|
177
|
+
: null), onPress: press(step), children: _jsx(Plus, { size: 16 }) })] }));
|
|
159
178
|
}
|
|
160
179
|
//# sourceMappingURL=number-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../../src/backends/gui/number-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../../src/backends/gui/number-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
14
14
|
*/
|
|
15
15
|
const gui_1 = require("@hanzo/gui");
|
|
16
16
|
const react_1 = require("react");
|
|
17
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
17
18
|
const grid_1 = require("../../grid.cjs");
|
|
18
19
|
const button_1 = require("./button.cjs");
|
|
19
20
|
const input_1 = require("./input.cjs");
|
|
@@ -26,6 +27,7 @@ function OrderEntry({ symbol = 'NASDAQ:AAPL', accountBalance = 10000, onPlaceOrd
|
|
|
26
27
|
const [orderSide, setOrderSide] = (0, react_1.useState)('buy');
|
|
27
28
|
const [shares, setShares] = (0, react_1.useState)('');
|
|
28
29
|
const [limitPrice, setLimitPrice] = (0, react_1.useState)('');
|
|
30
|
+
const { t } = (0, react_2.useI18n)();
|
|
29
31
|
const canSubmit = !disabled && !!shares && (orderType !== 'limit' || !!limitPrice);
|
|
30
32
|
const submit = () => {
|
|
31
33
|
if (!canSubmit)
|
|
@@ -40,5 +42,5 @@ function OrderEntry({ symbol = 'NASDAQ:AAPL', accountBalance = 10000, onPlaceOrd
|
|
|
40
42
|
setShares('');
|
|
41
43
|
setLimitPrice('');
|
|
42
44
|
};
|
|
43
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry'), p: "$4", gap: "$4", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry-balance'), bg: "$hover", rounded: "$3", p: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$quiet", mb: "$1", children:
|
|
45
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry'), p: "$4", gap: "$4", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry-balance'), bg: "$hover", rounded: "$3", p: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$quiet", mb: "$1", children: t('Buying Power') }), (0, jsx_runtime_1.jsxs)(gui_1.SizableText, { size: "$5", fontWeight: "600", color: "$ink", children: ["$", accountBalance.toLocaleString()] })] }), (0, jsx_runtime_1.jsx)(grid_1.Grid, { ...(0, slot_1.slot)('order-entry-side'), columns: 2, gap: "$2", children: ['buy', 'sell'].map((side) => ((0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('order-entry-side-option'), "data-state": orderSide === side ? 'on' : 'off', role: "radio", "aria-checked": orderSide === side, variant: "ghost", width: "100%", disabled: disabled, onPress: () => setOrderSide(side), bg: orderSide === side ? SIDE_ON[side] : '$hover', color: orderSide === side ? '$white1' : '$quiet', hoverStyle: orderSide === side ? { bg: SIDE_ON[side] } : { bg: '$edge' }, fontWeight: "600", children: side === 'buy' ? t('Buy') : t('Sell') }) }, side))) }), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry-type'), gap: "$2", children: [(0, jsx_runtime_1.jsx)(label_1.Label, { children: t('Order Type') }), (0, jsx_runtime_1.jsx)(grid_1.Grid, { columns: 2, gap: "$2", children: ['market', 'limit'].map((kind) => ((0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('order-entry-type-option'), "data-state": orderType === kind ? 'on' : 'off', role: "radio", "aria-checked": orderType === kind, variant: "ghost", size: "sm", width: "100%", disabled: disabled, onPress: () => setOrderType(kind), bg: orderType === kind ? '$rim' : '$hover', color: orderType === kind ? '$ink' : '$quiet', hoverStyle: orderType === kind ? { bg: '$rim' } : { bg: '$edge' }, children: kind === 'market' ? t('Market') : t('Limit') }) }, kind))) })] }), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry-shares'), gap: "$2", children: [(0, jsx_runtime_1.jsx)(label_1.Label, { htmlFor: "order-entry-shares-input", children: t('Shares') }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "order-entry-shares-input", type: "number", placeholder: "0", value: shares, onChangeText: setShares, disabled: disabled })] }), orderType === 'limit' && ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('order-entry-limit-price'), gap: "$2", children: [(0, jsx_runtime_1.jsx)(label_1.Label, { htmlFor: "order-entry-limit-price-input", children: t('Limit Price') }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "order-entry-limit-price-input", type: "number", step: "0.01", placeholder: "0.00", value: limitPrice, onChangeText: setLimitPrice, disabled: disabled })] })), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('order-entry-submit'), variant: "ghost", size: "lg", width: "100%", disabled: !canSubmit, onPress: submit, bg: SIDE_ON[orderSide], color: "$white1", fontWeight: "600", hoverStyle: { bg: SIDE_ON[orderSide], opacity: 0.9 }, children: orderSide === 'buy' ? t('Buy {symbol}', { symbol: ticker(symbol) }) : t('Sell {symbol}', { symbol: ticker(symbol) }) })] }));
|
|
44
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-entry.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/order-entry.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"order-entry.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/order-entry.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE1C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,yGAAyG;IACzG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sFAAsF;IACtF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAMD,iBAAS,UAAU,CAAC,EAClB,MAAsB,EACtB,cAAsB,EACtB,YAAuB,EACvB,QAAgB,GACjB,EAAE,eAAe,+BA6HjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -11,6 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
11
11
|
*/
|
|
12
12
|
import { SizableText, YStack } from '@hanzo/gui';
|
|
13
13
|
import { useState } from 'react';
|
|
14
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
14
15
|
import { Grid, Cell } from '../../grid.js';
|
|
15
16
|
import { Button } from './button.js';
|
|
16
17
|
import { Input } from './input.js';
|
|
@@ -23,6 +24,7 @@ function OrderEntry({ symbol = 'NASDAQ:AAPL', accountBalance = 10000, onPlaceOrd
|
|
|
23
24
|
const [orderSide, setOrderSide] = useState('buy');
|
|
24
25
|
const [shares, setShares] = useState('');
|
|
25
26
|
const [limitPrice, setLimitPrice] = useState('');
|
|
27
|
+
const { t } = useI18n();
|
|
26
28
|
const canSubmit = !disabled && !!shares && (orderType !== 'limit' || !!limitPrice);
|
|
27
29
|
const submit = () => {
|
|
28
30
|
if (!canSubmit)
|
|
@@ -37,7 +39,7 @@ function OrderEntry({ symbol = 'NASDAQ:AAPL', accountBalance = 10000, onPlaceOrd
|
|
|
37
39
|
setShares('');
|
|
38
40
|
setLimitPrice('');
|
|
39
41
|
};
|
|
40
|
-
return (_jsxs(YStack, { ...slot('order-entry'), p: "$4", gap: "$4", children: [_jsxs(YStack, { ...slot('order-entry-balance'), bg: "$hover", rounded: "$3", p: "$3", children: [_jsx(SizableText, { size: "$1", color: "$quiet", mb: "$1", children:
|
|
42
|
+
return (_jsxs(YStack, { ...slot('order-entry'), p: "$4", gap: "$4", children: [_jsxs(YStack, { ...slot('order-entry-balance'), bg: "$hover", rounded: "$3", p: "$3", children: [_jsx(SizableText, { size: "$1", color: "$quiet", mb: "$1", children: t('Buying Power') }), _jsxs(SizableText, { size: "$5", fontWeight: "600", color: "$ink", children: ["$", accountBalance.toLocaleString()] })] }), _jsx(Grid, { ...slot('order-entry-side'), columns: 2, gap: "$2", children: ['buy', 'sell'].map((side) => (_jsx(Cell, { children: _jsx(Button, { ...slot('order-entry-side-option'), "data-state": orderSide === side ? 'on' : 'off', role: "radio", "aria-checked": orderSide === side, variant: "ghost", width: "100%", disabled: disabled, onPress: () => setOrderSide(side), bg: orderSide === side ? SIDE_ON[side] : '$hover', color: orderSide === side ? '$white1' : '$quiet', hoverStyle: orderSide === side ? { bg: SIDE_ON[side] } : { bg: '$edge' }, fontWeight: "600", children: side === 'buy' ? t('Buy') : t('Sell') }) }, side))) }), _jsxs(YStack, { ...slot('order-entry-type'), gap: "$2", children: [_jsx(Label, { children: t('Order Type') }), _jsx(Grid, { columns: 2, gap: "$2", children: ['market', 'limit'].map((kind) => (_jsx(Cell, { children: _jsx(Button, { ...slot('order-entry-type-option'), "data-state": orderType === kind ? 'on' : 'off', role: "radio", "aria-checked": orderType === kind, variant: "ghost", size: "sm", width: "100%", disabled: disabled, onPress: () => setOrderType(kind), bg: orderType === kind ? '$rim' : '$hover', color: orderType === kind ? '$ink' : '$quiet', hoverStyle: orderType === kind ? { bg: '$rim' } : { bg: '$edge' }, children: kind === 'market' ? t('Market') : t('Limit') }) }, kind))) })] }), _jsxs(YStack, { ...slot('order-entry-shares'), gap: "$2", children: [_jsx(Label, { htmlFor: "order-entry-shares-input", children: t('Shares') }), _jsx(Input, { id: "order-entry-shares-input", type: "number", placeholder: "0", value: shares, onChangeText: setShares, disabled: disabled })] }), orderType === 'limit' && (_jsxs(YStack, { ...slot('order-entry-limit-price'), gap: "$2", children: [_jsx(Label, { htmlFor: "order-entry-limit-price-input", children: t('Limit Price') }), _jsx(Input, { id: "order-entry-limit-price-input", type: "number", step: "0.01", placeholder: "0.00", value: limitPrice, onChangeText: setLimitPrice, disabled: disabled })] })), _jsx(Button, { ...slot('order-entry-submit'), variant: "ghost", size: "lg", width: "100%", disabled: !canSubmit, onPress: submit, bg: SIDE_ON[orderSide], color: "$white1", fontWeight: "600", hoverStyle: { bg: SIDE_ON[orderSide], opacity: 0.9 }, children: orderSide === 'buy' ? t('Buy {symbol}', { symbol: ticker(symbol) }) : t('Sell {symbol}', { symbol: ticker(symbol) }) })] }));
|
|
41
43
|
}
|
|
42
44
|
export { OrderEntry };
|
|
43
45
|
//# sourceMappingURL=order-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-entry.js","sourceRoot":"","sources":["../../../src/backends/gui/order-entry.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAuB7B,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;AAEjE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAW,CAAA;AAE1D,SAAS,UAAU,CAAC,EAClB,MAAM,GAAG,aAAa,EACtB,cAAc,GAAG,KAAK,EACtB,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,EACvB,QAAQ,GAAG,KAAK,GACA;IAChB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,QAAQ,CAAC,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,KAAK,CAAC,CAAA;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"order-entry.js","sourceRoot":"","sources":["../../../src/backends/gui/order-entry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
49
49
|
*/
|
|
50
50
|
const gui_1 = require("@hanzo/gui");
|
|
51
51
|
const React = __importStar(require("react"));
|
|
52
|
+
const i18n_1 = require("@hanzo/i18n");
|
|
53
|
+
const react_1 = require("@hanzo/i18n/react");
|
|
52
54
|
const badge_1 = require("./badge.cjs");
|
|
53
55
|
const button_1 = require("./button.cjs");
|
|
54
56
|
const grid_1 = require("../../grid.cjs");
|
|
@@ -66,6 +68,20 @@ const SIDE_COLOR = {
|
|
|
66
68
|
};
|
|
67
69
|
const FILTERS = ['all', 'open', 'filled', 'cancelled', 'pending'];
|
|
68
70
|
const cap = (s) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
71
|
+
/** How a filter, a status, a side and an order type read. */
|
|
72
|
+
const WORD = {
|
|
73
|
+
all: (0, i18n_1.phrase)('All'),
|
|
74
|
+
open: (0, i18n_1.phrase)('Open'),
|
|
75
|
+
filled: (0, i18n_1.phrase)('Filled'),
|
|
76
|
+
cancelled: (0, i18n_1.phrase)('Cancelled'),
|
|
77
|
+
pending: (0, i18n_1.phrase)('Pending'),
|
|
78
|
+
market: (0, i18n_1.phrase)('Market'),
|
|
79
|
+
limit: (0, i18n_1.phrase)('Limit'),
|
|
80
|
+
buy: (0, i18n_1.phrase)('BUY'),
|
|
81
|
+
sell: (0, i18n_1.phrase)('SELL'),
|
|
82
|
+
};
|
|
83
|
+
/** A value's word, or the value itself capitalised when it is not one of ours. */
|
|
84
|
+
const word = (t, value) => (Object.hasOwn(WORD, value) ? t(WORD[value]) : cap(value));
|
|
69
85
|
/** The ticker half of an exchange-qualified symbol, e.g. `NASDAQ:AAPL` -> `AAPL`. */
|
|
70
86
|
const ticker = (symbol) => symbol.split(':')[1] || symbol;
|
|
71
87
|
const RowFrame = (0, gui_1.styled)(gui_1.YStack, {
|
|
@@ -79,24 +95,26 @@ const RowFrame = (0, gui_1.styled)(gui_1.YStack, {
|
|
|
79
95
|
},
|
|
80
96
|
});
|
|
81
97
|
function OrderRow({ order, onCancelOrder, onOrderClick, }) {
|
|
98
|
+
const { t } = (0, react_1.useI18n)();
|
|
82
99
|
return ((0, jsx_runtime_1.jsxs)(RowFrame, { ...(0, slot_1.slot)('orders-history-row'), "data-status": order.status, clickable: !!onOrderClick, onPress: onOrderClick ? () => onOrderClick(order) : undefined, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { justify: "space-between", items: "flex-start", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { children: [(0, ink_1.ink)(ticker(order.symbol), gui_1.SizableText, { fontWeight: '600' }), (0, ink_1.ink)(new Date(order.timestamp).toLocaleString(), gui_1.SizableText, {
|
|
83
100
|
size: '$1',
|
|
84
101
|
color: '$quiet',
|
|
85
|
-
})] }), (0, jsx_runtime_1.jsx)(badge_1.Badge, { ...(0, slot_1.slot)('orders-history-status'), variant: "outline", style: { borderColor: STATUS_COLOR[order.status], color: STATUS_COLOR[order.status] }, children:
|
|
102
|
+
})] }), (0, jsx_runtime_1.jsx)(badge_1.Badge, { ...(0, slot_1.slot)('orders-history-status'), variant: "outline", style: { borderColor: STATUS_COLOR[order.status], color: STATUS_COLOR[order.status] }, children: word(t, order.status) })] }), (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: 3, gap: "$2", children: [(0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, ink_1.ink)(t('Side'), gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(Object.hasOwn(WORD, order.type) ? t(WORD[order.type]) : order.type.toUpperCase(), gui_1.SizableText, {
|
|
86
103
|
size: '$1',
|
|
87
104
|
fontWeight: '500',
|
|
88
105
|
color: SIDE_COLOR[order.type],
|
|
89
|
-
})] }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, ink_1.ink)('Shares', gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(String(order.shares), gui_1.SizableText, { size: '$1', fontWeight: '500' })] }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, ink_1.ink)('Price', gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(order.price > 0 ? `$${order.price.toFixed(2)}` : 'Market', gui_1.SizableText, {
|
|
106
|
+
})] }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, ink_1.ink)(t('Shares'), gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(String(order.shares), gui_1.SizableText, { size: '$1', fontWeight: '500' })] }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, ink_1.ink)(t('Price'), gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(order.price > 0 ? `$${order.price.toFixed(2)}` : t('Market'), gui_1.SizableText, {
|
|
90
107
|
size: '$1',
|
|
91
108
|
fontWeight: '500',
|
|
92
|
-
})] }) })] }), order.orderType ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$1", children: [(0, ink_1.ink)('Type:', gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(
|
|
109
|
+
})] }) })] }), order.orderType ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$1", children: [(0, ink_1.ink)(t('Type:'), gui_1.SizableText, { size: '$1', color: '$quiet' }), (0, ink_1.ink)(word(t, order.orderType), gui_1.SizableText, { size: '$1', fontWeight: '500' })] })) : null, order.status === 'open' && onCancelOrder ? ((0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('orders-history-cancel'), variant: "outline", size: "sm", onPress: (e) => {
|
|
93
110
|
e.stopPropagation?.();
|
|
94
111
|
onCancelOrder(order.id);
|
|
95
|
-
}, children:
|
|
112
|
+
}, children: t('Cancel Order') })) : null] }));
|
|
96
113
|
}
|
|
97
114
|
function OrdersHistory({ orders = [], onCancelOrder, onOrderClick, showFilters = true, }) {
|
|
98
115
|
const [filter, setFilter] = React.useState('all');
|
|
116
|
+
const { t } = (0, react_1.useI18n)();
|
|
99
117
|
const shown = filter === 'all' ? orders : orders.filter((order) => order.status === filter);
|
|
100
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('orders-history'), gap: "$3", p: "$4", children: [showFilters ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('orders-history-filters'), gap: "$2", flexWrap: "wrap", children: FILTERS.map((f) => ((0, jsx_runtime_1.jsx)(badge_1.Badge, { ...(0, slot_1.slot)('orders-history-filter'), "data-active": filter === f, variant: filter === f ? 'default' : 'outline', onClick: () => setFilter(f), style: { cursor: 'pointer' }, children:
|
|
118
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('orders-history'), gap: "$3", p: "$4", children: [showFilters ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('orders-history-filters'), gap: "$2", flexWrap: "wrap", children: FILTERS.map((f) => ((0, jsx_runtime_1.jsx)(badge_1.Badge, { ...(0, slot_1.slot)('orders-history-filter'), "data-active": filter === f, variant: filter === f ? 'default' : 'outline', onClick: () => setFilter(f), style: { cursor: 'pointer' }, children: word(t, f) }, f))) })) : null, shown.length === 0 ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('orders-history-empty'), items: "center", py: "$8", children: (0, ink_1.ink)(t('No orders yet'), gui_1.SizableText, { size: '$2', color: '$quiet' }) })) : ((0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$2", children: shown.map((order) => ((0, jsx_runtime_1.jsx)(OrderRow, { order: order, onCancelOrder: onCancelOrder, onOrderClick: onOrderClick }, order.id))) }))] }));
|
|
101
119
|
}
|
|
102
120
|
exports.default = OrdersHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-history.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/orders-history.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"orders-history.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/orders-history.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAA;AAC9C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;AAC7E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEvD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,sBAAsB,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAwID,wBAAgB,aAAa,CAAC,EAC5B,MAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAkB,GACnB,EAAE,kBAAkB,qBA0CpB;eAEc,aAAa"}
|
|
@@ -13,6 +13,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
*/
|
|
14
14
|
import { SizableText, XStack, YStack, styled } from '@hanzo/gui';
|
|
15
15
|
import * as React from 'react';
|
|
16
|
+
import { phrase } from '@hanzo/i18n';
|
|
17
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
16
18
|
import { Badge } from './badge.js';
|
|
17
19
|
import { Button } from './button.js';
|
|
18
20
|
import { Cell, Grid } from '../../grid.js';
|
|
@@ -30,6 +32,20 @@ const SIDE_COLOR = {
|
|
|
30
32
|
};
|
|
31
33
|
const FILTERS = ['all', 'open', 'filled', 'cancelled', 'pending'];
|
|
32
34
|
const cap = (s) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
35
|
+
/** How a filter, a status, a side and an order type read. */
|
|
36
|
+
const WORD = {
|
|
37
|
+
all: phrase('All'),
|
|
38
|
+
open: phrase('Open'),
|
|
39
|
+
filled: phrase('Filled'),
|
|
40
|
+
cancelled: phrase('Cancelled'),
|
|
41
|
+
pending: phrase('Pending'),
|
|
42
|
+
market: phrase('Market'),
|
|
43
|
+
limit: phrase('Limit'),
|
|
44
|
+
buy: phrase('BUY'),
|
|
45
|
+
sell: phrase('SELL'),
|
|
46
|
+
};
|
|
47
|
+
/** A value's word, or the value itself capitalised when it is not one of ours. */
|
|
48
|
+
const word = (t, value) => (Object.hasOwn(WORD, value) ? t(WORD[value]) : cap(value));
|
|
33
49
|
/** The ticker half of an exchange-qualified symbol, e.g. `NASDAQ:AAPL` -> `AAPL`. */
|
|
34
50
|
const ticker = (symbol) => symbol.split(':')[1] || symbol;
|
|
35
51
|
const RowFrame = styled(YStack, {
|
|
@@ -43,25 +59,27 @@ const RowFrame = styled(YStack, {
|
|
|
43
59
|
},
|
|
44
60
|
});
|
|
45
61
|
function OrderRow({ order, onCancelOrder, onOrderClick, }) {
|
|
62
|
+
const { t } = useI18n();
|
|
46
63
|
return (_jsxs(RowFrame, { ...slot('orders-history-row'), "data-status": order.status, clickable: !!onOrderClick, onPress: onOrderClick ? () => onOrderClick(order) : undefined, children: [_jsxs(XStack, { justify: "space-between", items: "flex-start", children: [_jsxs(YStack, { children: [ink(ticker(order.symbol), SizableText, { fontWeight: '600' }), ink(new Date(order.timestamp).toLocaleString(), SizableText, {
|
|
47
64
|
size: '$1',
|
|
48
65
|
color: '$quiet',
|
|
49
|
-
})] }), _jsx(Badge, { ...slot('orders-history-status'), variant: "outline", style: { borderColor: STATUS_COLOR[order.status], color: STATUS_COLOR[order.status] }, children:
|
|
66
|
+
})] }), _jsx(Badge, { ...slot('orders-history-status'), variant: "outline", style: { borderColor: STATUS_COLOR[order.status], color: STATUS_COLOR[order.status] }, children: word(t, order.status) })] }), _jsxs(Grid, { columns: 3, gap: "$2", children: [_jsx(Cell, { children: _jsxs(YStack, { gap: "$1", children: [ink(t('Side'), SizableText, { size: '$1', color: '$quiet' }), ink(Object.hasOwn(WORD, order.type) ? t(WORD[order.type]) : order.type.toUpperCase(), SizableText, {
|
|
50
67
|
size: '$1',
|
|
51
68
|
fontWeight: '500',
|
|
52
69
|
color: SIDE_COLOR[order.type],
|
|
53
|
-
})] }) }), _jsx(Cell, { children: _jsxs(YStack, { gap: "$1", children: [ink('Shares', SizableText, { size: '$1', color: '$quiet' }), ink(String(order.shares), SizableText, { size: '$1', fontWeight: '500' })] }) }), _jsx(Cell, { children: _jsxs(YStack, { gap: "$1", children: [ink('Price', SizableText, { size: '$1', color: '$quiet' }), ink(order.price > 0 ? `$${order.price.toFixed(2)}` : 'Market', SizableText, {
|
|
70
|
+
})] }) }), _jsx(Cell, { children: _jsxs(YStack, { gap: "$1", children: [ink(t('Shares'), SizableText, { size: '$1', color: '$quiet' }), ink(String(order.shares), SizableText, { size: '$1', fontWeight: '500' })] }) }), _jsx(Cell, { children: _jsxs(YStack, { gap: "$1", children: [ink(t('Price'), SizableText, { size: '$1', color: '$quiet' }), ink(order.price > 0 ? `$${order.price.toFixed(2)}` : t('Market'), SizableText, {
|
|
54
71
|
size: '$1',
|
|
55
72
|
fontWeight: '500',
|
|
56
|
-
})] }) })] }), order.orderType ? (_jsxs(XStack, { gap: "$1", children: [ink('Type:', SizableText, { size: '$1', color: '$quiet' }), ink(
|
|
73
|
+
})] }) })] }), order.orderType ? (_jsxs(XStack, { gap: "$1", children: [ink(t('Type:'), SizableText, { size: '$1', color: '$quiet' }), ink(word(t, order.orderType), SizableText, { size: '$1', fontWeight: '500' })] })) : null, order.status === 'open' && onCancelOrder ? (_jsx(Button, { ...slot('orders-history-cancel'), variant: "outline", size: "sm", onPress: (e) => {
|
|
57
74
|
e.stopPropagation?.();
|
|
58
75
|
onCancelOrder(order.id);
|
|
59
|
-
}, children:
|
|
76
|
+
}, children: t('Cancel Order') })) : null] }));
|
|
60
77
|
}
|
|
61
78
|
export function OrdersHistory({ orders = [], onCancelOrder, onOrderClick, showFilters = true, }) {
|
|
62
79
|
const [filter, setFilter] = React.useState('all');
|
|
80
|
+
const { t } = useI18n();
|
|
63
81
|
const shown = filter === 'all' ? orders : orders.filter((order) => order.status === filter);
|
|
64
|
-
return (_jsxs(YStack, { ...slot('orders-history'), gap: "$3", p: "$4", children: [showFilters ? (_jsx(XStack, { ...slot('orders-history-filters'), gap: "$2", flexWrap: "wrap", children: FILTERS.map((f) => (_jsx(Badge, { ...slot('orders-history-filter'), "data-active": filter === f, variant: filter === f ? 'default' : 'outline', onClick: () => setFilter(f), style: { cursor: 'pointer' }, children:
|
|
82
|
+
return (_jsxs(YStack, { ...slot('orders-history'), gap: "$3", p: "$4", children: [showFilters ? (_jsx(XStack, { ...slot('orders-history-filters'), gap: "$2", flexWrap: "wrap", children: FILTERS.map((f) => (_jsx(Badge, { ...slot('orders-history-filter'), "data-active": filter === f, variant: filter === f ? 'default' : 'outline', onClick: () => setFilter(f), style: { cursor: 'pointer' }, children: word(t, f) }, f))) })) : null, shown.length === 0 ? (_jsx(YStack, { ...slot('orders-history-empty'), items: "center", py: "$8", children: ink(t('No orders yet'), SizableText, { size: '$2', color: '$quiet' }) })) : (_jsx(YStack, { gap: "$2", children: shown.map((order) => (_jsx(OrderRow, { order: order, onCancelOrder: onCancelOrder, onOrderClick: onOrderClick }, order.id))) }))] }));
|
|
65
83
|
}
|
|
66
84
|
export default OrdersHistory;
|
|
67
85
|
//# sourceMappingURL=orders-history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-history.js","sourceRoot":"","sources":["../../../src/backends/gui/orders-history.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAyB7B,MAAM,YAAY,GAAwC;IACxD,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,UAAU;CACpB,CAAA;AAED,MAAM,UAAU,GAAsC;IACpD,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,OAAO;CACd,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAU,CAAA;AAG1E,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEjE,qFAAqF;AACrF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;AAEjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;IAC9B,IAAI,EAAE,kBAAkB;IACxB,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,IAAI;IAET,QAAQ,EAAE;QACR,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KAC/D;CACX,CAAC,CAAA;AAEF,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,aAAa,EACb,YAAY,GAKb;IACC,OAAO,CACL,MAAC,QAAQ,OACH,IAAI,CAAC,oBAAoB,CAAC,iBACjB,KAAK,CAAC,MAAM,EACzB,SAAS,EAAE,CAAC,CAAC,YAAY,EACzB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAE7D,MAAC,MAAM,IAAC,OAAO,EAAC,eAAe,EAAC,KAAK,EAAC,YAAY,aAChD,MAAC,MAAM,eACJ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC7D,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE;gCAC5D,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,QAAQ;6BAChB,CAAC,IACK,EACT,KAAC,KAAK,OACA,IAAI,CAAC,uBAAuB,CAAC,EACjC,OAAO,EAAC,SAAS,EACjB,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,YAEpF,
|
|
1
|
+
{"version":3,"file":"orders-history.js","sourceRoot":"","sources":["../../../src/backends/gui/orders-history.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAyB7B,MAAM,YAAY,GAAwC;IACxD,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,UAAU;CACpB,CAAA;AAED,MAAM,UAAU,GAAsC;IACpD,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,OAAO;CACd,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAU,CAAA;AAG1E,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEjE,6DAA6D;AAC7D,MAAM,IAAI,GAA2B;IACnC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;CACrB,CAAA;AAED,kFAAkF;AAClF,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAEnG,qFAAqF;AACrF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;AAEjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;IAC9B,IAAI,EAAE,kBAAkB;IACxB,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,IAAI;IAET,QAAQ,EAAE;QACR,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KAC/D;CACX,CAAC,CAAA;AAEF,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,aAAa,EACb,YAAY,GAKb;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,OAAO,CACL,MAAC,QAAQ,OACH,IAAI,CAAC,oBAAoB,CAAC,iBACjB,KAAK,CAAC,MAAM,EACzB,SAAS,EAAE,CAAC,CAAC,YAAY,EACzB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAE7D,MAAC,MAAM,IAAC,OAAO,EAAC,eAAe,EAAC,KAAK,EAAC,YAAY,aAChD,MAAC,MAAM,eACJ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC7D,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE;gCAC5D,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,QAAQ;6BAChB,CAAC,IACK,EACT,KAAC,KAAK,OACA,IAAI,CAAC,uBAAuB,CAAC,EACjC,OAAO,EAAC,SAAS,EACjB,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,YAEpF,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAChB,IACD,EAET,MAAC,IAAI,IAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAC,IAAI,aACxB,KAAC,IAAI,cACH,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,aACb,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC5D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE;oCACnG,IAAI,EAAE,IAAI;oCACV,UAAU,EAAE,KAAK;oCACjB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;iCAC9B,CAAC,IACK,GACJ,EACP,KAAC,IAAI,cACH,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,aACb,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC9D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IACnE,GACJ,EACP,KAAC,IAAI,cACH,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,aACb,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC7D,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE;oCAC9E,IAAI,EAAE,IAAI;oCACV,UAAU,EAAE,KAAK;iCAClB,CAAC,IACK,GACJ,IACF,EAEN,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,aACb,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC7D,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IACvE,CACV,CAAC,CAAC,CAAC,IAAI,EAEP,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAC1C,KAAC,MAAM,OACD,IAAI,CAAC,uBAAuB,CAAC,EACjC,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,CAAC,CAAmC,EAAE,EAAE;oBAC/C,CAAC,CAAC,eAAe,EAAE,EAAE,CAAA;oBACrB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACzB,CAAC,YAEA,CAAC,CAAC,cAAc,CAAC,GACX,CACV,CAAC,CAAC,CAAC,IAAI,IACC,CACZ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,MAAM,GAAG,EAAE,EACX,aAAa,EACb,YAAY,EACZ,WAAW,GAAG,IAAI,GACC;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,KAAK,CAAC,CAAA;IACzD,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAE3F,OAAO,CACL,MAAC,MAAM,OAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,aAChD,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,MAAM,OAAK,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,YACjE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,KAAC,KAAK,OAEA,IAAI,CAAC,uBAAuB,CAAC,iBACpB,MAAM,KAAK,CAAC,EACzB,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAE3B,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAPN,CAAC,CAQA,CACT,CAAC,GACK,CACV,CAAC,CAAC,CAAC,IAAI,EAEP,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,MAAM,OAAK,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,YAC7D,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAC/D,CACV,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,YACb,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,IAEP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,IAHrB,KAAK,CAAC,EAAE,CAIb,CACH,CAAC,GACK,CACV,IACM,CACV,CAAA;AACH,CAAC;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -23,6 +23,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
23
23
|
*/
|
|
24
24
|
const gui_1 = require("@hanzo/gui");
|
|
25
25
|
const react_1 = require("react");
|
|
26
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
26
27
|
const popover_1 = require("./popover.cjs");
|
|
27
28
|
const press_1 = require("./press.cjs");
|
|
28
29
|
const slot_1 = require("./slot.cjs");
|
|
@@ -47,7 +48,8 @@ function fit(widths, avail, max = Infinity, gap = GAP, count = COUNT_MIN) {
|
|
|
47
48
|
}
|
|
48
49
|
return n;
|
|
49
50
|
}
|
|
50
|
-
function OverflowingList({ children, maxInlineCount, showOverflowCount = 'hover', overflowLabel
|
|
51
|
+
function OverflowingList({ children, maxInlineCount, showOverflowCount = 'hover', overflowLabel, open, defaultOpen = false, onOpenChange, popupProps, ...props }) {
|
|
52
|
+
const { t } = (0, react_2.useI18n)();
|
|
51
53
|
const items = (0, react_1.useMemo)(() => react_1.Children.toArray(children).filter(react_1.isValidElement), [children]);
|
|
52
54
|
const [widths, setWidths] = (0, react_1.useState)([]);
|
|
53
55
|
const [avail, setAvail] = (0, react_1.useState)(null);
|
|
@@ -75,5 +77,5 @@ function OverflowingList({ children, maxInlineCount, showOverflowCount = 'hover'
|
|
|
75
77
|
return next;
|
|
76
78
|
});
|
|
77
79
|
};
|
|
78
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('overflowing-list'), position: "relative", width: "100%", minW: 0, items: "center", gap: GAP, overflow: "hidden", onLayout: (e) => setAvail(e.nativeEvent.layout.width), onPointerEnter: () => setHot(true), onPointerLeave: () => setHot(false), onFocus: () => setHot(true), onBlur: () => setHot(false), ...props, children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { "aria-hidden": true, position: "absolute", t: 0, l: 0, opacity: 0, pointerEvents: "none", gap: GAP, ...{ inert: true }, children: items.map((item, i) => ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, onLayout: measure(i), children: item }, item.key ?? i))) }), items.slice(0, visible).map((item, i) => ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(i === visible - 1 ? { shrink: 1, minW: 0 } : { shrink: 0 }), children: item }, item.key ?? i))), hidden > 0 && showOverflowCount !== 'never' ? ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: shown, onOpenChange: setOpen, placement: "bottom-start", children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('overflowing-list-count'), ...(0, press_1.press)(() => setOpen(!shown)), "aria-label":
|
|
80
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('overflowing-list'), position: "relative", width: "100%", minW: 0, items: "center", gap: GAP, overflow: "hidden", onLayout: (e) => setAvail(e.nativeEvent.layout.width), onPointerEnter: () => setHot(true), onPointerLeave: () => setHot(false), onFocus: () => setHot(true), onBlur: () => setHot(false), ...props, children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { "aria-hidden": true, position: "absolute", t: 0, l: 0, opacity: 0, pointerEvents: "none", gap: GAP, ...{ inert: true }, children: items.map((item, i) => ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, onLayout: measure(i), children: item }, item.key ?? i))) }), items.slice(0, visible).map((item, i) => ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(i === visible - 1 ? { shrink: 1, minW: 0 } : { shrink: 0 }), children: item }, item.key ?? i))), hidden > 0 && showOverflowCount !== 'never' ? ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: shown, onOpenChange: setOpen, placement: "bottom-start", children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('overflowing-list-count'), ...(0, press_1.press)(() => setOpen(!shown)), "aria-label": t('{label} ({n})', { label: overflowLabel ?? t('Show all items'), n: items.length }), "aria-expanded": shown, shrink: 0, minW: COUNT_MIN, height: 20, px: "$1", items: "center", justify: "center", rounded: "$xs", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: press_1.RING, opacity: countShown ? 1 : 0, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$ink", children: `+${hidden}` }) }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { p: "$2", minW: POPUP_MIN, style: { width: Math.max(POPUP_MIN, Math.round(avail ?? 0)) }, ...popupProps, children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('overflowing-list-popup'), maxH: 320, overflow: "scroll", children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { flexWrap: "wrap", gap: GAP, children: items }) }) })] })) : null] }));
|
|
79
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflowing-list.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/overflowing-list.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAe,MAAM,EAAU,MAAM,YAAY,CAAA;AACxD,OAAO,EAA4D,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"overflowing-list.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/overflowing-list.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAe,MAAM,EAAU,MAAM,YAAY,CAAA;AACxD,OAAO,EAA4D,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAErH,OAAO,EAAW,cAAc,EAAkB,MAAM,WAAW,CAAA;AAQnE;;;GAGG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAW,EAAE,GAAG,SAAM,EAAE,KAAK,SAAY,GAAG,MAAM,CAWlH;AAID,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACnF,sDAAsD;IACtD,QAAQ,EAAE,SAAS,CAAA;IACnB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IAChD,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;CAC5D,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,cAAc,EACd,iBAA2B,EAC3B,aAAa,EACb,IAAI,EACJ,WAAmB,EACnB,YAAY,EACZ,UAAU,EACV,GAAG,KAAK,EACT,EAAE,oBAAoB,+BAyGtB"}
|
|
@@ -19,6 +19,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
*/
|
|
20
20
|
import { SizableText, XStack, YStack } from '@hanzo/gui';
|
|
21
21
|
import { Children, isValidElement, useCallback, useMemo, useState } from 'react';
|
|
22
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
22
23
|
import { Popover, PopoverContent, PopoverTrigger } from './popover.js';
|
|
23
24
|
import { press, RING } from './press.js';
|
|
24
25
|
import { slot } from './slot.js';
|
|
@@ -43,7 +44,8 @@ export function fit(widths, avail, max = Infinity, gap = GAP, count = COUNT_MIN)
|
|
|
43
44
|
}
|
|
44
45
|
return n;
|
|
45
46
|
}
|
|
46
|
-
export function OverflowingList({ children, maxInlineCount, showOverflowCount = 'hover', overflowLabel
|
|
47
|
+
export function OverflowingList({ children, maxInlineCount, showOverflowCount = 'hover', overflowLabel, open, defaultOpen = false, onOpenChange, popupProps, ...props }) {
|
|
48
|
+
const { t } = useI18n();
|
|
47
49
|
const items = useMemo(() => Children.toArray(children).filter(isValidElement), [children]);
|
|
48
50
|
const [widths, setWidths] = useState([]);
|
|
49
51
|
const [avail, setAvail] = useState(null);
|
|
@@ -71,6 +73,6 @@ export function OverflowingList({ children, maxInlineCount, showOverflowCount =
|
|
|
71
73
|
return next;
|
|
72
74
|
});
|
|
73
75
|
};
|
|
74
|
-
return (_jsxs(XStack, { ...slot('overflowing-list'), position: "relative", width: "100%", minW: 0, items: "center", gap: GAP, overflow: "hidden", onLayout: (e) => setAvail(e.nativeEvent.layout.width), onPointerEnter: () => setHot(true), onPointerLeave: () => setHot(false), onFocus: () => setHot(true), onBlur: () => setHot(false), ...props, children: [_jsx(XStack, { "aria-hidden": true, position: "absolute", t: 0, l: 0, opacity: 0, pointerEvents: "none", gap: GAP, ...{ inert: true }, children: items.map((item, i) => (_jsx(XStack, { shrink: 0, onLayout: measure(i), children: item }, item.key ?? i))) }), items.slice(0, visible).map((item, i) => (_jsx(XStack, { ...(i === visible - 1 ? { shrink: 1, minW: 0 } : { shrink: 0 }), children: item }, item.key ?? i))), hidden > 0 && showOverflowCount !== 'never' ? (_jsxs(Popover, { open: shown, onOpenChange: setOpen, placement: "bottom-start", children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(XStack, { ...slot('overflowing-list-count'), ...press(() => setOpen(!shown)), "aria-label":
|
|
76
|
+
return (_jsxs(XStack, { ...slot('overflowing-list'), position: "relative", width: "100%", minW: 0, items: "center", gap: GAP, overflow: "hidden", onLayout: (e) => setAvail(e.nativeEvent.layout.width), onPointerEnter: () => setHot(true), onPointerLeave: () => setHot(false), onFocus: () => setHot(true), onBlur: () => setHot(false), ...props, children: [_jsx(XStack, { "aria-hidden": true, position: "absolute", t: 0, l: 0, opacity: 0, pointerEvents: "none", gap: GAP, ...{ inert: true }, children: items.map((item, i) => (_jsx(XStack, { shrink: 0, onLayout: measure(i), children: item }, item.key ?? i))) }), items.slice(0, visible).map((item, i) => (_jsx(XStack, { ...(i === visible - 1 ? { shrink: 1, minW: 0 } : { shrink: 0 }), children: item }, item.key ?? i))), hidden > 0 && showOverflowCount !== 'never' ? (_jsxs(Popover, { open: shown, onOpenChange: setOpen, placement: "bottom-start", children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(XStack, { ...slot('overflowing-list-count'), ...press(() => setOpen(!shown)), "aria-label": t('{label} ({n})', { label: overflowLabel ?? t('Show all items'), n: items.length }), "aria-expanded": shown, shrink: 0, minW: COUNT_MIN, height: 20, px: "$1", items: "center", justify: "center", rounded: "$xs", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: RING, opacity: countShown ? 1 : 0, children: _jsx(SizableText, { size: "$1", color: "$ink", children: `+${hidden}` }) }) }), _jsx(PopoverContent, { p: "$2", minW: POPUP_MIN, style: { width: Math.max(POPUP_MIN, Math.round(avail ?? 0)) }, ...popupProps, children: _jsx(YStack, { ...slot('overflowing-list-popup'), maxH: 320, overflow: "scroll", children: _jsx(XStack, { flexWrap: "wrap", gap: GAP, children: items }) }) })] })) : null] }));
|
|
75
77
|
}
|
|
76
78
|
//# sourceMappingURL=overflowing-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflowing-list.js","sourceRoot":"","sources":["../../../src/backends/gui/overflowing-list.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAuC,MAAM,OAAO,CAAA;AACrH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,GAAG,GAAG,CAAC,CAAA;AACb,MAAM,SAAS,GAAG,EAAE,CAAA;AACpB,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAE,KAAa,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,GAAG,SAAS;IACxG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;QAClC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClE,IAAI,GAAG,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAoBD,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,cAAc,EACd,iBAAiB,GAAG,OAAO,EAC3B,aAAa,
|
|
1
|
+
{"version":3,"file":"overflowing-list.js","sourceRoot":"","sources":["../../../src/backends/gui/overflowing-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,24 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.PaginationEllipsis = exports.PaginationNext = exports.PaginationPrevious = exports.PaginationLink = exports.PaginationItem = exports.PaginationContent = exports.Pagination = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* Pagination — a trail of page links, framed as a navigation landmark.
|
|
8
|
+
*
|
|
9
|
+
* `Pagination` is a `<nav aria-label="pagination">` around `PaginationContent`,
|
|
10
|
+
* a real `<ul>` so a screen reader counts the pages the way it counts a list.
|
|
11
|
+
* `PaginationLink` wears the same `Button` frame every other control on the
|
|
12
|
+
* page wears — ghost for a page you can go to, outline for the one you are
|
|
13
|
+
* on — so the current page reads as pressed rather than as a colour choice.
|
|
14
|
+
* `PaginationPrevious`/`PaginationNext` are that link with an icon and a
|
|
15
|
+
* label; `PaginationEllipsis` is a decorative gap, `aria-hidden`, with its own
|
|
16
|
+
* "More pages" line for whoever is not looking at it.
|
|
17
|
+
*/
|
|
6
18
|
const gui_1 = require("@hanzo/gui");
|
|
7
19
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
20
|
+
const react_1 = require("@hanzo/i18n/react");
|
|
8
21
|
const button_1 = require("./button.cjs");
|
|
9
|
-
const slot_1 = require("./slot.cjs");
|
|
10
22
|
const dir_1 = require("./dir.cjs");
|
|
23
|
+
const slot_1 = require("./slot.cjs");
|
|
11
24
|
const ICON = 16;
|
|
12
25
|
const Nav = (0, gui_1.styled)(gui_1.XStack, {
|
|
13
26
|
name: 'Pagination',
|
|
@@ -15,7 +28,10 @@ const Nav = (0, gui_1.styled)(gui_1.XStack, {
|
|
|
15
28
|
width: '100%',
|
|
16
29
|
justify: 'center',
|
|
17
30
|
});
|
|
18
|
-
const Pagination = (props) =>
|
|
31
|
+
const Pagination = (props) => {
|
|
32
|
+
const { t } = (0, react_1.useI18n)();
|
|
33
|
+
return (0, jsx_runtime_1.jsx)(Nav, { ...(0, slot_1.slot)('pagination'), role: "navigation", "aria-label": t('pagination'), ...props });
|
|
34
|
+
};
|
|
19
35
|
exports.Pagination = Pagination;
|
|
20
36
|
const List = (0, gui_1.styled)(gui_1.XStack, {
|
|
21
37
|
name: 'PaginationContent',
|
|
@@ -24,20 +40,26 @@ const List = (0, gui_1.styled)(gui_1.XStack, {
|
|
|
24
40
|
items: 'center',
|
|
25
41
|
gap: '$1',
|
|
26
42
|
});
|
|
27
|
-
const PaginationContent = (props) => (
|
|
43
|
+
const PaginationContent = (props) => (0, jsx_runtime_1.jsx)(List, { ...(0, slot_1.slot)('pagination-content'), ...props });
|
|
28
44
|
exports.PaginationContent = PaginationContent;
|
|
29
45
|
const Item = (0, gui_1.styled)(gui_1.XStack, {
|
|
30
46
|
name: 'PaginationItem',
|
|
31
47
|
render: 'li',
|
|
32
48
|
});
|
|
33
|
-
const PaginationItem = (props) => (
|
|
49
|
+
const PaginationItem = (props) => (0, jsx_runtime_1.jsx)(Item, { ...(0, slot_1.slot)('pagination-item'), ...props });
|
|
34
50
|
exports.PaginationItem = PaginationItem;
|
|
35
51
|
/** One page number, or any other stop in the trail. Renders as an anchor. */
|
|
36
52
|
const PaginationLink = ({ isActive, size = 'icon', href, children, ...props }) => ((0, jsx_runtime_1.jsx)(button_1.Button, { asChild: true, ...(0, slot_1.slot)('pagination-link'), "data-active": isActive || undefined, "aria-current": isActive ? 'page' : undefined, variant: isActive ? 'outline' : 'ghost', size: size, ...props, children: (0, jsx_runtime_1.jsx)("a", { href: href, children: children }) }));
|
|
37
53
|
exports.PaginationLink = PaginationLink;
|
|
38
|
-
const PaginationPrevious = (props) =>
|
|
54
|
+
const PaginationPrevious = (props) => {
|
|
55
|
+
const { t } = (0, react_1.useI18n)();
|
|
56
|
+
return ((0, jsx_runtime_1.jsxs)(exports.PaginationLink, { "aria-label": t('Go to previous page'), size: "default", gap: "$1", paddingInlineStart: "$2.5", ...props, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronLeft, { ...dir_1.mirror, size: ICON }), t('Previous')] }));
|
|
57
|
+
};
|
|
39
58
|
exports.PaginationPrevious = PaginationPrevious;
|
|
40
|
-
const PaginationNext = (props) =>
|
|
59
|
+
const PaginationNext = (props) => {
|
|
60
|
+
const { t } = (0, react_1.useI18n)();
|
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(exports.PaginationLink, { "aria-label": t('Go to next page'), size: "default", gap: "$1", paddingInlineEnd: "$2.5", ...props, children: [t('Next'), (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronRight, { ...dir_1.mirror, size: ICON })] }));
|
|
62
|
+
};
|
|
41
63
|
exports.PaginationNext = PaginationNext;
|
|
42
64
|
const Ellipsis = (0, gui_1.styled)(gui_1.XStack, {
|
|
43
65
|
name: 'PaginationEllipsis',
|
|
@@ -48,5 +70,8 @@ const Ellipsis = (0, gui_1.styled)(gui_1.XStack, {
|
|
|
48
70
|
justify: 'center',
|
|
49
71
|
});
|
|
50
72
|
/** A gap too long to enumerate. Decorative — the count still comes from the list. */
|
|
51
|
-
const PaginationEllipsis = (props) =>
|
|
73
|
+
const PaginationEllipsis = (props) => {
|
|
74
|
+
const { t } = (0, react_1.useI18n)();
|
|
75
|
+
return ((0, jsx_runtime_1.jsxs)(Ellipsis, { ...(0, slot_1.slot)('pagination-ellipsis'), "aria-hidden": true, ...props, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.MoreHorizontal, { size: ICON }), (0, jsx_runtime_1.jsx)(gui_1.VisuallyHidden, { children: t('More pages') })] }));
|
|
76
|
+
};
|
|
52
77
|
exports.PaginationEllipsis = PaginationEllipsis;
|