@hanzo/ui 8.29.44 → 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 +13 -2
- package/dist/marketing/ClosingCta.d.ts +2 -1
- package/dist/marketing/ClosingCta.d.ts.map +1 -1
- package/dist/marketing/ClosingCta.js +13 -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 +5 -3
- package/dist/product/LimitedBanner.d.ts +10 -1
- package/dist/product/LimitedBanner.d.ts.map +1 -1
- package/dist/product/LimitedBanner.js +5 -3
- 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 +79 -32
- package/dist/product/limits.d.ts +7 -5
- package/dist/product/limits.d.ts.map +1 -1
- package/dist/product/limits.js +79 -32
- 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
|
@@ -2,42 +2,77 @@
|
|
|
2
2
|
'use client';
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Footer = void 0;
|
|
5
|
+
exports.HanzoFooterSignature = HanzoFooterSignature;
|
|
5
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
|
|
7
|
-
* Footer — the foot of a marketing page: a place to ask, the doors, the legal line.
|
|
8
|
-
*
|
|
9
|
-
* It shares the header's edges: the same side gutter, so the wordmark and the
|
|
10
|
-
* columns stand under the header's wordmark and nav with nothing between them
|
|
11
|
-
* to shift. `gutter` is that one number; a site passes the value its header uses.
|
|
12
|
-
*
|
|
13
|
-
* ask a slot above the columns for the site's composer, so it lives
|
|
14
|
-
* where a page ends and never floats over one.
|
|
15
|
-
* columns titled lists of links; a title may itself be a link.
|
|
16
|
-
* wordmark a slot at the far end of the last row; the copyright and the
|
|
17
|
-
* legal line share that row's start.
|
|
18
|
-
* after a slot under that row, inside the footer, for the site's own
|
|
19
|
-
* last line (its social links).
|
|
20
|
-
*
|
|
21
|
-
* It stands on the panel's ground ($panel), a step off the page's, so the page
|
|
22
|
-
* visibly ends where the footer begins.
|
|
23
|
-
*
|
|
24
|
-
* Plain anchors. A link that leaves the site opens a new tab and is marked with
|
|
25
|
-
* ↗ by the host's own data (`out`).
|
|
26
|
-
*/
|
|
7
|
+
const react_1 = require("react");
|
|
27
8
|
const gui_1 = require("@hanzo/gui");
|
|
9
|
+
const logo_1 = require("@hanzo/logo");
|
|
10
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
28
11
|
const slot_1 = require("../backends/gui/slot.cjs");
|
|
29
|
-
const type_1 = require("./type.cjs");
|
|
30
12
|
const icon_1 = require("../consent/icon.cjs");
|
|
31
|
-
const
|
|
13
|
+
const type_1 = require("./type.cjs");
|
|
14
|
+
const nav_1 = require("../masthead/nav.cjs");
|
|
32
15
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* centre line.
|
|
16
|
+
* The enormous closing signature. "hanzo" is real, selectable Zen typography,
|
|
17
|
+
* NOT a raster or outlined wordmark. Its punctuation is the canonical seven-path
|
|
18
|
+
* H from @hanzo/logo, held in the same baseline-relative flex lockup.
|
|
19
|
+
*
|
|
20
|
+
* This is opt-in: the marketing Footer is also used by non-Hanzo brands.
|
|
39
21
|
*/
|
|
22
|
+
function HanzoFooterSignature() {
|
|
23
|
+
const [highlight, setHighlight] = (0, react_1.useState)(false);
|
|
24
|
+
const openCompanyMenu = (e) => {
|
|
25
|
+
// Modifier-click retains the usual home link behavior.
|
|
26
|
+
if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey)
|
|
27
|
+
return;
|
|
28
|
+
// Masthead cancels the event when it opens the real Company menu.
|
|
29
|
+
// On a page with no Masthead, the link still goes to hanzo.ai.
|
|
30
|
+
if (!window.dispatchEvent(new Event(nav_1.COMPANY_MENU_EVENT, { cancelable: true }))) {
|
|
31
|
+
e.preventDefault();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)("a", { href: "https://hanzo.ai", "aria-label": "Open Hanzo company menu", onClick: openCompanyMenu, onPointerEnter: () => setHighlight(true), onPointerLeave: () => setHighlight(false), onFocus: () => setHighlight(true), onBlur: () => setHighlight(false), style: {
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'flex-end',
|
|
37
|
+
justifyContent: 'flex-start',
|
|
38
|
+
gap: 'clamp(4px, 0.5vw, 10px)',
|
|
39
|
+
width: 'max-content',
|
|
40
|
+
maxWidth: '100%',
|
|
41
|
+
// Glyphs must stay visible: the site may position this lockup at the
|
|
42
|
+
// bottom edge of a long footer and clipped ascenders look like a bar.
|
|
43
|
+
overflow: 'visible',
|
|
44
|
+
textDecoration: 'none',
|
|
45
|
+
fontFamily: 'var(--font-sans, ui-sans-serif, system-ui, sans-serif)',
|
|
46
|
+
// Preserve the giant signature without allowing 5 letters + H to
|
|
47
|
+
// overrun narrow viewports or small split-screen browser windows.
|
|
48
|
+
fontSize: 'clamp(64px, 23vw, 410px)',
|
|
49
|
+
fontWeight: 750,
|
|
50
|
+
letterSpacing: '-0.085em',
|
|
51
|
+
lineHeight: 1,
|
|
52
|
+
paddingTop: '0.025em',
|
|
53
|
+
paddingBottom: '0.04em',
|
|
54
|
+
color: 'var(--foreground)',
|
|
55
|
+
opacity: highlight ? 0.35 : 0.18,
|
|
56
|
+
transition: 'opacity 160ms ease',
|
|
57
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: { whiteSpace: 'nowrap', paddingInlineEnd: '0.04em' }, children: "hanzo" }), (0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: {
|
|
58
|
+
display: 'block',
|
|
59
|
+
flex: '0 0 auto',
|
|
60
|
+
width: '0.225em',
|
|
61
|
+
height: '0.225em',
|
|
62
|
+
marginBottom: '0.14em',
|
|
63
|
+
lineHeight: 0,
|
|
64
|
+
letterSpacing: 'normal',
|
|
65
|
+
}, children: (0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: logo_1.MARK_VIEWBOX, fill: "currentColor", focusable: "false", "aria-hidden": "true", style: { display: 'block', width: '100%', height: '100%' }, children: [logo_1.MARK_BLOCKS.map((d) => (0, jsx_runtime_1.jsx)("path", { d: d }, d)), logo_1.MARK_SHADE.map((d) => (0, jsx_runtime_1.jsx)("path", { d: d }, d))] }) })] }));
|
|
66
|
+
}
|
|
67
|
+
const open = (out) => (out ? { target: '_blank', rel: 'noopener noreferrer' } : {});
|
|
40
68
|
const LEGAL = { display: 'inline-flex', alignItems: 'center', gap: 6 };
|
|
41
|
-
const Door = ({ link }) =>
|
|
42
|
-
const
|
|
69
|
+
const Door = ({ link }) => {
|
|
70
|
+
const { t } = (0, react_2.useI18n)();
|
|
71
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.Anchor, { href: link.href, ...open(link.out), color: "$soft", fontSize: "$2", lineHeight: "$2", py: 3, textDecorationLine: "none", hoverStyle: { color: '$ink' }, children: [t(link.label), link.out ? ' ↗' : ''] }));
|
|
72
|
+
};
|
|
73
|
+
const Footer = ({ columns, ask, wordmark, signature, copyright, legal = [], social = [], gutter = 'clamp(20px, 4vw, 72px)', after, }) => {
|
|
74
|
+
const { t } = (0, react_2.useI18n)();
|
|
75
|
+
const closing = signature ?? wordmark;
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('footer'), render: "footer", width: "100%", bg: "$panel", borderTopWidth: 1, borderColor: "$edge", pt: 48, pb: 16, gap: 28, style: { paddingInline: gutter }, children: [ask ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { width: "100%", items: "center", children: ask }) : null, (0, jsx_runtime_1.jsx)(gui_1.XStack, { display: "grid", width: "100%", gridTemplateColumns: "repeat(2, minmax(0, 1fr))", columnGap: 22, rowGap: 32, $sm: { gridTemplateColumns: 'repeat(3, minmax(0, 1fr))' }, $lg: { gridTemplateColumns: 'repeat(6, minmax(0, 1fr))' }, children: columns.map((c) => ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { render: "nav", "aria-label": t(c.title), minW: 0, gap: 2, children: [c.href ? ((0, jsx_runtime_1.jsxs)(gui_1.Anchor, { href: c.href, ...open(c.out), color: "$ink", fontSize: "$2", lineHeight: "$2", fontWeight: "600", pb: 10, textDecorationLine: "none", children: [t(c.title), c.out ? ' ↗' : ''] })) : ((0, jsx_runtime_1.jsx)(type_1.Line, { size: "sm", weight: "600", pb: 10, children: t(c.title) })), (0, jsx_runtime_1.jsx)(gui_1.YStack, { children: c.links.map((l) => (0, jsx_runtime_1.jsx)(Door, { link: l }, l.href + l.label)) })] }, c.id))) }), (social.length > 0 || after) ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { borderTopWidth: 1, borderColor: "$edge", pt: 18, gap: 8, children: [social.length > 0 ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { render: "nav", "aria-label": t('Social links'), flexWrap: "wrap", gap: 18, rowGap: 6, children: social.map((l) => (0, jsx_runtime_1.jsx)(Door, { link: l }, l.href + l.label)) })) : null, after] })) : null, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { borderTopWidth: 1, borderColor: "$edge", pt: 16, flexWrap: "wrap", items: "center", gap: 16, rowGap: 8, children: [copyright ? (0, jsx_runtime_1.jsx)(type_1.Line, { size: "sm", tone: "dim", children: copyright }) : null, (0, jsx_runtime_1.jsx)(gui_1.XStack, { render: "nav", "aria-label": t('Terms & Policies'), flexWrap: "wrap", gap: 16, rowGap: 8, shrink: 1, minW: 0, children: legal.map((l) => ((0, jsx_runtime_1.jsxs)(gui_1.Anchor, { href: l.href, ...open(l.out), color: "$faint", fontSize: "$2", lineHeight: "$2", textDecorationLine: "none", hoverStyle: { color: '$ink' }, ...LEGAL, children: [l.href.endsWith('#choices') ? (0, jsx_runtime_1.jsx)(icon_1.PrivacyChoicesIcon, {}) : null, t(l.label)] }, l.href + l.label))) })] }), closing ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { width: "100%", pt: 4, minW: 0, children: closing }) : null] }));
|
|
77
|
+
};
|
|
43
78
|
exports.Footer = Footer;
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The enormous closing signature. "hanzo" is real, selectable Zen typography,
|
|
4
|
+
* NOT a raster or outlined wordmark. Its punctuation is the canonical seven-path
|
|
5
|
+
* H from @hanzo/logo, held in the same baseline-relative flex lockup.
|
|
6
|
+
*
|
|
7
|
+
* This is opt-in: the marketing Footer is also used by non-Hanzo brands.
|
|
8
|
+
*/
|
|
9
|
+
export declare function HanzoFooterSignature(): import("react").JSX.Element;
|
|
2
10
|
export type FooterLink = {
|
|
3
11
|
label: string;
|
|
4
12
|
href: string;
|
|
@@ -14,14 +22,18 @@ export type FooterColumn = {
|
|
|
14
22
|
export type FooterProps = {
|
|
15
23
|
columns: readonly FooterColumn[];
|
|
16
24
|
ask?: ReactNode;
|
|
25
|
+
/** Backwards-compatible closing lockup slot; render this AFTER legal/social. */
|
|
17
26
|
wordmark?: ReactNode;
|
|
27
|
+
/** Explicit closing signature; takes precedence over wordmark when supplied. */
|
|
28
|
+
signature?: ReactNode;
|
|
18
29
|
copyright?: ReactNode;
|
|
19
30
|
legal?: readonly FooterLink[];
|
|
20
|
-
/**
|
|
31
|
+
/** Social destinations are separate from legal links. Only pass verified URLs. */
|
|
32
|
+
social?: readonly FooterLink[];
|
|
21
33
|
gutter?: string;
|
|
22
|
-
/**
|
|
34
|
+
/** Legacy custom social content. Rendered above legal and signature. */
|
|
23
35
|
after?: ReactNode;
|
|
24
36
|
};
|
|
25
|
-
declare const Footer: ({ columns, ask, wordmark, copyright, legal, gutter, after }: FooterProps) => import("react").JSX.Element;
|
|
37
|
+
declare const Footer: ({ columns, ask, wordmark, signature, copyright, legal, social, gutter, after, }: FooterProps) => import("react").JSX.Element;
|
|
26
38
|
export { Footer };
|
|
27
39
|
//# sourceMappingURL=Footer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/marketing/Footer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/marketing/Footer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUjE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,gCA4EnC;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AACvE,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IAChC,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,gFAAgF;IAChF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC7B,kFAAkF;IAClF,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAwBD,QAAA,MAAM,MAAM,oFAGT,WAAW,gCA0Fb,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/marketing/Footer.js
CHANGED
|
@@ -1,41 +1,75 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
* Footer — the foot of a marketing page: a place to ask, the doors, the legal line.
|
|
5
|
-
*
|
|
6
|
-
* It shares the header's edges: the same side gutter, so the wordmark and the
|
|
7
|
-
* columns stand under the header's wordmark and nav with nothing between them
|
|
8
|
-
* to shift. `gutter` is that one number; a site passes the value its header uses.
|
|
9
|
-
*
|
|
10
|
-
* ask a slot above the columns for the site's composer, so it lives
|
|
11
|
-
* where a page ends and never floats over one.
|
|
12
|
-
* columns titled lists of links; a title may itself be a link.
|
|
13
|
-
* wordmark a slot at the far end of the last row; the copyright and the
|
|
14
|
-
* legal line share that row's start.
|
|
15
|
-
* after a slot under that row, inside the footer, for the site's own
|
|
16
|
-
* last line (its social links).
|
|
17
|
-
*
|
|
18
|
-
* It stands on the panel's ground ($panel), a step off the page's, so the page
|
|
19
|
-
* visibly ends where the footer begins.
|
|
20
|
-
*
|
|
21
|
-
* Plain anchors. A link that leaves the site opens a new tab and is marked with
|
|
22
|
-
* ↗ by the host's own data (`out`).
|
|
23
|
-
*/
|
|
3
|
+
import { useState } from 'react';
|
|
24
4
|
import { Anchor, XStack, YStack } from '@hanzo/gui';
|
|
5
|
+
import { MARK_BLOCKS, MARK_SHADE, MARK_VIEWBOX } from '@hanzo/logo';
|
|
6
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
25
7
|
import { slot } from '../backends/gui/slot.js';
|
|
26
|
-
import { Line } from './type.js';
|
|
27
8
|
import { PrivacyChoicesIcon } from '../consent/icon.js';
|
|
28
|
-
|
|
9
|
+
import { Line } from './type.js';
|
|
10
|
+
import { COMPANY_MENU_EVENT } from '../masthead/nav.js';
|
|
29
11
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* centre line.
|
|
12
|
+
* The enormous closing signature. "hanzo" is real, selectable Zen typography,
|
|
13
|
+
* NOT a raster or outlined wordmark. Its punctuation is the canonical seven-path
|
|
14
|
+
* H from @hanzo/logo, held in the same baseline-relative flex lockup.
|
|
15
|
+
*
|
|
16
|
+
* This is opt-in: the marketing Footer is also used by non-Hanzo brands.
|
|
36
17
|
*/
|
|
18
|
+
export function HanzoFooterSignature() {
|
|
19
|
+
const [highlight, setHighlight] = useState(false);
|
|
20
|
+
const openCompanyMenu = (e) => {
|
|
21
|
+
// Modifier-click retains the usual home link behavior.
|
|
22
|
+
if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey)
|
|
23
|
+
return;
|
|
24
|
+
// Masthead cancels the event when it opens the real Company menu.
|
|
25
|
+
// On a page with no Masthead, the link still goes to hanzo.ai.
|
|
26
|
+
if (!window.dispatchEvent(new Event(COMPANY_MENU_EVENT, { cancelable: true }))) {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return (_jsxs("a", { href: "https://hanzo.ai", "aria-label": "Open Hanzo company menu", onClick: openCompanyMenu, onPointerEnter: () => setHighlight(true), onPointerLeave: () => setHighlight(false), onFocus: () => setHighlight(true), onBlur: () => setHighlight(false), style: {
|
|
31
|
+
display: 'flex',
|
|
32
|
+
alignItems: 'flex-end',
|
|
33
|
+
justifyContent: 'flex-start',
|
|
34
|
+
gap: 'clamp(4px, 0.5vw, 10px)',
|
|
35
|
+
width: 'max-content',
|
|
36
|
+
maxWidth: '100%',
|
|
37
|
+
// Glyphs must stay visible: the site may position this lockup at the
|
|
38
|
+
// bottom edge of a long footer and clipped ascenders look like a bar.
|
|
39
|
+
overflow: 'visible',
|
|
40
|
+
textDecoration: 'none',
|
|
41
|
+
fontFamily: 'var(--font-sans, ui-sans-serif, system-ui, sans-serif)',
|
|
42
|
+
// Preserve the giant signature without allowing 5 letters + H to
|
|
43
|
+
// overrun narrow viewports or small split-screen browser windows.
|
|
44
|
+
fontSize: 'clamp(64px, 23vw, 410px)',
|
|
45
|
+
fontWeight: 750,
|
|
46
|
+
letterSpacing: '-0.085em',
|
|
47
|
+
lineHeight: 1,
|
|
48
|
+
paddingTop: '0.025em',
|
|
49
|
+
paddingBottom: '0.04em',
|
|
50
|
+
color: 'var(--foreground)',
|
|
51
|
+
opacity: highlight ? 0.35 : 0.18,
|
|
52
|
+
transition: 'opacity 160ms ease',
|
|
53
|
+
}, children: [_jsx("span", { "aria-hidden": "true", style: { whiteSpace: 'nowrap', paddingInlineEnd: '0.04em' }, children: "hanzo" }), _jsx("span", { "aria-hidden": "true", style: {
|
|
54
|
+
display: 'block',
|
|
55
|
+
flex: '0 0 auto',
|
|
56
|
+
width: '0.225em',
|
|
57
|
+
height: '0.225em',
|
|
58
|
+
marginBottom: '0.14em',
|
|
59
|
+
lineHeight: 0,
|
|
60
|
+
letterSpacing: 'normal',
|
|
61
|
+
}, children: _jsxs("svg", { width: "100%", height: "100%", viewBox: MARK_VIEWBOX, fill: "currentColor", focusable: "false", "aria-hidden": "true", style: { display: 'block', width: '100%', height: '100%' }, children: [MARK_BLOCKS.map((d) => _jsx("path", { d: d }, d)), MARK_SHADE.map((d) => _jsx("path", { d: d }, d))] }) })] }));
|
|
62
|
+
}
|
|
63
|
+
const open = (out) => (out ? { target: '_blank', rel: 'noopener noreferrer' } : {});
|
|
37
64
|
const LEGAL = { display: 'inline-flex', alignItems: 'center', gap: 6 };
|
|
38
|
-
const Door = ({ link }) =>
|
|
39
|
-
const
|
|
65
|
+
const Door = ({ link }) => {
|
|
66
|
+
const { t } = useI18n();
|
|
67
|
+
return (_jsxs(Anchor, { href: link.href, ...open(link.out), color: "$soft", fontSize: "$2", lineHeight: "$2", py: 3, textDecorationLine: "none", hoverStyle: { color: '$ink' }, children: [t(link.label), link.out ? ' ↗' : ''] }));
|
|
68
|
+
};
|
|
69
|
+
const Footer = ({ columns, ask, wordmark, signature, copyright, legal = [], social = [], gutter = 'clamp(20px, 4vw, 72px)', after, }) => {
|
|
70
|
+
const { t } = useI18n();
|
|
71
|
+
const closing = signature ?? wordmark;
|
|
72
|
+
return (_jsxs(YStack, { ...slot('footer'), render: "footer", width: "100%", bg: "$panel", borderTopWidth: 1, borderColor: "$edge", pt: 48, pb: 16, gap: 28, style: { paddingInline: gutter }, children: [ask ? _jsx(YStack, { width: "100%", items: "center", children: ask }) : null, _jsx(XStack, { display: "grid", width: "100%", gridTemplateColumns: "repeat(2, minmax(0, 1fr))", columnGap: 22, rowGap: 32, $sm: { gridTemplateColumns: 'repeat(3, minmax(0, 1fr))' }, $lg: { gridTemplateColumns: 'repeat(6, minmax(0, 1fr))' }, children: columns.map((c) => (_jsxs(YStack, { render: "nav", "aria-label": t(c.title), minW: 0, gap: 2, children: [c.href ? (_jsxs(Anchor, { href: c.href, ...open(c.out), color: "$ink", fontSize: "$2", lineHeight: "$2", fontWeight: "600", pb: 10, textDecorationLine: "none", children: [t(c.title), c.out ? ' ↗' : ''] })) : (_jsx(Line, { size: "sm", weight: "600", pb: 10, children: t(c.title) })), _jsx(YStack, { children: c.links.map((l) => _jsx(Door, { link: l }, l.href + l.label)) })] }, c.id))) }), (social.length > 0 || after) ? (_jsxs(YStack, { borderTopWidth: 1, borderColor: "$edge", pt: 18, gap: 8, children: [social.length > 0 ? (_jsx(XStack, { render: "nav", "aria-label": t('Social links'), flexWrap: "wrap", gap: 18, rowGap: 6, children: social.map((l) => _jsx(Door, { link: l }, l.href + l.label)) })) : null, after] })) : null, _jsxs(XStack, { borderTopWidth: 1, borderColor: "$edge", pt: 16, flexWrap: "wrap", items: "center", gap: 16, rowGap: 8, children: [copyright ? _jsx(Line, { size: "sm", tone: "dim", children: copyright }) : null, _jsx(XStack, { render: "nav", "aria-label": t('Terms & Policies'), flexWrap: "wrap", gap: 16, rowGap: 8, shrink: 1, minW: 0, children: legal.map((l) => (_jsxs(Anchor, { href: l.href, ...open(l.out), color: "$faint", fontSize: "$2", lineHeight: "$2", textDecorationLine: "none", hoverStyle: { color: '$ink' }, ...LEGAL, children: [l.href.endsWith('#choices') ? _jsx(PrivacyChoicesIcon, {}) : null, t(l.label)] }, l.href + l.label))) })] }), closing ? _jsx(YStack, { width: "100%", pt: 4, minW: 0, children: closing }) : null] }));
|
|
73
|
+
};
|
|
40
74
|
export { Footer };
|
|
41
75
|
//# sourceMappingURL=Footer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/marketing/Footer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/marketing/Footer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
15
15
|
* `role="status"` with a label, because the spinner itself is `aria-hidden`.
|
|
16
16
|
*/
|
|
17
17
|
const gui_1 = require("@hanzo/gui");
|
|
18
|
+
const react_1 = require("@hanzo/i18n/react");
|
|
18
19
|
const slot_1 = require("../backends/gui/slot.cjs");
|
|
19
20
|
const spinner_1 = require("../backends/gui/spinner.cjs");
|
|
20
|
-
const PageLoading = ({ label
|
|
21
|
+
const PageLoading = ({ label, ...p }) => {
|
|
22
|
+
const { t } = (0, react_1.useI18n)();
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('page-loading'), role: "status", "aria-label": label ?? t('Loading'), width: "100%", minH: "100dvh", items: "center", justify: "center", ...p, children: (0, jsx_runtime_1.jsx)(spinner_1.Spinner, { size: 28, color: "var(--quiet, currentColor)" }) }));
|
|
24
|
+
};
|
|
21
25
|
exports.PageLoading = PageLoading;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { YStack } from '@hanzo/gui';
|
|
13
13
|
import type { ComponentProps } from 'react';
|
|
14
14
|
export type PageLoadingProps = Omit<ComponentProps<typeof YStack>, 'children'> & {
|
|
15
|
-
/** What assistive tech hears. */
|
|
15
|
+
/** What assistive tech hears; absent, "Loading" in the reader's language. */
|
|
16
16
|
label?: string;
|
|
17
17
|
};
|
|
18
18
|
declare const PageLoading: ({ label, ...p }: PageLoadingProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageLoading.d.ts","sourceRoot":"","sources":["../../src/marketing/PageLoading.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"PageLoading.d.ts","sourceRoot":"","sources":["../../src/marketing/PageLoading.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAK3C,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC/E,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,QAAA,MAAM,WAAW,oBAAqB,gBAAgB,gCAgBrD,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -12,8 +12,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
12
12
|
* `role="status"` with a label, because the spinner itself is `aria-hidden`.
|
|
13
13
|
*/
|
|
14
14
|
import { YStack } from '@hanzo/gui';
|
|
15
|
+
import { useI18n } from '@hanzo/i18n/react';
|
|
15
16
|
import { slot } from '../backends/gui/slot.js';
|
|
16
17
|
import { Spinner } from '../backends/gui/spinner.js';
|
|
17
|
-
const PageLoading = ({ label
|
|
18
|
+
const PageLoading = ({ label, ...p }) => {
|
|
19
|
+
const { t } = useI18n();
|
|
20
|
+
return (_jsx(YStack, { ...slot('page-loading'), role: "status", "aria-label": label ?? t('Loading'), width: "100%", minH: "100dvh", items: "center", justify: "center", ...p, children: _jsx(Spinner, { size: 28, color: "var(--quiet, currentColor)" }) }));
|
|
21
|
+
};
|
|
18
22
|
export { PageLoading };
|
|
19
23
|
//# sourceMappingURL=PageLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageLoading.js","sourceRoot":"","sources":["../../src/marketing/PageLoading.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"PageLoading.js","sourceRoot":"","sources":["../../src/marketing/PageLoading.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAOjD,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAoB,EAAE,EAAE;IACxD,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,OAAO,CACP,KAAC,MAAM,OACD,IAAI,CAAC,cAAc,CAAC,EACxB,IAAI,EAAC,QAAQ,gBACD,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,EACjC,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,KACX,CAAY,YAEjB,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,4BAA4B,GAAG,GACjD,CACR,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/marketing/Plans.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Plans = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
6
7
|
/**
|
|
7
8
|
* Plans — one card per plan on the chosen tab, each with its own way in.
|
|
8
9
|
*
|
|
@@ -21,8 +22,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
21
22
|
* a card's button is pressed.
|
|
22
23
|
*/
|
|
23
24
|
const gui_1 = require("@hanzo/gui");
|
|
25
|
+
const i18n_1 = require("@hanzo/i18n");
|
|
26
|
+
const react_2 = require("@hanzo/i18n/react");
|
|
24
27
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
25
|
-
const react_1 = require("react");
|
|
26
28
|
const slot_1 = require("../backends/gui/slot.cjs");
|
|
27
29
|
const switch_1 = require("../backends/gui/switch.cjs");
|
|
28
30
|
const toggle_group_1 = require("../backends/gui/toggle-group.cjs");
|
|
@@ -32,12 +34,13 @@ const rows_1 = require("./rows.cjs");
|
|
|
32
34
|
const type_1 = require("./type.cjs");
|
|
33
35
|
const TIGHT = { letterSpacing: '-0.012em', textWrap: 'balance' };
|
|
34
36
|
const TABS = [
|
|
35
|
-
['individual', 'Individual'],
|
|
36
|
-
['team', 'Team & Enterprise'],
|
|
37
|
+
['individual', (0, i18n_1.phrase)('Individual')],
|
|
38
|
+
['team', (0, i18n_1.phrase)('Team & Enterprise')],
|
|
37
39
|
];
|
|
38
40
|
/** The plan families the ladder sells. */
|
|
39
41
|
const FAMILIES = new Set(['personal', 'team', 'enterprise']);
|
|
40
|
-
const Plans = ({ plans, heading = 'h1', title
|
|
42
|
+
const Plans = ({ plans, heading = 'h1', title, checkout, signIn = '/login', cta, contactHref = '/contact-sales', onView, onChoose, footnote, }) => {
|
|
43
|
+
const { t } = (0, react_2.useI18n)();
|
|
41
44
|
const all = (0, react_1.useMemo)(() => plans.filter((p) => FAMILIES.has(p.category)), [plans]);
|
|
42
45
|
const tabs = TABS.filter(([a]) => all.some((p) => (0, rows_1.audience)(p) === a));
|
|
43
46
|
const [picked, setPicked] = (0, react_1.useState)('individual');
|
|
@@ -46,7 +49,7 @@ const Plans = ({ plans, heading = 'h1', title = 'Plans that grow with you', chec
|
|
|
46
49
|
const { plans: here, from } = (0, react_1.useMemo)(() => (0, rows_1.merged)(all.filter((p) => (0, rows_1.audience)(p) === tab)), [all, tab]);
|
|
47
50
|
const savings = here.map(rows_1.saving).filter((n) => n !== null);
|
|
48
51
|
const most = savings.length ? Math.max(...savings) : 0;
|
|
49
|
-
const label = savings.every((n) => n === most) ?
|
|
52
|
+
const label = savings.every((n) => n === most) ? t('Save {n}% with annual', { n: most }) : t('Save up to {n}% with annual', { n: most });
|
|
50
53
|
// One view per tab a reader looks at; a repaint of the same rows is not a new view.
|
|
51
54
|
const shown = here.map((p) => p.id).join();
|
|
52
55
|
(0, react_1.useEffect)(() => {
|
|
@@ -60,21 +63,34 @@ const Plans = ({ plans, heading = 'h1', title = 'Plans that grow with you', chec
|
|
|
60
63
|
? `${signIn}?next=${encodeURIComponent(checkout(p, (0, rows_1.termOf)(p, yearly)).replace(/^https:\/\/hanzo\.ai(?=\/)/, ''))}`
|
|
61
64
|
: (0, rows_1.way)(p) === 'free'
|
|
62
65
|
? signIn
|
|
63
|
-
: contactHref, cta: cta, onPress: (cta) => onChoose?.({ plan: p, interval: (0, rows_1.termOf)(p, yearly), tab, cta, way: (0, rows_1.way)(p) }) }, p.id));
|
|
64
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('plans'), render: "section", width: "100%", maxW: 1280, mx: "auto", gap: "$8", items: "center", px: "$6", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { items: "center", gap: "$3", maxW: 768, children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: heading, m: 0, align: "center", fontFamily: "$heading", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title }), (0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "lg", tone: "muted", align: "center", children:
|
|
66
|
+
: contactHref, cta: cta ?? t('Try Hanzo'), onPress: (cta) => onChoose?.({ plan: p, interval: (0, rows_1.termOf)(p, yearly), tab, cta, way: (0, rows_1.way)(p) }) }, p.id));
|
|
67
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('plans'), render: "section", width: "100%", maxW: 1280, mx: "auto", gap: "$8", items: "center", px: "$6", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { items: "center", gap: "$3", maxW: 768, children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: heading, m: 0, align: "center", fontFamily: "$heading", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title ?? t('Plans that grow with you') }), (0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "lg", tone: "muted", align: "center", children: `${t('You are charged exactly the price shown.')} ${t('Past a plan’s included usage, agents are metered at the rates below.')}` })] }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { flexWrap: "wrap", items: "center", justify: "center", gap: "$4", children: [tabs.length > 1 ? ((0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroup, { type: "single", value: tab, onValueChange: (v) => {
|
|
65
68
|
if (v)
|
|
66
69
|
setPicked(v);
|
|
67
|
-
}, disableDeactivation: true, "aria-label":
|
|
70
|
+
}, disableDeactivation: true, "aria-label": t('Who this is for'), style: { padding: 4, borderRadius: 9999, background: 'var(--surface-2)' }, children: tabs.map(([a, name]) => ((0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroupItem, { value: a, variant: "outline", rounded: "$10", borderColor: "transparent", px: "$4", children: t(name) }, a))) })) : null, most > 0 ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { render: "label", items: "center", gap: "$3", paddingInlineStart: "$5", paddingInlineEnd: "$3", py: "$2", rounded: 9999, borderWidth: 1, borderColor: "$edge", bg: "$panel", cursor: "pointer", children: [(0, jsx_runtime_1.jsx)(type_1.Line, { size: "sm", tone: "muted", children: label }), (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: yearly, onCheckedChange: setYearly, "aria-label": t('Bill yearly') })] })) : null] }), here.length > 1 ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { width: "100%", children: (0, jsx_runtime_1.jsx)(grid_1.Grid, { columns: { min: 250, max: 4 }, gap: 24, children: here.map(card) }) })) : here[0] ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { width: "100%", maxW: 440, children: card(here[0]) })) : null, footnote ? ((0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "xs", tone: "muted", align: "center", maxW: 620, children: footnote })) : null] }));
|
|
68
71
|
};
|
|
69
72
|
exports.Plans = Plans;
|
|
70
73
|
/** One plan: its name, its price for the term, the way in, and what it includes. */
|
|
71
74
|
function Card({ plan, every, href, cta: label, from, team, onPress, }) {
|
|
75
|
+
const { t } = (0, react_2.useI18n)();
|
|
72
76
|
const how = (0, rows_1.way)(plan);
|
|
73
77
|
const year = (0, rows_1.charge)(plan, 'year');
|
|
74
78
|
// A year is headlined as the month it works out to, with the whole year under it.
|
|
75
79
|
const headline = every === 'year' && year ? Math.round((year / 12) * 100) / 100 : (plan.priceMonthly ?? 0);
|
|
76
80
|
const floor = (0, rows_1.seats)(plan);
|
|
77
81
|
// Team and Enterprise name the plan; everyone else is one button.
|
|
78
|
-
const cta = team ?
|
|
79
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('plan'), render: "section", "aria-label": plan.name, height: "100%", gap: "$5", p: "$5", $sm: { p: '$6' }, rounded: "var(--radius-xl)", borderWidth: 1, borderColor: plan.popular ? '$bound' : '$edge', bg: plan.popular ? '$hover' : '$panel', children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$2", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "space-between", gap: "$3", children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: "h3", m: 0, size: "xl", weight: "600", children: plan.name }), plan.popular ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('plan-badge'), display: "inline-flex", self: "flex-start", items: "center", px: "$2", py: 2, rounded: 9999, borderWidth: 1, borderColor: "$edge", bg: "$raised", children: (0, jsx_runtime_1.jsx)(type_1.Line, { fontSize: 10, px: 10, tone: "soft", weight: "700", style: { textTransform: 'uppercase', letterSpacing: '0.05em' }, children:
|
|
82
|
+
const cta = team ? t('Get {plan} plan', { plan: plan.name }) : label;
|
|
83
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('plan'), render: "section", "aria-label": plan.name, height: "100%", gap: "$5", p: "$5", $sm: { p: '$6' }, rounded: "var(--radius-xl)", borderWidth: 1, borderColor: plan.popular ? '$bound' : '$edge', bg: plan.popular ? '$hover' : '$panel', children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$2", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "space-between", gap: "$3", children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: "h3", m: 0, size: "xl", weight: "600", children: plan.name }), plan.popular ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('plan-badge'), display: "inline-flex", self: "flex-start", items: "center", px: "$2", py: 2, rounded: 9999, borderWidth: 1, borderColor: "$edge", bg: "$raised", children: (0, jsx_runtime_1.jsx)(type_1.Line, { fontSize: 10, px: 10, tone: "soft", weight: "700", style: { textTransform: 'uppercase', letterSpacing: '0.05em' }, children: t('Most popular') }) })) : null] }), plan.description ? ((0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "sm", tone: "muted", children: plan.description })) : null] }), (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: how === 'card' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { display: "block", children: (0, jsx_runtime_1.jsx)(type_1.Line, { size: "sm", tone: "muted", children: t(from
|
|
84
|
+
? plan.pricePerUser
|
|
85
|
+
? 'From {price} USD/seat/month'
|
|
86
|
+
: 'From {price} USD/month'
|
|
87
|
+
: plan.pricePerUser
|
|
88
|
+
? '{price} USD/seat/month'
|
|
89
|
+
: '{price} USD/month', {
|
|
90
|
+
price: ((0, jsx_runtime_1.jsx)(type_1.Line, { size: "x4", weight: "600", children: (0, rows_1.money)(headline) })),
|
|
91
|
+
}) }) }), (0, jsx_runtime_1.jsxs)(type_1.Line, { render: "p", m: 0, size: "sm", tone: "muted", children: [every === 'year' && year
|
|
92
|
+
? plan.pricePerUser
|
|
93
|
+
? t('Billed {price} per seat yearly', { price: (0, rows_1.money)(year) })
|
|
94
|
+
: t('Billed {price} yearly', { price: (0, rows_1.money)(year) })
|
|
95
|
+
: t('Billed monthly'), floor > 1 ? ` · ${t('from {n} seats', { n: floor })}` : ''] })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(type_1.Line, { size: "x4", weight: "600", children: how === 'free' ? t('Free') : t('Custom') }), (0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "sm", tone: "muted", children: how === 'free' ? t('No card needed') : t('Priced with our team') })] })) }), (0, jsx_runtime_1.jsx)(Cta_1.Cta, { href: href, "data-ga": true, onPress: () => onPress(cta), children: cta }), how === 'card' ? ((0, jsx_runtime_1.jsx)(type_1.Line, { render: "p", m: 0, size: "xs", tone: "muted", align: "center", mt: -12, children: t('No commitment · Cancel anytime') })) : null, plan.features.length ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { render: "ul", gap: "$3", m: 0, p: 0, style: { listStyle: 'none' }, children: plan.features.map((f) => ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { render: "li", items: "flex-start", gap: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { shrink: 0, mt: 3, "aria-hidden": true, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, color: "var(--primary)" }) }), (0, jsx_runtime_1.jsx)(type_1.Line, { size: "sm", tone: "muted", children: f })] }, f))) })) : null] }));
|
|
80
96
|
}
|
|
@@ -11,12 +11,13 @@ export type PlansProps = {
|
|
|
11
11
|
plans: readonly PlanRow[];
|
|
12
12
|
/** The level the title is drawn at: `h1` alone on a page, `h2` inside one. */
|
|
13
13
|
heading?: 'h1' | 'h2';
|
|
14
|
+
/** The heading; absent, "Plans that grow with you" in the reader's language. */
|
|
14
15
|
title?: string;
|
|
15
16
|
/** The address a paid plan's button opens, for the term on the card. */
|
|
16
17
|
checkout: (plan: PlanRow, interval: Interval) => string;
|
|
17
18
|
/** Where every card starts: sign-in first, payment second. A paid card opens it with `?next=<checkout>`. */
|
|
18
19
|
signIn?: string;
|
|
19
|
-
/** What every way in says. */
|
|
20
|
+
/** What every way in says; absent, "Try Hanzo" in the reader's language. */
|
|
20
21
|
cta?: string;
|
|
21
22
|
contactHref?: string;
|
|
22
23
|
onView?: (tab: Audience, shown: readonly {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plans.d.ts","sourceRoot":"","sources":["../../src/marketing/Plans.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Plans.d.ts","sourceRoot":"","sources":["../../src/marketing/Plans.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AA4BpE,OAAO,EAA+D,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAA;AAahI,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IACzB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACrB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAA;IACvD,4GAA4G;IAC5G,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,EAAE,KAAK,IAAI,CAAA;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IACvC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,KAAK,+FAWR,UAAU,gCAiHZ,CAAA;AA6HD,OAAO,EAAE,KAAK,EAAE,CAAA"}
|