@hanzo/ui 8.29.10 → 8.29.11
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 +1 -1
- package/dist/agents/Attachments.js +1 -1
- package/dist/agents/Attachments.js.map +1 -1
- package/dist/agents/Board.cjs +3 -2
- package/dist/agents/Board.d.ts.map +1 -1
- package/dist/agents/Board.js +3 -2
- package/dist/agents/Board.js.map +1 -1
- package/dist/agents/ChannelMembers.cjs +1 -1
- package/dist/agents/ChannelMembers.js +1 -1
- package/dist/agents/ChannelMembers.js.map +1 -1
- package/dist/agents/DirectoryModal.cjs +1 -1
- package/dist/agents/DirectoryModal.js +1 -1
- package/dist/agents/DirectoryModal.js.map +1 -1
- package/dist/agents/DriveViewer.cjs +6 -5
- package/dist/agents/DriveViewer.d.ts.map +1 -1
- package/dist/agents/DriveViewer.js +6 -5
- package/dist/agents/DriveViewer.js.map +1 -1
- package/dist/agents/FileTabs.cjs +5 -3
- package/dist/agents/FileTabs.d.ts.map +1 -1
- package/dist/agents/FileTabs.js +5 -3
- package/dist/agents/FileTabs.js.map +1 -1
- package/dist/agents/FileTree.cjs +3 -2
- package/dist/agents/FileTree.d.ts.map +1 -1
- package/dist/agents/FileTree.js +3 -2
- package/dist/agents/FileTree.js.map +1 -1
- package/dist/agents/LiveVoiceCall.cjs +1 -1
- package/dist/agents/LiveVoiceCall.js +1 -1
- package/dist/agents/LiveVoiceCall.js.map +1 -1
- package/dist/agents/Pane.cjs +1 -1
- package/dist/agents/Pane.js +1 -1
- package/dist/agents/Pane.js.map +1 -1
- package/dist/agents/Progress.cjs +2 -1
- package/dist/agents/Progress.d.ts.map +1 -1
- package/dist/agents/Progress.js +2 -1
- package/dist/agents/Progress.js.map +1 -1
- package/dist/agents/ShortcutsSheet.cjs +1 -1
- package/dist/agents/ShortcutsSheet.js +1 -1
- package/dist/agents/ShortcutsSheet.js.map +1 -1
- package/dist/agents/Workspace.cjs +6 -4
- package/dist/agents/Workspace.d.ts.map +1 -1
- package/dist/agents/Workspace.js +6 -4
- package/dist/agents/Workspace.js.map +1 -1
- package/dist/auth/SignIn.cjs +2 -1
- package/dist/auth/SignIn.d.ts.map +1 -1
- package/dist/auth/SignIn.js +2 -1
- package/dist/auth/SignIn.js.map +1 -1
- package/dist/backends/gui/alert.cjs +3 -3
- package/dist/backends/gui/alert.js +3 -3
- package/dist/backends/gui/alert.js.map +1 -1
- package/dist/backends/gui/avatar-group.cjs +2 -2
- package/dist/backends/gui/avatar-group.d.ts +1 -1
- package/dist/backends/gui/avatar-group.js +2 -2
- package/dist/backends/gui/avatar-group.js.map +1 -1
- package/dist/backends/gui/banner.cjs +3 -3
- package/dist/backends/gui/banner.js +3 -3
- package/dist/backends/gui/banner.js.map +1 -1
- package/dist/backends/gui/button-group.cjs +1 -1
- package/dist/backends/gui/button-group.js +1 -1
- package/dist/backends/gui/button-group.js.map +1 -1
- package/dist/backends/gui/calendar.cjs +4 -2
- package/dist/backends/gui/calendar.d.ts.map +1 -1
- package/dist/backends/gui/calendar.js +4 -2
- package/dist/backends/gui/calendar.js.map +1 -1
- package/dist/backends/gui/carousel.cjs +4 -3
- package/dist/backends/gui/carousel.d.ts.map +1 -1
- package/dist/backends/gui/carousel.js +4 -3
- package/dist/backends/gui/carousel.js.map +1 -1
- package/dist/backends/gui/chip.cjs +1 -1
- package/dist/backends/gui/chip.js +1 -1
- package/dist/backends/gui/chip.js.map +1 -1
- package/dist/backends/gui/choice.cjs +2 -2
- package/dist/backends/gui/choice.js +2 -2
- package/dist/backends/gui/choice.js.map +1 -1
- package/dist/backends/gui/code-block.cjs +25 -33
- package/dist/backends/gui/code-block.d.ts.map +1 -1
- package/dist/backends/gui/code-block.js +25 -33
- package/dist/backends/gui/code-block.js.map +1 -1
- package/dist/backends/gui/code-editor.cjs +26 -20
- package/dist/backends/gui/code-editor.d.ts +3 -3
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +26 -20
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/code-surface.cjs +65 -0
- package/dist/backends/gui/code-surface.d.ts +32 -0
- package/dist/backends/gui/code-surface.d.ts.map +1 -0
- package/dist/backends/gui/code-surface.js +60 -0
- package/dist/backends/gui/code-surface.js.map +1 -0
- package/dist/backends/gui/command.cjs +2 -1
- package/dist/backends/gui/command.d.ts.map +1 -1
- package/dist/backends/gui/command.js +2 -1
- package/dist/backends/gui/command.js.map +1 -1
- package/dist/backends/gui/context-menu.cjs +10 -9
- package/dist/backends/gui/context-menu.d.ts +1 -1
- package/dist/backends/gui/context-menu.d.ts.map +1 -1
- package/dist/backends/gui/context-menu.js +10 -9
- package/dist/backends/gui/context-menu.js.map +1 -1
- package/dist/backends/gui/country-select.cjs +2 -1
- package/dist/backends/gui/country-select.d.ts.map +1 -1
- package/dist/backends/gui/country-select.js +2 -1
- package/dist/backends/gui/country-select.js.map +1 -1
- package/dist/backends/gui/data-table.cjs +1 -1
- package/dist/backends/gui/data-table.js +1 -1
- package/dist/backends/gui/data-table.js.map +1 -1
- package/dist/backends/gui/dialog.cjs +1 -1
- package/dist/backends/gui/dialog.js +1 -1
- package/dist/backends/gui/dialog.js.map +1 -1
- package/dist/backends/gui/dir.cjs +67 -0
- package/dist/backends/gui/dir.d.ts +57 -0
- package/dist/backends/gui/dir.d.ts.map +1 -0
- package/dist/backends/gui/dir.js +61 -0
- package/dist/backends/gui/dir.js.map +1 -0
- package/dist/backends/gui/dropdown-menu.cjs +13 -12
- package/dist/backends/gui/dropdown-menu.d.ts +1 -1
- package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
- package/dist/backends/gui/dropdown-menu.js +13 -12
- package/dist/backends/gui/dropdown-menu.js.map +1 -1
- package/dist/backends/gui/field.cjs +1 -1
- package/dist/backends/gui/field.js +1 -1
- package/dist/backends/gui/field.js.map +1 -1
- package/dist/backends/gui/grip.cjs +20 -10
- package/dist/backends/gui/grip.d.ts +8 -5
- package/dist/backends/gui/grip.d.ts.map +1 -1
- package/dist/backends/gui/grip.js +20 -10
- package/dist/backends/gui/grip.js.map +1 -1
- package/dist/backends/gui/image-zoom.cjs +1 -1
- package/dist/backends/gui/image-zoom.js +1 -1
- package/dist/backends/gui/image-zoom.js.map +1 -1
- package/dist/backends/gui/input.cjs +7 -5
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +7 -5
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/item.cjs +2 -1
- package/dist/backends/gui/item.d.ts.map +1 -1
- package/dist/backends/gui/item.js +2 -1
- package/dist/backends/gui/item.js.map +1 -1
- package/dist/backends/gui/json-tree.cjs +8 -6
- 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 +8 -6
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/kanban.cjs +1 -1
- package/dist/backends/gui/kanban.js +1 -1
- package/dist/backends/gui/kanban.js.map +1 -1
- package/dist/backends/gui/kbd.cjs +3 -2
- package/dist/backends/gui/kbd.d.ts.map +1 -1
- package/dist/backends/gui/kbd.js +3 -2
- package/dist/backends/gui/kbd.js.map +1 -1
- package/dist/backends/gui/limelight-nav.cjs +4 -2
- package/dist/backends/gui/limelight-nav.d.ts.map +1 -1
- package/dist/backends/gui/limelight-nav.js +4 -2
- package/dist/backends/gui/limelight-nav.js.map +1 -1
- package/dist/backends/gui/link.cjs +1 -1
- package/dist/backends/gui/link.js +1 -1
- package/dist/backends/gui/link.js.map +1 -1
- package/dist/backends/gui/menu-dock.cjs +1 -1
- package/dist/backends/gui/menu-dock.js +1 -1
- package/dist/backends/gui/menu-dock.js.map +1 -1
- package/dist/backends/gui/menubar.cjs +14 -10
- package/dist/backends/gui/menubar.d.ts +1 -1
- package/dist/backends/gui/menubar.d.ts.map +1 -1
- package/dist/backends/gui/menubar.js +14 -10
- package/dist/backends/gui/menubar.js.map +1 -1
- package/dist/backends/gui/message-dock.cjs +9 -5
- package/dist/backends/gui/message-dock.d.ts +2 -2
- package/dist/backends/gui/message-dock.d.ts.map +1 -1
- package/dist/backends/gui/message-dock.js +9 -5
- package/dist/backends/gui/message-dock.js.map +1 -1
- package/dist/backends/gui/navigation-bar.cjs +3 -2
- package/dist/backends/gui/navigation-bar.d.ts.map +1 -1
- package/dist/backends/gui/navigation-bar.js +3 -2
- package/dist/backends/gui/navigation-bar.js.map +1 -1
- package/dist/backends/gui/pagination.cjs +3 -2
- package/dist/backends/gui/pagination.d.ts.map +1 -1
- package/dist/backends/gui/pagination.js +3 -2
- package/dist/backends/gui/pagination.js.map +1 -1
- package/dist/backends/gui/phone-country-picker.cjs +2 -2
- package/dist/backends/gui/phone-country-picker.js +2 -2
- package/dist/backends/gui/phone-country-picker.js.map +1 -1
- package/dist/backends/gui/progress-ring.cjs +1 -1
- package/dist/backends/gui/progress-ring.js +1 -1
- package/dist/backends/gui/progress-ring.js.map +1 -1
- package/dist/backends/gui/resizable.cjs +8 -4
- package/dist/backends/gui/resizable.d.ts.map +1 -1
- package/dist/backends/gui/resizable.js +8 -4
- package/dist/backends/gui/resizable.js.map +1 -1
- package/dist/backends/gui/scroll-area.cjs +2 -2
- package/dist/backends/gui/scroll-area.d.ts.map +1 -1
- package/dist/backends/gui/scroll-area.js +2 -2
- package/dist/backends/gui/scroll-area.js.map +1 -1
- package/dist/backends/gui/search-list.cjs +1 -1
- package/dist/backends/gui/search-list.js +1 -1
- package/dist/backends/gui/search-list.js.map +1 -1
- package/dist/backends/gui/select.cjs +2 -2
- package/dist/backends/gui/select.js +2 -2
- package/dist/backends/gui/select.js.map +1 -1
- package/dist/backends/gui/sheet.cjs +9 -1
- package/dist/backends/gui/sheet.d.ts +6 -1
- package/dist/backends/gui/sheet.d.ts.map +1 -1
- package/dist/backends/gui/sheet.js +9 -1
- package/dist/backends/gui/sheet.js.map +1 -1
- package/dist/backends/gui/shortcut.cjs +3 -2
- package/dist/backends/gui/shortcut.d.ts.map +1 -1
- package/dist/backends/gui/shortcut.js +3 -2
- package/dist/backends/gui/shortcut.js.map +1 -1
- package/dist/backends/gui/snippet.cjs +24 -30
- package/dist/backends/gui/snippet.d.ts.map +1 -1
- package/dist/backends/gui/snippet.js +24 -30
- package/dist/backends/gui/snippet.js.map +1 -1
- package/dist/backends/gui/status.cjs +1 -1
- package/dist/backends/gui/status.js +1 -1
- package/dist/backends/gui/status.js.map +1 -1
- package/dist/backends/gui/step-indicator.cjs +3 -2
- package/dist/backends/gui/step-indicator.d.ts.map +1 -1
- package/dist/backends/gui/step-indicator.js +3 -2
- package/dist/backends/gui/step-indicator.js.map +1 -1
- package/dist/backends/gui/table.cjs +1 -1
- package/dist/backends/gui/table.js +1 -1
- package/dist/backends/gui/table.js.map +1 -1
- package/dist/backends/gui/tabs.cjs +2 -2
- package/dist/backends/gui/tabs.js +2 -2
- package/dist/backends/gui/tabs.js.map +1 -1
- package/dist/backends/gui/terminal.cjs +58 -41
- package/dist/backends/gui/terminal.d.ts +9 -4
- package/dist/backends/gui/terminal.d.ts.map +1 -1
- package/dist/backends/gui/terminal.js +59 -42
- package/dist/backends/gui/terminal.js.map +1 -1
- package/dist/backends/gui/timeline.cjs +5 -5
- package/dist/backends/gui/timeline.js +5 -5
- package/dist/backends/gui/timeline.js.map +1 -1
- package/dist/backends/gui/toaster.cjs +2 -2
- package/dist/backends/gui/toaster.js +2 -2
- package/dist/backends/gui/toaster.js.map +1 -1
- package/dist/catalog/Shelf.cjs +4 -2
- package/dist/catalog/Shelf.d.ts.map +1 -1
- package/dist/catalog/Shelf.js +4 -2
- package/dist/catalog/Shelf.js.map +1 -1
- package/dist/catalog/Tile.cjs +1 -1
- package/dist/catalog/Tile.js +1 -1
- package/dist/catalog/Tile.js.map +1 -1
- package/dist/chat/Composer.cjs +1 -1
- package/dist/chat/Composer.js +1 -1
- package/dist/chat/Composer.js.map +1 -1
- package/dist/chat/Header.cjs +3 -2
- package/dist/chat/Header.d.ts.map +1 -1
- package/dist/chat/Header.js +3 -2
- package/dist/chat/Header.js.map +1 -1
- package/dist/chat/SessionRail.cjs +3 -2
- package/dist/chat/SessionRail.d.ts.map +1 -1
- package/dist/chat/SessionRail.js +3 -2
- package/dist/chat/SessionRail.js.map +1 -1
- package/dist/chat/Sidebar.cjs +4 -3
- package/dist/chat/Sidebar.d.ts.map +1 -1
- package/dist/chat/Sidebar.js +4 -3
- package/dist/chat/Sidebar.js.map +1 -1
- package/dist/code-theme.cjs +78 -37
- package/dist/code-theme.d.ts +86 -34
- package/dist/code-theme.d.ts.map +1 -1
- package/dist/code-theme.js +77 -36
- package/dist/code-theme.js.map +1 -1
- package/dist/consent/Consent.cjs +1 -1
- package/dist/consent/Consent.js +1 -1
- package/dist/consent/Consent.js.map +1 -1
- package/dist/core/index.cjs +2 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/framework/DocTypeDetail.cjs +3 -2
- package/dist/framework/DocTypeDetail.d.ts.map +1 -1
- package/dist/framework/DocTypeDetail.js +3 -2
- package/dist/framework/DocTypeDetail.js.map +1 -1
- package/dist/framework/RecordCards.cjs +2 -1
- package/dist/framework/RecordCards.d.ts.map +1 -1
- package/dist/framework/RecordCards.js +2 -1
- package/dist/framework/RecordCards.js.map +1 -1
- package/dist/gallery/feedback.cjs +9 -2
- package/dist/gallery/feedback.d.ts.map +1 -1
- package/dist/gallery/feedback.js +10 -3
- package/dist/gallery/feedback.js.map +1 -1
- package/dist/gallery/frames.cjs +1 -1
- package/dist/gallery/frames.js +1 -1
- package/dist/gallery/frames.js.map +1 -1
- package/dist/gallery.html +543 -281
- package/dist/gui-config.cjs +21 -18
- package/dist/gui-config.d.ts +8 -8
- package/dist/gui-config.d.ts.map +1 -1
- package/dist/gui-config.js +22 -19
- package/dist/gui-config.js.map +1 -1
- package/dist/index.cjs +6 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +6 -5
- package/dist/index.node.js +5 -5
- package/dist/lang.css +143 -0
- package/dist/marketing/Footer.cjs +1 -1
- package/dist/marketing/Footer.js +1 -1
- package/dist/marketing/Footer.js.map +1 -1
- package/dist/marketing/Plans.cjs +1 -1
- package/dist/marketing/Plans.js +1 -1
- package/dist/marketing/Plans.js.map +1 -1
- package/dist/masthead/Masthead.cjs +5 -5
- package/dist/masthead/Masthead.js +5 -5
- package/dist/masthead/Masthead.js.map +1 -1
- package/dist/onboarding/frame.cjs +2 -1
- package/dist/onboarding/frame.d.ts.map +1 -1
- package/dist/onboarding/frame.js +2 -1
- package/dist/onboarding/frame.js.map +1 -1
- package/dist/product/Charts.cjs +2 -1
- package/dist/product/Charts.d.ts.map +1 -1
- package/dist/product/Charts.js +2 -1
- package/dist/product/Charts.js.map +1 -1
- package/dist/product/CommandMenu.cjs +3 -2
- package/dist/product/CommandMenu.d.ts.map +1 -1
- package/dist/product/CommandMenu.js +3 -2
- package/dist/product/CommandMenu.js.map +1 -1
- package/dist/product/ConnectionBadge.cjs +2 -1
- package/dist/product/ConnectionBadge.d.ts.map +1 -1
- package/dist/product/ConnectionBadge.js +2 -1
- package/dist/product/ConnectionBadge.js.map +1 -1
- package/dist/product/DetailPane.cjs +5 -4
- package/dist/product/DetailPane.d.ts.map +1 -1
- package/dist/product/DetailPane.js +5 -4
- package/dist/product/DetailPane.js.map +1 -1
- package/dist/product/EmptyState.cjs +2 -1
- package/dist/product/EmptyState.d.ts.map +1 -1
- package/dist/product/EmptyState.js +2 -1
- package/dist/product/EmptyState.js.map +1 -1
- package/dist/product/Filters.cjs +3 -1
- package/dist/product/Filters.d.ts.map +1 -1
- package/dist/product/Filters.js +3 -1
- package/dist/product/Filters.js.map +1 -1
- package/dist/product/MenuRow.cjs +3 -2
- package/dist/product/MenuRow.d.ts.map +1 -1
- package/dist/product/MenuRow.js +3 -2
- package/dist/product/MenuRow.js.map +1 -1
- package/dist/product/Pagination.cjs +2 -1
- package/dist/product/Pagination.d.ts.map +1 -1
- package/dist/product/Pagination.js +2 -1
- package/dist/product/Pagination.js.map +1 -1
- package/dist/product/Palette.cjs +1 -1
- package/dist/product/Palette.js +1 -1
- package/dist/product/Palette.js.map +1 -1
- package/dist/product/SiteFooter.cjs +1 -1
- package/dist/product/SiteFooter.js +1 -1
- package/dist/product/SiteFooter.js.map +1 -1
- package/dist/product/SiteNav.cjs +3 -3
- package/dist/product/SiteNav.js +3 -3
- package/dist/product/SiteNav.js.map +1 -1
- package/dist/product/SlideOver.cjs +12 -6
- package/dist/product/SlideOver.d.ts +9 -4
- package/dist/product/SlideOver.d.ts.map +1 -1
- package/dist/product/SlideOver.js +12 -6
- package/dist/product/SlideOver.js.map +1 -1
- package/dist/product/Split.cjs +9 -3
- package/dist/product/Split.d.ts.map +1 -1
- package/dist/product/Split.js +9 -3
- package/dist/product/Split.js.map +1 -1
- package/dist/product/Toast.cjs +2 -2
- package/dist/product/Toast.js +2 -2
- package/dist/product/Toast.js.map +1 -1
- package/dist/product/account.cjs +2 -1
- package/dist/product/account.d.ts.map +1 -1
- package/dist/product/account.js +2 -1
- package/dist/product/account.js.map +1 -1
- package/dist/product/menu/items.cjs +2 -1
- package/dist/product/menu/items.d.ts.map +1 -1
- package/dist/product/menu/items.js +2 -1
- package/dist/product/menu/items.js.map +1 -1
- package/dist/product/social/SocialResource.cjs +3 -2
- package/dist/product/social/SocialResource.d.ts.map +1 -1
- package/dist/product/social/SocialResource.js +3 -2
- package/dist/product/social/SocialResource.js.map +1 -1
- package/dist/settings/Settings.cjs +1 -1
- package/dist/settings/Settings.js +1 -1
- package/dist/settings/Settings.js.map +1 -1
- package/dist/styles/document.css +1 -1
- package/dist/styles/motion.css +25 -0
- package/dist/styles.css +410 -148
- package/dist/theme.css +192 -3
- package/package.json +4 -1
|
@@ -42,10 +42,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
42
42
|
* resizer: a sidebar, an aside, a split between two panes, and an editor's
|
|
43
43
|
* height all use it.
|
|
44
44
|
*
|
|
45
|
-
* side the edge the box is pinned to. `
|
|
46
|
-
* the first pane of a split)
|
|
47
|
-
* drawer)
|
|
48
|
-
* the
|
|
45
|
+
* side the edge the box is pinned to. `start` is the reading start (a
|
|
46
|
+
* sidebar, the first pane of a split) and `end` the reading end (an
|
|
47
|
+
* aside, a drawer): the left and right under LTR, swapped under RTL,
|
|
48
|
+
* read off the grip when a gesture or key arrives. `left` and
|
|
49
|
+
* `right` pin a screen side whatever the direction; `top` grows
|
|
50
|
+
* downwards (an editor, a tree). One control, the arithmetic
|
|
51
|
+
* reflected.
|
|
49
52
|
* span the box's size now, px, for assistive tech; `floor` and `ceil`
|
|
50
53
|
* bound it.
|
|
51
54
|
* onSpan the size while it moves, at most once a frame.
|
|
@@ -83,6 +86,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
83
86
|
*/
|
|
84
87
|
const gui_1 = require("@hanzo/gui");
|
|
85
88
|
const React = __importStar(require("react"));
|
|
89
|
+
const dir_1 = require("./dir.cjs");
|
|
86
90
|
/** A key's step, px; with Shift, the long one. */
|
|
87
91
|
const STEP = 8;
|
|
88
92
|
const LONG = 32;
|
|
@@ -92,8 +96,10 @@ const SLACK = 48;
|
|
|
92
96
|
const BAND = 8;
|
|
93
97
|
function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut, label, bar, step: unit = STEP, ...rest }) {
|
|
94
98
|
const tall = side === 'top';
|
|
99
|
+
/** The screen side the box is pinned to, for the grip at `el`. */
|
|
100
|
+
const pinned = (el) => side === 'start' ? ((0, dir_1.rtl)(el) ? 'right' : 'left') : side === 'end' ? ((0, dir_1.rtl)(el) ? 'left' : 'right') : side;
|
|
95
101
|
/** +1 when the pointer moving away from the pinned edge grows the box. */
|
|
96
|
-
const grows =
|
|
102
|
+
const grows = React.useRef(1);
|
|
97
103
|
// The pinned edge in client coordinates, taken as the drag begins.
|
|
98
104
|
const held = React.useRef(0);
|
|
99
105
|
// Whether a press holds the pointer and whether it has moved since, the size it
|
|
@@ -148,11 +154,11 @@ function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut,
|
|
|
148
154
|
window.addEventListener('keydown', cancel, true);
|
|
149
155
|
return () => window.removeEventListener('keydown', cancel, true);
|
|
150
156
|
});
|
|
151
|
-
|
|
152
|
-
const
|
|
157
|
+
// The free edge: opposite the pinned one, a logical side for a logical pin.
|
|
158
|
+
const free = side === 'start' ? { insetInlineEnd: 0 } : side === 'end' ? { insetInlineStart: 0 } : side === 'left' ? { r: 0 } : { l: 0 };
|
|
153
159
|
const edge = tall
|
|
154
160
|
? { l: 0, r: 0, b: 0, height: BAND, justify: 'center' }
|
|
155
|
-
: { t: 0, b: 0, width: BAND, items: 'center', ...
|
|
161
|
+
: { t: 0, b: 0, width: BAND, items: 'center', ...free };
|
|
156
162
|
return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "separator", "aria-orientation": tall ? 'horizontal' : 'vertical', "aria-label": label, "aria-valuenow": Math.round(span), "aria-valuemin": floor, "aria-valuemax": ceil, tabIndex: 0, "data-slot": "grip", "data-side": side, "data-moving": moving ? '' : undefined, position: "absolute", ...edge, z: 10, cursor: tall ? 'row-resize' : 'col-resize', outlineWidth: 0, focusVisibleStyle: { outlineWidth: 0 }, style: { touchAction: 'none' }, onPointerEnter: () => setHovered(true), onPointerLeave: () => setHovered(false),
|
|
157
163
|
// The line is the focus ring, drawn for a keyboard's focus and not a pointer's.
|
|
158
164
|
onFocus: (e) => setKeyed(e.currentTarget.matches(':focus-visible')), onBlur: () => setKeyed(false), onPointerDown: (e) => {
|
|
@@ -162,7 +168,8 @@ function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut,
|
|
|
162
168
|
e.preventDefault();
|
|
163
169
|
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
164
170
|
const now = drawn(e.currentTarget);
|
|
165
|
-
|
|
171
|
+
grows.current = pinned(e.currentTarget) === 'right' ? -1 : 1;
|
|
172
|
+
held.current = along(e) - grows.current * now;
|
|
166
173
|
want.current = clamp(now);
|
|
167
174
|
began.current = clamp(now);
|
|
168
175
|
drag.current = 'held';
|
|
@@ -171,7 +178,7 @@ function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut,
|
|
|
171
178
|
if (drag.current === 'none')
|
|
172
179
|
return;
|
|
173
180
|
drag.current = 'moved';
|
|
174
|
-
const pulled = grows * (along(e) - held.current);
|
|
181
|
+
const pulled = grows.current * (along(e) - held.current);
|
|
175
182
|
if (onShut && pulled < floor - SLACK) {
|
|
176
183
|
stop();
|
|
177
184
|
e.currentTarget.releasePointerCapture?.(e.pointerId);
|
|
@@ -190,6 +197,9 @@ function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut,
|
|
|
190
197
|
onPointerUp: end, onPointerCancel: end, onDoubleClick: () => (onReset ? onReset() : settle(clamp(reset ?? span))), onKeyDown: (e) => {
|
|
191
198
|
const step = e.shiftKey ? LONG : unit;
|
|
192
199
|
const now = drawn(e.currentTarget);
|
|
200
|
+
const at = pinned(e.currentTarget);
|
|
201
|
+
const wider = at === 'left' ? 'ArrowRight' : at === 'right' ? 'ArrowLeft' : 'ArrowDown';
|
|
202
|
+
const narrower = at === 'left' ? 'ArrowLeft' : at === 'right' ? 'ArrowRight' : 'ArrowUp';
|
|
193
203
|
const to = e.key === wider
|
|
194
204
|
? now + step
|
|
195
205
|
: e.key === narrower
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* resizer: a sidebar, an aside, a split between two panes, and an editor's
|
|
5
5
|
* height all use it.
|
|
6
6
|
*
|
|
7
|
-
* side the edge the box is pinned to. `
|
|
8
|
-
* the first pane of a split)
|
|
9
|
-
* drawer)
|
|
10
|
-
* the
|
|
7
|
+
* side the edge the box is pinned to. `start` is the reading start (a
|
|
8
|
+
* sidebar, the first pane of a split) and `end` the reading end (an
|
|
9
|
+
* aside, a drawer): the left and right under LTR, swapped under RTL,
|
|
10
|
+
* read off the grip when a gesture or key arrives. `left` and
|
|
11
|
+
* `right` pin a screen side whatever the direction; `top` grows
|
|
12
|
+
* downwards (an editor, a tree). One control, the arithmetic
|
|
13
|
+
* reflected.
|
|
11
14
|
* span the box's size now, px, for assistive tech; `floor` and `ceil`
|
|
12
15
|
* bound it.
|
|
13
16
|
* onSpan the size while it moves, at most once a frame.
|
|
@@ -45,7 +48,7 @@
|
|
|
45
48
|
*/
|
|
46
49
|
import { type YStackProps } from '@hanzo/gui';
|
|
47
50
|
import * as React from 'react';
|
|
48
|
-
export type GripSide = 'left' | 'right' | 'top';
|
|
51
|
+
export type GripSide = 'start' | 'end' | 'left' | 'right' | 'top';
|
|
49
52
|
export interface GripProps extends Omit<YStackProps, 'children'> {
|
|
50
53
|
side: GripSide;
|
|
51
54
|
span: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grip.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"grip.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAEjE,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAC9D,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,0GAA0G;IAC1G,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAKD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EAAE,IAAW,EACjB,GAAG,IAAI,EACR,EAAE,SAAS,qBA8KX"}
|
|
@@ -6,10 +6,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
6
6
|
* resizer: a sidebar, an aside, a split between two panes, and an editor's
|
|
7
7
|
* height all use it.
|
|
8
8
|
*
|
|
9
|
-
* side the edge the box is pinned to. `
|
|
10
|
-
* the first pane of a split)
|
|
11
|
-
* drawer)
|
|
12
|
-
* the
|
|
9
|
+
* side the edge the box is pinned to. `start` is the reading start (a
|
|
10
|
+
* sidebar, the first pane of a split) and `end` the reading end (an
|
|
11
|
+
* aside, a drawer): the left and right under LTR, swapped under RTL,
|
|
12
|
+
* read off the grip when a gesture or key arrives. `left` and
|
|
13
|
+
* `right` pin a screen side whatever the direction; `top` grows
|
|
14
|
+
* downwards (an editor, a tree). One control, the arithmetic
|
|
15
|
+
* reflected.
|
|
13
16
|
* span the box's size now, px, for assistive tech; `floor` and `ceil`
|
|
14
17
|
* bound it.
|
|
15
18
|
* onSpan the size while it moves, at most once a frame.
|
|
@@ -47,6 +50,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
47
50
|
*/
|
|
48
51
|
import { YStack } from '@hanzo/gui';
|
|
49
52
|
import * as React from 'react';
|
|
53
|
+
import { rtl } from './dir.js';
|
|
50
54
|
/** A key's step, px; with Shift, the long one. */
|
|
51
55
|
const STEP = 8;
|
|
52
56
|
const LONG = 32;
|
|
@@ -56,8 +60,10 @@ const SLACK = 48;
|
|
|
56
60
|
const BAND = 8;
|
|
57
61
|
export function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep, onShut, label, bar, step: unit = STEP, ...rest }) {
|
|
58
62
|
const tall = side === 'top';
|
|
63
|
+
/** The screen side the box is pinned to, for the grip at `el`. */
|
|
64
|
+
const pinned = (el) => side === 'start' ? (rtl(el) ? 'right' : 'left') : side === 'end' ? (rtl(el) ? 'left' : 'right') : side;
|
|
59
65
|
/** +1 when the pointer moving away from the pinned edge grows the box. */
|
|
60
|
-
const grows =
|
|
66
|
+
const grows = React.useRef(1);
|
|
61
67
|
// The pinned edge in client coordinates, taken as the drag begins.
|
|
62
68
|
const held = React.useRef(0);
|
|
63
69
|
// Whether a press holds the pointer and whether it has moved since, the size it
|
|
@@ -112,11 +118,11 @@ export function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep,
|
|
|
112
118
|
window.addEventListener('keydown', cancel, true);
|
|
113
119
|
return () => window.removeEventListener('keydown', cancel, true);
|
|
114
120
|
});
|
|
115
|
-
|
|
116
|
-
const
|
|
121
|
+
// The free edge: opposite the pinned one, a logical side for a logical pin.
|
|
122
|
+
const free = side === 'start' ? { insetInlineEnd: 0 } : side === 'end' ? { insetInlineStart: 0 } : side === 'left' ? { r: 0 } : { l: 0 };
|
|
117
123
|
const edge = tall
|
|
118
124
|
? { l: 0, r: 0, b: 0, height: BAND, justify: 'center' }
|
|
119
|
-
: { t: 0, b: 0, width: BAND, items: 'center', ...
|
|
125
|
+
: { t: 0, b: 0, width: BAND, items: 'center', ...free };
|
|
120
126
|
return (_jsx(YStack, { role: "separator", "aria-orientation": tall ? 'horizontal' : 'vertical', "aria-label": label, "aria-valuenow": Math.round(span), "aria-valuemin": floor, "aria-valuemax": ceil, tabIndex: 0, "data-slot": "grip", "data-side": side, "data-moving": moving ? '' : undefined, position: "absolute", ...edge, z: 10, cursor: tall ? 'row-resize' : 'col-resize', outlineWidth: 0, focusVisibleStyle: { outlineWidth: 0 }, style: { touchAction: 'none' }, onPointerEnter: () => setHovered(true), onPointerLeave: () => setHovered(false),
|
|
121
127
|
// The line is the focus ring, drawn for a keyboard's focus and not a pointer's.
|
|
122
128
|
onFocus: (e) => setKeyed(e.currentTarget.matches(':focus-visible')), onBlur: () => setKeyed(false), onPointerDown: (e) => {
|
|
@@ -126,7 +132,8 @@ export function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep,
|
|
|
126
132
|
e.preventDefault();
|
|
127
133
|
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
128
134
|
const now = drawn(e.currentTarget);
|
|
129
|
-
|
|
135
|
+
grows.current = pinned(e.currentTarget) === 'right' ? -1 : 1;
|
|
136
|
+
held.current = along(e) - grows.current * now;
|
|
130
137
|
want.current = clamp(now);
|
|
131
138
|
began.current = clamp(now);
|
|
132
139
|
drag.current = 'held';
|
|
@@ -135,7 +142,7 @@ export function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep,
|
|
|
135
142
|
if (drag.current === 'none')
|
|
136
143
|
return;
|
|
137
144
|
drag.current = 'moved';
|
|
138
|
-
const pulled = grows * (along(e) - held.current);
|
|
145
|
+
const pulled = grows.current * (along(e) - held.current);
|
|
139
146
|
if (onShut && pulled < floor - SLACK) {
|
|
140
147
|
stop();
|
|
141
148
|
e.currentTarget.releasePointerCapture?.(e.pointerId);
|
|
@@ -154,6 +161,9 @@ export function Grip({ side, span, floor, ceil, reset, onReset, onSpan, onKeep,
|
|
|
154
161
|
onPointerUp: end, onPointerCancel: end, onDoubleClick: () => (onReset ? onReset() : settle(clamp(reset ?? span))), onKeyDown: (e) => {
|
|
155
162
|
const step = e.shiftKey ? LONG : unit;
|
|
156
163
|
const now = drawn(e.currentTarget);
|
|
164
|
+
const at = pinned(e.currentTarget);
|
|
165
|
+
const wider = at === 'left' ? 'ArrowRight' : at === 'right' ? 'ArrowLeft' : 'ArrowDown';
|
|
166
|
+
const narrower = at === 'left' ? 'ArrowLeft' : at === 'right' ? 'ArrowRight' : 'ArrowUp';
|
|
157
167
|
const to = e.key === wider
|
|
158
168
|
? now + step
|
|
159
169
|
: e.key === narrower
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grip.js","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"grip.js","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-zoom.js","sourceRoot":"","sources":["../../../src/backends/gui/image-zoom.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAA0C,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,IAAI,GAAG,sCAAsC,CAAA;AAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,UAAU;IACpB,CAAC,EAAE,IAAI;IACP,
|
|
1
|
+
{"version":3,"file":"image-zoom.js","sourceRoot":"","sources":["../../../src/backends/gui/image-zoom.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAA0C,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,IAAI,GAAG,sCAAsC,CAAA;AAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,UAAU;IACpB,CAAC,EAAE,IAAI;IACP,cAAc,EAAE,IAAI;IACpB,CAAC,EAAE,MAAM;IACT,OAAO,EAAE,IAAI;IACb,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,CAAC;IAEV,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACrB;KACO;CACX,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AAW5C,MAAM,UAAU,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,KAAK,EAAkB;IAC1F,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,IAAI,GAAG,CAAC,CAA+B,EAAE,EAAE;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAA;QACjD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7G,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEzD,OAAO,CACL,MAAC,KAAK,OACA,IAAI,CAAC,YAAY,CAAC,gBACV,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EACvC,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,KAAK,KACjB,KAAK,aAET,KAAC,KAAK,OACA,IAAI,CAAC,kBAAkB,CAAC,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;oBAC9C,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG;oBACpC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,IAAI,EAAE;iBAC9D,GACD,EACF,KAAC,KAAK,OAAK,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAC/F,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,GAC5B,IACF,CACT,CAAA;AACH,CAAC"}
|
|
@@ -20,13 +20,14 @@ const control_1 = require("./control.cjs");
|
|
|
20
20
|
const density_1 = require("./density.cjs");
|
|
21
21
|
const input_group_1 = require("./input-group.cjs");
|
|
22
22
|
const field_1 = require("./field.cjs");
|
|
23
|
+
const dir_1 = require("./dir.cjs");
|
|
23
24
|
/** What an adornment takes past the gutter: its 16px mark and 8 beside it. */
|
|
24
25
|
const MARK = 24;
|
|
25
26
|
/** The height a field takes under a coarse pointer: a thumb, not a cursor (Button's floor). */
|
|
26
27
|
const TOUCH = 44;
|
|
27
28
|
const well = (side, gutter) => ({
|
|
28
29
|
position: 'absolute',
|
|
29
|
-
[side]: gutter,
|
|
30
|
+
[side === 'start' ? 'insetInlineStart' : 'insetInlineEnd']: gutter,
|
|
30
31
|
t: 0,
|
|
31
32
|
b: 0,
|
|
32
33
|
items: 'center',
|
|
@@ -37,6 +38,7 @@ const Input = /* @__PURE__ */ (0, react_1.forwardRef)(function Input({ startAdor
|
|
|
37
38
|
const density = (0, density_1.useDensity)();
|
|
38
39
|
const group = (0, react_1.useContext)(input_group_1.GroupContext);
|
|
39
40
|
const isPassword = type === 'password' || secureTextEntry === true;
|
|
41
|
+
const machine = type === 'email' || type === 'url';
|
|
40
42
|
const toggle = isPassword && reveal;
|
|
41
43
|
const box = control_1.BOX[group?.size ?? (0, density_1.fieldSize)(size, density)];
|
|
42
44
|
const inset = box.gutter + MARK;
|
|
@@ -67,13 +69,13 @@ const Input = /* @__PURE__ */ (0, react_1.forwardRef)(function Input({ startAdor
|
|
|
67
69
|
// The value at the full ink, the hint at the placeholder token. gui's
|
|
68
70
|
// Input sub-theme draws its value at 80% grey, which left a typed value
|
|
69
71
|
// and a sample placeholder one rung apart.
|
|
70
|
-
color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: box.font, ...(invalid ? { 'aria-invalid': true } : null),
|
|
72
|
+
color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: box.font, ...(invalid ? { 'aria-invalid': true } : null), paddingInlineStart: startAdornment ? inset : box.gutter, paddingInlineEnd: endAdornment || toggle ? inset : box.gutter, ...props }));
|
|
71
73
|
if (!startAdornment && !endAdornment && !toggle)
|
|
72
74
|
return field;
|
|
73
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", width: "100%", items: "center", children: [startAdornment ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...well('
|
|
75
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", width: "100%", items: "center", ...(machine ? dir_1.ltr : null), children: [startAdornment ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...well('start', box.gutter), pointerEvents: "none", opacity: 0.6, children: startAdornment })) : null, field, toggle ? ((0, jsx_runtime_1.jsx)(gui_1.XStack
|
|
74
76
|
// Before `well`: on web `touch` writes `position: relative`, which
|
|
75
77
|
// after the well's `absolute` put the eye in flow beside the input,
|
|
76
|
-
// 4px past the field's edge instead of inside its
|
|
77
|
-
, { ...(0, gesture_1.touch)(20), ...well('
|
|
78
|
+
// 4px past the field's edge instead of inside its end well.
|
|
79
|
+
, { ...(0, gesture_1.touch)(20), ...well('end', box.gutter), cursor: "pointer", onPress: () => setRevealed((v) => !v), "aria-label": revealed ? 'Hide password' : 'Show password', children: revealed ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.EyeOff, { size: 16 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Eye, { size: 16 }) })) : endAdornment ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...well('end', box.gutter), opacity: 0.6, children: endAdornment })) : null] }));
|
|
78
80
|
});
|
|
79
81
|
exports.Input = Input;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAU,MAAM,YAAY,CAAA;AAEtD,OAAO,EAA+C,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIxG,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAU,MAAM,YAAY,CAAA;AAEtD,OAAO,EAA+C,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIxG,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAY5D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG;IACpF,yEAAyE;IACzE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAYD,QAAA,MAAM,KAAK,sHAuIT,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -17,13 +17,14 @@ import { BOX, FIELD, FILL } from './control.js';
|
|
|
17
17
|
import { fieldSize, useDensity } from './density.js';
|
|
18
18
|
import { GroupContext } from './input-group.js';
|
|
19
19
|
import { invalidOf, useField } from './field.js';
|
|
20
|
+
import { ltr } from './dir.js';
|
|
20
21
|
/** What an adornment takes past the gutter: its 16px mark and 8 beside it. */
|
|
21
22
|
const MARK = 24;
|
|
22
23
|
/** The height a field takes under a coarse pointer: a thumb, not a cursor (Button's floor). */
|
|
23
24
|
const TOUCH = 44;
|
|
24
25
|
const well = (side, gutter) => ({
|
|
25
26
|
position: 'absolute',
|
|
26
|
-
[side]: gutter,
|
|
27
|
+
[side === 'start' ? 'insetInlineStart' : 'insetInlineEnd']: gutter,
|
|
27
28
|
t: 0,
|
|
28
29
|
b: 0,
|
|
29
30
|
items: 'center',
|
|
@@ -34,6 +35,7 @@ const Input = /* @__PURE__ */ forwardRef(function Input({ startAdornment, endAdo
|
|
|
34
35
|
const density = useDensity();
|
|
35
36
|
const group = useContext(GroupContext);
|
|
36
37
|
const isPassword = type === 'password' || secureTextEntry === true;
|
|
38
|
+
const machine = type === 'email' || type === 'url';
|
|
37
39
|
const toggle = isPassword && reveal;
|
|
38
40
|
const box = BOX[group?.size ?? fieldSize(size, density)];
|
|
39
41
|
const inset = box.gutter + MARK;
|
|
@@ -64,14 +66,14 @@ const Input = /* @__PURE__ */ forwardRef(function Input({ startAdornment, endAdo
|
|
|
64
66
|
// The value at the full ink, the hint at the placeholder token. gui's
|
|
65
67
|
// Input sub-theme draws its value at 80% grey, which left a typed value
|
|
66
68
|
// and a sample placeholder one rung apart.
|
|
67
|
-
color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: box.font, ...(invalid ? { 'aria-invalid': true } : null),
|
|
69
|
+
color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: box.font, ...(invalid ? { 'aria-invalid': true } : null), paddingInlineStart: startAdornment ? inset : box.gutter, paddingInlineEnd: endAdornment || toggle ? inset : box.gutter, ...props }));
|
|
68
70
|
if (!startAdornment && !endAdornment && !toggle)
|
|
69
71
|
return field;
|
|
70
|
-
return (_jsxs(XStack, { position: "relative", width: "100%", items: "center", children: [startAdornment ? (_jsx(XStack, { ...well('
|
|
72
|
+
return (_jsxs(XStack, { position: "relative", width: "100%", items: "center", ...(machine ? ltr : null), children: [startAdornment ? (_jsx(XStack, { ...well('start', box.gutter), pointerEvents: "none", opacity: 0.6, children: startAdornment })) : null, field, toggle ? (_jsx(XStack
|
|
71
73
|
// Before `well`: on web `touch` writes `position: relative`, which
|
|
72
74
|
// after the well's `absolute` put the eye in flow beside the input,
|
|
73
|
-
// 4px past the field's edge instead of inside its
|
|
74
|
-
, { ...touch(20), ...well('
|
|
75
|
+
// 4px past the field's edge instead of inside its end well.
|
|
76
|
+
, { ...touch(20), ...well('end', box.gutter), cursor: "pointer", onPress: () => setRevealed((v) => !v), "aria-label": revealed ? 'Hide password' : 'Show password', children: revealed ? _jsx(EyeOff, { size: 16 }) : _jsx(Eye, { size: 16 }) })) : endAdornment ? (_jsx(XStack, { ...well('end', box.gutter), opacity: 0.6, children: endAdornment })) : null] }));
|
|
75
77
|
});
|
|
76
78
|
export { Input };
|
|
77
79
|
//# sourceMappingURL=input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAuC,MAAM,OAAO,CAAA;AACxG,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
|
41
41
|
const react_1 = require("react");
|
|
42
42
|
const layout_1 = require("./layout.cjs");
|
|
43
43
|
const ink_1 = require("./ink.cjs");
|
|
44
|
+
const dir_1 = require("./dir.cjs");
|
|
44
45
|
const press_1 = require("./press.cjs");
|
|
45
46
|
const gesture_1 = require("./gesture.cjs");
|
|
46
47
|
const kbd_1 = require("./kbd.cjs");
|
|
@@ -88,7 +89,7 @@ function Item({ variant = 'default', size = 'default', asChild = false, indicato
|
|
|
88
89
|
? { cursor: 'pointer' }
|
|
89
90
|
: null), ...(button ? { type: 'button' } : null), ...(actions ? { onHoverIn: () => setShown(true), onHoverOut: () => setShown(false), onFocus: () => setShown(true), onBlur: () => setShown(false) } : null), ...props, children: asChild ? (children) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [indicator === 'checkbox' ? (0, jsx_runtime_1.jsx)(Box, { on: selected }) : null, row
|
|
90
91
|
? (0, ink_1.ink)(children, gui_1.SizableText, { size: '$2', color: color === 'danger' ? '$bad' : '$aside', numberOfLines: 1, flex: 1, minW: 0 })
|
|
91
|
-
: children, shortcut ? (typeof shortcut === 'string' ? ((0, jsx_runtime_1.jsx)(kbd_1.Kbd, { children: shortcut })) : ((0, jsx_runtime_1.jsx)(kbd_1.KbdGroup, { children: shortcut.map((k, i) => ((0, jsx_runtime_1.jsx)(kbd_1.Kbd, { children: k }, `${k}-${i}`))) }))) : null, indicator === 'check' && selected ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, strokeWidth: 2 }) : null, actions ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { "data-slot": "item-row-actions", role: "group", shrink: 0, items: "center", gap: "$1", opacity: visible ? 1 : 0, $touchable: { opacity: 1 }, animation: "75ms", children: actions })) : null, hasSubmenu ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, opacity: disabled ? 0 : 1, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronRight, { size: 14, color: "$hush" }) })) : null] })) }));
|
|
92
|
+
: children, shortcut ? (typeof shortcut === 'string' ? ((0, jsx_runtime_1.jsx)(kbd_1.Kbd, { children: shortcut })) : ((0, jsx_runtime_1.jsx)(kbd_1.KbdGroup, { children: shortcut.map((k, i) => ((0, jsx_runtime_1.jsx)(kbd_1.Kbd, { children: k }, `${k}-${i}`))) }))) : null, indicator === 'check' && selected ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, strokeWidth: 2 }) : null, actions ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { "data-slot": "item-row-actions", role: "group", shrink: 0, items: "center", gap: "$1", opacity: visible ? 1 : 0, $touchable: { opacity: 1 }, animation: "75ms", children: actions })) : null, hasSubmenu ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, opacity: disabled ? 0 : 1, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronRight, { ...dir_1.mirror, size: 14, color: "$hush" }) })) : null] })) }));
|
|
92
93
|
}
|
|
93
94
|
const ItemMediaFrame = (0, gui_1.styled)(gui_1.XStack, {
|
|
94
95
|
name: 'ItemMedia',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAOpC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAA;AAC/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAG3D,QAAA,MAAM,SAAS;;;;;8CAyBb,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IACxE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oHAAoH;IACpH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;IACrC,0FAA0F;IAC1F,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACtC,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAmBD,wBAAgB,IAAI,CAAC,EACnB,OAAmB,EACnB,IAAgB,EAChB,OAAe,EACf,SAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,KAAiB,EACjB,QAAgB,EAChB,qBAA6B,EAC7B,QAAQ,EACR,OAAO,EACP,iBAA2B,EAC3B,UAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,SAAS,+BAgFX;AAED,QAAA,MAAM,cAAc;;;;8CAgBlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAG1E;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,cAAc;;;8CAMlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAM/D;AAED,QAAA,MAAM,oBAAoB;;;8CAKxB,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAa9E,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BAQxE;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,cAAc;;;8CAElB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAE9C;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAEtD"}
|
|
@@ -29,6 +29,7 @@ import { Check, ChevronRight } from '@hanzogui/lucide-icons-2';
|
|
|
29
29
|
import { useState } from 'react';
|
|
30
30
|
import { Separator } from './layout.js';
|
|
31
31
|
import { ink } from './ink.js';
|
|
32
|
+
import { mirror } from './dir.js';
|
|
32
33
|
import { RING } from './press.js';
|
|
33
34
|
import { touch } from './gesture.js';
|
|
34
35
|
import { Kbd, KbdGroup } from './kbd.js';
|
|
@@ -76,7 +77,7 @@ export function Item({ variant = 'default', size = 'default', asChild = false, i
|
|
|
76
77
|
? { cursor: 'pointer' }
|
|
77
78
|
: null), ...(button ? { type: 'button' } : null), ...(actions ? { onHoverIn: () => setShown(true), onHoverOut: () => setShown(false), onFocus: () => setShown(true), onBlur: () => setShown(false) } : null), ...props, children: asChild ? (children) : (_jsxs(_Fragment, { children: [indicator === 'checkbox' ? _jsx(Box, { on: selected }) : null, row
|
|
78
79
|
? ink(children, SizableText, { size: '$2', color: color === 'danger' ? '$bad' : '$aside', numberOfLines: 1, flex: 1, minW: 0 })
|
|
79
|
-
: children, shortcut ? (typeof shortcut === 'string' ? (_jsx(Kbd, { children: shortcut })) : (_jsx(KbdGroup, { children: shortcut.map((k, i) => (_jsx(Kbd, { children: k }, `${k}-${i}`))) }))) : null, indicator === 'check' && selected ? _jsx(Check, { size: 16, strokeWidth: 2 }) : null, actions ? (_jsx(XStack, { "data-slot": "item-row-actions", role: "group", shrink: 0, items: "center", gap: "$1", opacity: visible ? 1 : 0, $touchable: { opacity: 1 }, animation: "75ms", children: actions })) : null, hasSubmenu ? (_jsx(XStack, { shrink: 0, opacity: disabled ? 0 : 1, children: _jsx(ChevronRight, { size: 14, color: "$hush" }) })) : null] })) }));
|
|
80
|
+
: children, shortcut ? (typeof shortcut === 'string' ? (_jsx(Kbd, { children: shortcut })) : (_jsx(KbdGroup, { children: shortcut.map((k, i) => (_jsx(Kbd, { children: k }, `${k}-${i}`))) }))) : null, indicator === 'check' && selected ? _jsx(Check, { size: 16, strokeWidth: 2 }) : null, actions ? (_jsx(XStack, { "data-slot": "item-row-actions", role: "group", shrink: 0, items: "center", gap: "$1", opacity: visible ? 1 : 0, $touchable: { opacity: 1 }, animation: "75ms", children: actions })) : null, hasSubmenu ? (_jsx(XStack, { shrink: 0, opacity: disabled ? 0 : 1, children: _jsx(ChevronRight, { ...mirror, size: 14, color: "$hush" }) })) : null] })) }));
|
|
80
81
|
}
|
|
81
82
|
const ItemMediaFrame = styled(XStack, {
|
|
82
83
|
name: 'ItemMedia',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
46
46
|
* The first `depth` levels open on first paint. A row is a button (Enter and
|
|
47
47
|
* Space toggle it, `aria-expanded` says which way), so the tree reads with a
|
|
48
48
|
* keyboard and a screen reader as well as a pointer. Keys and values take the
|
|
49
|
-
* code theme's
|
|
49
|
+
* code theme's inks and weights (`code-theme.ts`), the same theme keys `CodeEditor`
|
|
50
50
|
* paints with, and a count reads as a comment. A long value wraps anywhere, so
|
|
51
51
|
* a hash never widens the page.
|
|
52
52
|
*
|
|
@@ -76,7 +76,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
76
76
|
const gui_1 = require("@hanzo/gui");
|
|
77
77
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
78
78
|
const React = __importStar(require("react"));
|
|
79
|
+
const code_theme_1 = require("../../code-theme.cjs");
|
|
79
80
|
const button_1 = require("./button.cjs");
|
|
81
|
+
const dir_1 = require("./dir.cjs");
|
|
80
82
|
const grip_1 = require("./grip.cjs");
|
|
81
83
|
const input_1 = require("./input.cjs");
|
|
82
84
|
const slot_1 = require("./slot.cjs");
|
|
@@ -208,9 +210,9 @@ function JsonTree({ data: given, entries, variant = 'code', getNodeHighlighting,
|
|
|
208
210
|
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", ...props, children: [header && ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-header'), items: "center", flexWrap: "wrap", gap: "$1", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", grow: 1, children: title ?? 'JSON' }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { grow: 1, shrink: 1, flexBasis: searchable ? 240 : 'auto', minW: 0, justify: "flex-end", items: "center", gap: "$1", children: [searchable && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1, minW: 0, maxW: 260, children: (0, jsx_runtime_1.jsx)(input_1.Input, { ...(0, slot_1.slot)('json-tree-filter'), type: "search", value: query, onChangeText: type, placeholder: "Filter", "aria-label": `Filter ${title ?? 'JSON'} by key, path or value`,
|
|
209
211
|
// No adornment: its wrapper holds the field at its intrinsic width, and
|
|
210
212
|
// on a narrow pane that pushed the actions out of the header.
|
|
211
|
-
height: 32, fontSize: "$2" }) })), root && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-expand'), variant: "ghost", size: "icon-sm", "aria-label": "Expand all", title: "Expand all", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 14 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-collapse'), variant: "ghost", size: "icon-sm", "aria-label": "Collapse all", title: "Collapse all", onClick: () => setOpen(new Set()), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsDownUp, { size: 14 }) })] })), showCopyButton && ((0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-copy'), variant: "ghost", size: "icon-sm", "aria-label": copied ? 'Copied' : `Copy ${title ?? 'JSON'}`, title: "Copy", onClick: copy, children: copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: 14 }) }))] })] })), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { position: "relative", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree-body'), py: "$2", px: "$2", ...(fixed ? { height } : maxHeight !== undefined ? { maxH: maxHeight } : null), overflowY: fixed || maxHeight !== undefined ? 'auto' : undefined, children: none ? ((0, jsx_runtime_1.jsxs)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-empty'), size: "$2", color: "$soft", px: "$2", py: "$1", children: ["Nothing matches \u201C", query.trim(), "\u201D."] })) : ((0, jsx_runtime_1.jsx)(Node, { name: null, value: data, path: "$", dotted: "", level: 0, open: open, toggle: toggle, kept: kept, ctx: ctx })) }), resizable && ((0, jsx_runtime_1.jsx)(grip_1.Grip, { side: "top", span: height ?? minHeight, floor: minHeight, ceil: CEILING, onSpan: setHeight, onKeep: size, onReset: () => size(null), label: `Resize ${title ?? 'JSON'}`, b: 0 }))] })] }));
|
|
213
|
+
height: 32, fontSize: "$2" }) })), root && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-expand'), variant: "ghost", size: "icon-sm", "aria-label": "Expand all", title: "Expand all", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 14 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-collapse'), variant: "ghost", size: "icon-sm", "aria-label": "Collapse all", title: "Collapse all", onClick: () => setOpen(new Set()), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsDownUp, { size: 14 }) })] })), showCopyButton && ((0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-copy'), variant: "ghost", size: "icon-sm", "aria-label": copied ? 'Copied' : `Copy ${title ?? 'JSON'}`, title: "Copy", onClick: copy, children: copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: 14 }) }))] })] })), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { position: "relative", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree-body'), ...dir_1.ltr, py: "$2", px: "$2", ...(fixed ? { height } : maxHeight !== undefined ? { maxH: maxHeight } : null), overflowY: fixed || maxHeight !== undefined ? 'auto' : undefined, children: none ? ((0, jsx_runtime_1.jsxs)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-empty'), size: "$2", color: "$soft", px: "$2", py: "$1", children: ["Nothing matches \u201C", query.trim(), "\u201D."] })) : ((0, jsx_runtime_1.jsx)(Node, { name: null, value: data, path: "$", dotted: "", level: 0, open: open, toggle: toggle, kept: kept, ctx: ctx })) }), resizable && ((0, jsx_runtime_1.jsx)(grip_1.Grip, { side: "top", span: height ?? minHeight, floor: minHeight, ceil: CEILING, onSpan: setHeight, onKeep: size, onReset: () => size(null), label: `Resize ${title ?? 'JSON'}`, b: 0 }))] })] }));
|
|
212
214
|
}
|
|
213
|
-
/** A leaf's colour: the code theme's key for its JSON type. */
|
|
215
|
+
/** A leaf's colour: the code theme's key for its JSON type; `face` adds its weight. */
|
|
214
216
|
const INK = {
|
|
215
217
|
string: '$codeString',
|
|
216
218
|
number: '$codeNumber',
|
|
@@ -245,7 +247,7 @@ function Leaf({ value, dotted, mark, ctx }) {
|
|
|
245
247
|
const boxed = ctx.variant === 'boxed';
|
|
246
248
|
const shown = value === '' ? ctx.labels.emptyString : text(value);
|
|
247
249
|
const hue = mark === 'blue' || mark === 'red' ? MARK[mark].value : null;
|
|
248
|
-
const body = ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-value'), "data-type": type, size: "$2", fontFamily: "$mono", color: (hue ?? (boxed ? '$hint' : (INK[type] ?? '$codePunctuation'))), shrink: 1, minW: 0, ...(boxed ? { lineHeight: 24 } : null),
|
|
250
|
+
const body = ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-value'), "data-type": type, size: "$2", fontFamily: "$mono", color: (hue ?? (boxed ? '$hint' : (INK[type] ?? '$codePunctuation'))), ...(boxed ? null : code_theme_1.face[type]), shrink: 1, minW: 0, ...(boxed ? { lineHeight: 24 } : null),
|
|
249
251
|
// A hash or a URL is one unbreakable word; without this it sets the tree's
|
|
250
252
|
// min-content width and pushes the page sideways on a phone.
|
|
251
253
|
style: { overflowWrap: 'anywhere' }, children: shown }));
|
|
@@ -285,7 +287,7 @@ function Node({ name, value, path, dotted, level, open, toggle, kept, ctx, }) {
|
|
|
285
287
|
const gap = boxed ? '$2' : '$1.5';
|
|
286
288
|
const key = name === null ? null : (0, jsx_runtime_1.jsx)(Key, { name: name, kind: kindOf(value), mark: mark, ctx: ctx });
|
|
287
289
|
if (!b) {
|
|
288
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-row'), "data-highlight": mark ?? undefined, items: "flex-start", gap: gap,
|
|
290
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-row'), "data-highlight": mark ?? undefined, items: "flex-start", gap: gap, paddingInlineStart: indent, py: boxed ? 0 : 1, children: [boxed ? null : (0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0 }), key, (0, jsx_runtime_1.jsx)(Leaf, { value: value, dotted: dotted, mark: mark, ctx: ctx })] }));
|
|
289
291
|
}
|
|
290
292
|
const empty = b.entries.length === 0;
|
|
291
293
|
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree-node'), gap: boxed ? '$2' : 0, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-row'), "data-highlight": mark ?? undefined, ...(!empty &&
|
|
@@ -294,7 +296,7 @@ function Node({ name, value, path, dotted, level, open, toggle, kept, ctx, }) {
|
|
|
294
296
|
tabIndex: 0,
|
|
295
297
|
'aria-expanded': expanded,
|
|
296
298
|
'aria-label': `${name === null ? 'root' : (ctx.names.get(name) ?? name)} ${count(b)}`,
|
|
297
|
-
}), items: "center", gap: gap,
|
|
299
|
+
}), items: "center", gap: gap, paddingInlineStart: indent, py: boxed ? 0 : 1, rounded: "$2", cursor: empty ? undefined : 'pointer', hoverStyle: empty ? undefined : { bg: '$hover' }, focusVisibleStyle: { bg: '$hover' }, onPress: empty ? undefined : () => toggle(path), onKeyDown: empty
|
|
298
300
|
? undefined
|
|
299
301
|
: (e) => {
|
|
300
302
|
if (e.key !== 'Enter' && e.key !== ' ')
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* The first `depth` levels open on first paint. A row is a button (Enter and
|
|
8
8
|
* Space toggle it, `aria-expanded` says which way), so the tree reads with a
|
|
9
9
|
* keyboard and a screen reader as well as a pointer. Keys and values take the
|
|
10
|
-
* code theme's
|
|
10
|
+
* code theme's inks and weights (`code-theme.ts`), the same theme keys `CodeEditor`
|
|
11
11
|
* paints with, and a count reads as a comment. A long value wraps anywhere, so
|
|
12
12
|
* a hash never widens the page.
|
|
13
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAe1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAe1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAgB9B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAA;AAE9C,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,cAAc,CAAA;AAE3D,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,oFAAoF;AACpF,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AA+CzE;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAA;AAEtE,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAwBzD;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9F,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,oDAAoD;IACpD,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3E,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5D,+BAA+B;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,KAAK,EACX,OAAO,EACP,OAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,KAAS,EACT,KAAK,EACL,cAAqB,EACrB,MAAa,EACb,SAAS,EACT,SAAc,EACd,SAAiB,EACjB,aAAoB,EACpB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,qBA2Mf"}
|