@k2b/ui 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/actions/Button.js +20 -31
- package/dist/browser/actions/Button.js.map +1 -1
- package/dist/browser/actions/ContextMenu.js +10 -4
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/CopyButton.js +10 -8
- package/dist/browser/actions/CopyButton.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +3 -1
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/GestureMenu.js +4 -0
- package/dist/browser/actions/GestureMenu.js.map +1 -1
- package/dist/browser/actions/SpotlightSearch.js +3 -1
- package/dist/browser/actions/SpotlightSearch.js.map +1 -1
- package/dist/browser/actions/filter-messages.js +20 -0
- package/dist/browser/actions/filter-messages.js.map +1 -0
- package/dist/browser/actions/spotlight-messages.js +16 -0
- package/dist/browser/actions/spotlight-messages.js.map +1 -0
- package/dist/browser/chat/ChatComposer.js +47 -41
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatPrimitives.js +25 -23
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/ChatRoot.js +3 -3
- package/dist/browser/chat/ChatRoot.js.map +1 -1
- package/dist/browser/chat/ChatTimeline.js +12 -12
- package/dist/browser/chat/ChatTimeline.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +236 -0
- package/dist/browser/chat/chat-messages.js.map +1 -0
- package/dist/browser/content/Calendar.js +1960 -575
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/Chart.js +15 -8
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/ChartExplorer.js +20 -12
- package/dist/browser/content/ChartExplorer.js.map +1 -1
- package/dist/browser/content/ChartExplorerControls.js +9 -7
- package/dist/browser/content/ChartExplorerControls.js.map +1 -1
- package/dist/browser/content/ChartFilterControls.js +4 -2
- package/dist/browser/content/ChartFilterControls.js.map +1 -1
- package/dist/browser/content/ChartSnapshotView.js +3 -3
- package/dist/browser/content/ChartSnapshotView.js.map +1 -1
- package/dist/browser/content/DataTable.js +68 -59
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/Docs.js +3 -1
- package/dist/browser/content/Docs.js.map +1 -1
- package/dist/browser/content/FileBrowser.js +30 -26
- package/dist/browser/content/FileBrowser.js.map +1 -1
- package/dist/browser/content/FileTree.js +9 -7
- package/dist/browser/content/FileTree.js.map +1 -1
- package/dist/browser/content/FileView.js +37 -28
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/Lightbox.js +9 -7
- package/dist/browser/content/Lightbox.js.map +1 -1
- package/dist/browser/content/LogEntriesTable.js +3 -3
- package/dist/browser/content/LogEntriesTable.js.map +1 -1
- package/dist/browser/content/MessageRow.js +24 -22
- package/dist/browser/content/MessageRow.js.map +1 -1
- package/dist/browser/content/Pagination.js +7 -7
- package/dist/browser/content/Pagination.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +15 -13
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/content/RangePicker.js +3 -1
- package/dist/browser/content/RangePicker.js.map +1 -1
- package/dist/browser/content/StructuredDataPreview.js +3 -1
- package/dist/browser/content/StructuredDataPreview.js.map +1 -1
- package/dist/browser/content/Timeline.js +13 -11
- package/dist/browser/content/Timeline.js.map +1 -1
- package/dist/browser/content/VideoPlayer.js +5 -5
- package/dist/browser/content/VideoPlayer.js.map +1 -1
- package/dist/browser/content/VirtualFeed.js +6 -4
- package/dist/browser/content/VirtualFeed.js.map +1 -1
- package/dist/browser/content/ZoomPanViewport.js +10 -7
- package/dist/browser/content/ZoomPanViewport.js.map +1 -1
- package/dist/browser/content/calendar-messages.js +121 -0
- package/dist/browser/content/calendar-messages.js.map +1 -0
- package/dist/browser/content/calendar-month-layout.js +108 -0
- package/dist/browser/content/calendar-month-layout.js.map +1 -0
- package/dist/browser/content/calendar-pointer.js +4 -3
- package/dist/browser/content/calendar-pointer.js.map +1 -1
- package/dist/browser/content/chart-messages.js +136 -0
- package/dist/browser/content/chart-messages.js.map +1 -0
- package/dist/browser/content/collection-selection.js +2 -0
- package/dist/browser/content/collection-selection.js.map +1 -1
- package/dist/browser/content/data-table-messages.js +24 -0
- package/dist/browser/content/data-table-messages.js.map +1 -0
- package/dist/browser/content/docs-messages.js +24 -0
- package/dist/browser/content/docs-messages.js.map +1 -0
- package/dist/browser/content/feed-messages.js +34 -0
- package/dist/browser/content/feed-messages.js.map +1 -0
- package/dist/browser/content/file-browser-messages.js +69 -0
- package/dist/browser/content/file-browser-messages.js.map +1 -0
- package/dist/browser/content/file-view-messages.js +64 -0
- package/dist/browser/content/file-view-messages.js.map +1 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/lightbox-messages.js +36 -0
- package/dist/browser/content/lightbox-messages.js.map +1 -0
- package/dist/browser/content/log-entries-messages.js +20 -0
- package/dist/browser/content/log-entries-messages.js.map +1 -0
- package/dist/browser/content/markdown-info-block-messages.js +24 -0
- package/dist/browser/content/markdown-info-block-messages.js.map +1 -0
- package/dist/browser/content/markdown-info-blocks.js +3 -3
- package/dist/browser/content/markdown-info-blocks.js.map +1 -1
- package/dist/browser/content/markdown-links.js +2 -2
- package/dist/browser/content/markdown-links.js.map +1 -1
- package/dist/browser/content/markdown-reference-messages.js +30 -0
- package/dist/browser/content/markdown-reference-messages.js.map +1 -0
- package/dist/browser/content/pagination-messages.js +38 -0
- package/dist/browser/content/pagination-messages.js.map +1 -0
- package/dist/browser/content/pdf-messages.js +43 -0
- package/dist/browser/content/pdf-messages.js.map +1 -0
- package/dist/browser/content/range-picker-messages.js +20 -0
- package/dist/browser/content/range-picker-messages.js.map +1 -0
- package/dist/browser/content/structured-data-messages.js +22 -0
- package/dist/browser/content/structured-data-messages.js.map +1 -0
- package/dist/browser/content/timeline-messages.js +62 -0
- package/dist/browser/content/timeline-messages.js.map +1 -0
- package/dist/browser/content/video-messages.js +24 -0
- package/dist/browser/content/video-messages.js.map +1 -0
- package/dist/browser/content/viewport-messages.js +28 -0
- package/dist/browser/content/viewport-messages.js.map +1 -0
- package/dist/browser/feedback/HoverPreview.js +34 -6
- package/dist/browser/feedback/HoverPreview.js.map +1 -1
- package/dist/browser/feedback/InstallGuide.js +18 -18
- package/dist/browser/feedback/InstallGuide.js.map +1 -1
- package/dist/browser/feedback/install-messages.js +104 -0
- package/dist/browser/feedback/install-messages.js.map +1 -0
- package/dist/browser/feedback/prompt-messages.js +65 -0
- package/dist/browser/feedback/prompt-messages.js.map +1 -0
- package/dist/browser/feedback/prompts.js +14 -11
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/feedback/toast-messages.js +18 -0
- package/dist/browser/feedback/toast-messages.js.map +1 -0
- package/dist/browser/feedback/toast.js +4 -3
- package/dist/browser/feedback/toast.js.map +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/inputs/AutocompleteEditor.js +6 -4
- package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/browser/inputs/AutocompleteSelect.js +10 -8
- package/dist/browser/inputs/AutocompleteSelect.js.map +1 -1
- package/dist/browser/inputs/ChoiceGroups.js +4 -0
- package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
- package/dist/browser/inputs/ChoiceInputs.js +5 -5
- package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
- package/dist/browser/inputs/Combobox.js +3 -1
- package/dist/browser/inputs/Combobox.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +46 -10
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/FileDropTarget.js +6 -6
- package/dist/browser/inputs/FileDropTarget.js.map +1 -1
- package/dist/browser/inputs/FileInputs.js +30 -21
- package/dist/browser/inputs/FileInputs.js.map +1 -1
- package/dist/browser/inputs/MultiSelectInput.js +7 -5
- package/dist/browser/inputs/MultiSelectInput.js.map +1 -1
- package/dist/browser/inputs/NumberInput.js +4 -2
- package/dist/browser/inputs/NumberInput.js.map +1 -1
- package/dist/browser/inputs/QrScanner.js +5 -5
- package/dist/browser/inputs/QrScanner.js.map +1 -1
- package/dist/browser/inputs/Select.js +7 -5
- package/dist/browser/inputs/Select.js.map +1 -1
- package/dist/browser/inputs/SelectChip.js +3 -3
- package/dist/browser/inputs/SelectChip.js.map +1 -1
- package/dist/browser/inputs/SignatureInput.js +9 -3
- package/dist/browser/inputs/SignatureInput.js.map +1 -1
- package/dist/browser/inputs/SpecialInputs.js +4 -2
- package/dist/browser/inputs/SpecialInputs.js.map +1 -1
- package/dist/browser/inputs/TagEditor.js +8 -6
- package/dist/browser/inputs/TagEditor.js.map +1 -1
- package/dist/browser/inputs/TagsInput.js +5 -5
- package/dist/browser/inputs/TagsInput.js.map +1 -1
- package/dist/browser/inputs/TemplateEditor.js +5 -5
- package/dist/browser/inputs/TemplateEditor.js.map +1 -1
- package/dist/browser/inputs/TextInput.js +3 -1
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/completion-messages.js +24 -0
- package/dist/browser/inputs/completion-messages.js.map +1 -0
- package/dist/browser/inputs/date-picker.js +24 -0
- package/dist/browser/inputs/date-picker.js.map +1 -1
- package/dist/browser/inputs/file-drop-messages.js +63 -0
- package/dist/browser/inputs/file-drop-messages.js.map +1 -0
- package/dist/browser/inputs/file-drop.js.map +1 -1
- package/dist/browser/inputs/file-input-messages.js +60 -0
- package/dist/browser/inputs/file-input-messages.js.map +1 -0
- package/dist/browser/inputs/icon-messages.js +22 -0
- package/dist/browser/inputs/icon-messages.js.map +1 -0
- package/dist/browser/inputs/input-messages.js +38 -0
- package/dist/browser/inputs/input-messages.js.map +1 -0
- package/dist/browser/inputs/markdown/MarkdownEditor.js +10 -6
- package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/browser/inputs/markdown/Toolbar.js +13 -13
- package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
- package/dist/browser/inputs/markdown/editor-messages.js +43 -0
- package/dist/browser/inputs/markdown/editor-messages.js.map +1 -0
- package/dist/browser/inputs/markdown/toolbar-messages.js +40 -0
- package/dist/browser/inputs/markdown/toolbar-messages.js.map +1 -0
- package/dist/browser/inputs/qr-messages.js +26 -0
- package/dist/browser/inputs/qr-messages.js.map +1 -0
- package/dist/browser/inputs/select-messages.js +63 -0
- package/dist/browser/inputs/select-messages.js.map +1 -0
- package/dist/browser/inputs/tag-messages.js +44 -0
- package/dist/browser/inputs/tag-messages.js.map +1 -0
- package/dist/browser/inputs/template-messages.js +22 -0
- package/dist/browser/inputs/template-messages.js.map +1 -0
- package/dist/browser/internal/render-error-messages.js +20 -0
- package/dist/browser/internal/render-error-messages.js.map +1 -0
- package/dist/browser/internal/render-error.js +3 -1
- package/dist/browser/internal/render-error.js.map +1 -1
- package/dist/browser/internal/text-selection.js +101 -0
- package/dist/browser/internal/text-selection.js.map +1 -0
- package/dist/browser/intl/messages.js +12 -1155
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +561 -418
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/BottomSheet.js +6 -1
- package/dist/browser/layout/BottomSheet.js.map +1 -1
- package/dist/browser/layout/Discussion.js +8 -5
- package/dist/browser/layout/Discussion.js.map +1 -1
- package/dist/browser/layout/FloatingWindow.js +8 -5
- package/dist/browser/layout/FloatingWindow.js.map +1 -1
- package/dist/browser/layout/Navigation.js +7 -6
- package/dist/browser/layout/Navigation.js.map +1 -1
- package/dist/browser/layout/PageTitle.js +370 -0
- package/dist/browser/layout/PageTitle.js.map +1 -0
- package/dist/browser/layout/PanelDialog.js +8 -6
- package/dist/browser/layout/PanelDialog.js.map +1 -1
- package/dist/browser/layout/Panes.js +23 -15
- package/dist/browser/layout/Panes.js.map +1 -1
- package/dist/browser/layout/PullToRefresh.js +13 -4
- package/dist/browser/layout/PullToRefresh.js.map +1 -1
- package/dist/browser/layout/Settings.js +14 -12
- package/dist/browser/layout/Settings.js.map +1 -1
- package/dist/browser/layout/SettingsCollection.js +6 -5
- package/dist/browser/layout/SettingsCollection.js.map +1 -1
- package/dist/browser/layout/SettingsModal.js +3 -1
- package/dist/browser/layout/SettingsModal.js.map +1 -1
- package/dist/browser/layout/app-workspace-controller.js +743 -12
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/app-workspace-state.js +3 -2
- package/dist/browser/layout/app-workspace-state.js.map +1 -1
- package/dist/browser/layout/floating-window-messages.js +28 -0
- package/dist/browser/layout/floating-window-messages.js.map +1 -0
- package/dist/browser/layout/index.js +2 -0
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/navigation-model.js.map +1 -1
- package/dist/browser/layout/page-title-controller.js +169 -0
- package/dist/browser/layout/page-title-controller.js.map +1 -0
- package/dist/browser/layout/panel-dialog-messages.js +20 -0
- package/dist/browser/layout/panel-dialog-messages.js.map +1 -0
- package/dist/browser/layout/panes-messages.js +48 -0
- package/dist/browser/layout/panes-messages.js.map +1 -0
- package/dist/browser/layout/refresh-messages.js +20 -0
- package/dist/browser/layout/refresh-messages.js.map +1 -0
- package/dist/browser/layout/settings-messages.js +54 -0
- package/dist/browser/layout/settings-messages.js.map +1 -0
- package/dist/browser/layout/workspace-messages.js +56 -0
- package/dist/browser/layout/workspace-messages.js.map +1 -0
- package/dist/browser/surfaces/Avatar.js +5 -5
- package/dist/browser/surfaces/Avatar.js.map +1 -1
- package/dist/browser/surfaces/ResourceCard.js +4 -2
- package/dist/browser/surfaces/ResourceCard.js.map +1 -1
- package/dist/browser/surfaces/Tag.js +3 -3
- package/dist/browser/surfaces/Tag.js.map +1 -1
- package/dist/browser/surfaces/avatar-messages.js +26 -0
- package/dist/browser/surfaces/avatar-messages.js.map +1 -0
- package/dist/browser/surfaces/resource-messages.js +26 -0
- package/dist/browser/surfaces/resource-messages.js.map +1 -0
- package/dist/browser/widgets/Widget.js +6 -0
- package/dist/browser/widgets/Widget.js.map +1 -1
- package/dist/ssr/actions/Button.js +21 -32
- package/dist/ssr/actions/Button.js.map +1 -1
- package/dist/ssr/actions/ContextMenu.js +7 -3
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/CopyButton.js +9 -7
- package/dist/ssr/actions/CopyButton.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +3 -1
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/GestureMenu.js +4 -0
- package/dist/ssr/actions/GestureMenu.js.map +1 -1
- package/dist/ssr/actions/SpotlightSearch.js +3 -1
- package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
- package/dist/ssr/actions/filter-messages.js +20 -0
- package/dist/ssr/actions/filter-messages.js.map +1 -0
- package/dist/ssr/actions/spotlight-messages.js +16 -0
- package/dist/ssr/actions/spotlight-messages.js.map +1 -0
- package/dist/ssr/chat/ChatComposer.js +47 -41
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatPrimitives.js +23 -21
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/ChatRoot.js +3 -3
- package/dist/ssr/chat/ChatRoot.js.map +1 -1
- package/dist/ssr/chat/ChatTimeline.js +11 -11
- package/dist/ssr/chat/ChatTimeline.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +236 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -0
- package/dist/ssr/content/Calendar.js +1232 -115
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/Chart.js +12 -5
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/ChartExplorer.js +10 -8
- package/dist/ssr/content/ChartExplorer.js.map +1 -1
- package/dist/ssr/content/ChartExplorerControls.js +9 -7
- package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
- package/dist/ssr/content/ChartFilterControls.js +4 -2
- package/dist/ssr/content/ChartFilterControls.js.map +1 -1
- package/dist/ssr/content/ChartSnapshotView.js +3 -3
- package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
- package/dist/ssr/content/DataTable.js +10 -4
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/Docs.js +3 -1
- package/dist/ssr/content/Docs.js.map +1 -1
- package/dist/ssr/content/FileBrowser.js +30 -26
- package/dist/ssr/content/FileBrowser.js.map +1 -1
- package/dist/ssr/content/FileTree.js +9 -7
- package/dist/ssr/content/FileTree.js.map +1 -1
- package/dist/ssr/content/FileView.js +37 -28
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/Lightbox.js +8 -6
- package/dist/ssr/content/Lightbox.js.map +1 -1
- package/dist/ssr/content/LogEntriesTable.js +3 -3
- package/dist/ssr/content/LogEntriesTable.js.map +1 -1
- package/dist/ssr/content/MessageRow.js +24 -22
- package/dist/ssr/content/MessageRow.js.map +1 -1
- package/dist/ssr/content/Pagination.js +6 -6
- package/dist/ssr/content/Pagination.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +15 -13
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/content/RangePicker.js +3 -1
- package/dist/ssr/content/RangePicker.js.map +1 -1
- package/dist/ssr/content/StructuredDataPreview.js +3 -1
- package/dist/ssr/content/StructuredDataPreview.js.map +1 -1
- package/dist/ssr/content/Timeline.js +13 -11
- package/dist/ssr/content/Timeline.js.map +1 -1
- package/dist/ssr/content/VideoPlayer.js +5 -5
- package/dist/ssr/content/VideoPlayer.js.map +1 -1
- package/dist/ssr/content/VirtualFeed.js +6 -4
- package/dist/ssr/content/VirtualFeed.js.map +1 -1
- package/dist/ssr/content/ZoomPanViewport.js +7 -4
- package/dist/ssr/content/ZoomPanViewport.js.map +1 -1
- package/dist/ssr/content/calendar-messages.js +121 -0
- package/dist/ssr/content/calendar-messages.js.map +1 -0
- package/dist/ssr/content/calendar-month-layout.js +108 -0
- package/dist/ssr/content/calendar-month-layout.js.map +1 -0
- package/dist/ssr/content/calendar-pointer.js +4 -3
- package/dist/ssr/content/calendar-pointer.js.map +1 -1
- package/dist/ssr/content/chart-messages.js +136 -0
- package/dist/ssr/content/chart-messages.js.map +1 -0
- package/dist/ssr/content/collection-selection.js +2 -0
- package/dist/ssr/content/collection-selection.js.map +1 -1
- package/dist/ssr/content/data-table-messages.js +24 -0
- package/dist/ssr/content/data-table-messages.js.map +1 -0
- package/dist/ssr/content/docs-messages.js +24 -0
- package/dist/ssr/content/docs-messages.js.map +1 -0
- package/dist/ssr/content/feed-messages.js +34 -0
- package/dist/ssr/content/feed-messages.js.map +1 -0
- package/dist/ssr/content/file-browser-messages.js +69 -0
- package/dist/ssr/content/file-browser-messages.js.map +1 -0
- package/dist/ssr/content/file-view-messages.js +64 -0
- package/dist/ssr/content/file-view-messages.js.map +1 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/lightbox-messages.js +36 -0
- package/dist/ssr/content/lightbox-messages.js.map +1 -0
- package/dist/ssr/content/log-entries-messages.js +20 -0
- package/dist/ssr/content/log-entries-messages.js.map +1 -0
- package/dist/ssr/content/markdown-info-block-messages.js +24 -0
- package/dist/ssr/content/markdown-info-block-messages.js.map +1 -0
- package/dist/ssr/content/markdown-info-blocks.js +3 -3
- package/dist/ssr/content/markdown-info-blocks.js.map +1 -1
- package/dist/ssr/content/markdown-links.js +2 -2
- package/dist/ssr/content/markdown-links.js.map +1 -1
- package/dist/ssr/content/markdown-reference-messages.js +30 -0
- package/dist/ssr/content/markdown-reference-messages.js.map +1 -0
- package/dist/ssr/content/pagination-messages.js +38 -0
- package/dist/ssr/content/pagination-messages.js.map +1 -0
- package/dist/ssr/content/pdf-messages.js +43 -0
- package/dist/ssr/content/pdf-messages.js.map +1 -0
- package/dist/ssr/content/range-picker-messages.js +20 -0
- package/dist/ssr/content/range-picker-messages.js.map +1 -0
- package/dist/ssr/content/structured-data-messages.js +22 -0
- package/dist/ssr/content/structured-data-messages.js.map +1 -0
- package/dist/ssr/content/timeline-messages.js +62 -0
- package/dist/ssr/content/timeline-messages.js.map +1 -0
- package/dist/ssr/content/video-messages.js +24 -0
- package/dist/ssr/content/video-messages.js.map +1 -0
- package/dist/ssr/content/viewport-messages.js +28 -0
- package/dist/ssr/content/viewport-messages.js.map +1 -0
- package/dist/ssr/feedback/HoverPreview.js +34 -6
- package/dist/ssr/feedback/HoverPreview.js.map +1 -1
- package/dist/ssr/feedback/InstallGuide.js +18 -18
- package/dist/ssr/feedback/InstallGuide.js.map +1 -1
- package/dist/ssr/feedback/install-messages.js +104 -0
- package/dist/ssr/feedback/install-messages.js.map +1 -0
- package/dist/ssr/feedback/prompt-messages.js +65 -0
- package/dist/ssr/feedback/prompt-messages.js.map +1 -0
- package/dist/ssr/feedback/prompts.js +14 -11
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/feedback/toast-messages.js +18 -0
- package/dist/ssr/feedback/toast-messages.js.map +1 -0
- package/dist/ssr/feedback/toast.js +4 -3
- package/dist/ssr/feedback/toast.js.map +1 -1
- package/dist/ssr/index.js +1 -1
- package/dist/ssr/index.js.map +1 -1
- package/dist/ssr/inputs/AutocompleteEditor.js +5 -3
- package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/ssr/inputs/AutocompleteSelect.js +10 -8
- package/dist/ssr/inputs/AutocompleteSelect.js.map +1 -1
- package/dist/ssr/inputs/ChoiceGroups.js +4 -0
- package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
- package/dist/ssr/inputs/ChoiceInputs.js +5 -5
- package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
- package/dist/ssr/inputs/Combobox.js +3 -1
- package/dist/ssr/inputs/Combobox.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +34 -4
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/FileDropTarget.js +6 -6
- package/dist/ssr/inputs/FileDropTarget.js.map +1 -1
- package/dist/ssr/inputs/FileInputs.js +29 -20
- package/dist/ssr/inputs/FileInputs.js.map +1 -1
- package/dist/ssr/inputs/MultiSelectInput.js +7 -5
- package/dist/ssr/inputs/MultiSelectInput.js.map +1 -1
- package/dist/ssr/inputs/NumberInput.js +4 -2
- package/dist/ssr/inputs/NumberInput.js.map +1 -1
- package/dist/ssr/inputs/QrScanner.js +4 -4
- package/dist/ssr/inputs/QrScanner.js.map +1 -1
- package/dist/ssr/inputs/Select.js +7 -5
- package/dist/ssr/inputs/Select.js.map +1 -1
- package/dist/ssr/inputs/SelectChip.js +3 -3
- package/dist/ssr/inputs/SelectChip.js.map +1 -1
- package/dist/ssr/inputs/SignatureInput.js +9 -3
- package/dist/ssr/inputs/SignatureInput.js.map +1 -1
- package/dist/ssr/inputs/SpecialInputs.js +4 -2
- package/dist/ssr/inputs/SpecialInputs.js.map +1 -1
- package/dist/ssr/inputs/TagEditor.js +8 -6
- package/dist/ssr/inputs/TagEditor.js.map +1 -1
- package/dist/ssr/inputs/TagsInput.js +5 -5
- package/dist/ssr/inputs/TagsInput.js.map +1 -1
- package/dist/ssr/inputs/TemplateEditor.js +5 -5
- package/dist/ssr/inputs/TemplateEditor.js.map +1 -1
- package/dist/ssr/inputs/TextInput.js +3 -1
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/completion-messages.js +24 -0
- package/dist/ssr/inputs/completion-messages.js.map +1 -0
- package/dist/ssr/inputs/date-picker.js +24 -0
- package/dist/ssr/inputs/date-picker.js.map +1 -1
- package/dist/ssr/inputs/file-drop-messages.js +63 -0
- package/dist/ssr/inputs/file-drop-messages.js.map +1 -0
- package/dist/ssr/inputs/file-drop.js.map +1 -1
- package/dist/ssr/inputs/file-input-messages.js +60 -0
- package/dist/ssr/inputs/file-input-messages.js.map +1 -0
- package/dist/ssr/inputs/icon-messages.js +22 -0
- package/dist/ssr/inputs/icon-messages.js.map +1 -0
- package/dist/ssr/inputs/input-messages.js +38 -0
- package/dist/ssr/inputs/input-messages.js.map +1 -0
- package/dist/ssr/inputs/markdown/MarkdownEditor.js +9 -5
- package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/ssr/inputs/markdown/Toolbar.js +13 -13
- package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
- package/dist/ssr/inputs/markdown/editor-messages.js +43 -0
- package/dist/ssr/inputs/markdown/editor-messages.js.map +1 -0
- package/dist/ssr/inputs/markdown/toolbar-messages.js +40 -0
- package/dist/ssr/inputs/markdown/toolbar-messages.js.map +1 -0
- package/dist/ssr/inputs/qr-messages.js +26 -0
- package/dist/ssr/inputs/qr-messages.js.map +1 -0
- package/dist/ssr/inputs/select-messages.js +63 -0
- package/dist/ssr/inputs/select-messages.js.map +1 -0
- package/dist/ssr/inputs/tag-messages.js +44 -0
- package/dist/ssr/inputs/tag-messages.js.map +1 -0
- package/dist/ssr/inputs/template-messages.js +22 -0
- package/dist/ssr/inputs/template-messages.js.map +1 -0
- package/dist/ssr/internal/render-error-messages.js +20 -0
- package/dist/ssr/internal/render-error-messages.js.map +1 -0
- package/dist/ssr/internal/render-error.js +3 -1
- package/dist/ssr/internal/render-error.js.map +1 -1
- package/dist/ssr/internal/text-selection.js +101 -0
- package/dist/ssr/internal/text-selection.js.map +1 -0
- package/dist/ssr/intl/messages.js +12 -1155
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +203 -96
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/BottomSheet.js +1 -0
- package/dist/ssr/layout/BottomSheet.js.map +1 -1
- package/dist/ssr/layout/Discussion.js +8 -5
- package/dist/ssr/layout/Discussion.js.map +1 -1
- package/dist/ssr/layout/FloatingWindow.js +8 -5
- package/dist/ssr/layout/FloatingWindow.js.map +1 -1
- package/dist/ssr/layout/Navigation.js +6 -5
- package/dist/ssr/layout/Navigation.js.map +1 -1
- package/dist/ssr/layout/PageTitle.js +253 -0
- package/dist/ssr/layout/PageTitle.js.map +1 -0
- package/dist/ssr/layout/PanelDialog.js +8 -6
- package/dist/ssr/layout/PanelDialog.js.map +1 -1
- package/dist/ssr/layout/Panes.js +22 -14
- package/dist/ssr/layout/Panes.js.map +1 -1
- package/dist/ssr/layout/PullToRefresh.js +13 -4
- package/dist/ssr/layout/PullToRefresh.js.map +1 -1
- package/dist/ssr/layout/Settings.js +14 -12
- package/dist/ssr/layout/Settings.js.map +1 -1
- package/dist/ssr/layout/SettingsCollection.js +6 -5
- package/dist/ssr/layout/SettingsCollection.js.map +1 -1
- package/dist/ssr/layout/SettingsModal.js +3 -1
- package/dist/ssr/layout/SettingsModal.js.map +1 -1
- package/dist/ssr/layout/app-workspace-controller.js +743 -12
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/app-workspace-state.js +3 -2
- package/dist/ssr/layout/app-workspace-state.js.map +1 -1
- package/dist/ssr/layout/floating-window-messages.js +28 -0
- package/dist/ssr/layout/floating-window-messages.js.map +1 -0
- package/dist/ssr/layout/index.js +2 -0
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/navigation-model.js.map +1 -1
- package/dist/ssr/layout/page-title-controller.js +169 -0
- package/dist/ssr/layout/page-title-controller.js.map +1 -0
- package/dist/ssr/layout/panel-dialog-messages.js +20 -0
- package/dist/ssr/layout/panel-dialog-messages.js.map +1 -0
- package/dist/ssr/layout/panes-messages.js +48 -0
- package/dist/ssr/layout/panes-messages.js.map +1 -0
- package/dist/ssr/layout/refresh-messages.js +20 -0
- package/dist/ssr/layout/refresh-messages.js.map +1 -0
- package/dist/ssr/layout/settings-messages.js +54 -0
- package/dist/ssr/layout/settings-messages.js.map +1 -0
- package/dist/ssr/layout/workspace-messages.js +56 -0
- package/dist/ssr/layout/workspace-messages.js.map +1 -0
- package/dist/ssr/surfaces/Avatar.js +5 -5
- package/dist/ssr/surfaces/Avatar.js.map +1 -1
- package/dist/ssr/surfaces/ResourceCard.js +4 -2
- package/dist/ssr/surfaces/ResourceCard.js.map +1 -1
- package/dist/ssr/surfaces/Tag.js +3 -3
- package/dist/ssr/surfaces/Tag.js.map +1 -1
- package/dist/ssr/surfaces/avatar-messages.js +26 -0
- package/dist/ssr/surfaces/avatar-messages.js.map +1 -0
- package/dist/ssr/surfaces/resource-messages.js +26 -0
- package/dist/ssr/surfaces/resource-messages.js.map +1 -0
- package/dist/ssr/widgets/Widget.js +6 -0
- package/dist/ssr/widgets/Widget.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/GestureMenu.d.ts +2 -0
- package/dist/types/actions/filter-messages.d.ts +8 -0
- package/dist/types/actions/spotlight-messages.d.ts +8 -0
- package/dist/types/chat/chat-messages.d.ts +116 -0
- package/dist/types/content/Calendar.d.ts +32 -0
- package/dist/types/content/DataTable.d.ts +2 -0
- package/dist/types/content/FileView.d.ts +0 -10
- package/dist/types/content/calendar-messages.d.ts +60 -0
- package/dist/types/content/calendar-month-layout.d.ts +52 -0
- package/dist/types/content/chart-messages.d.ts +32 -0
- package/dist/types/content/data-table-messages.d.ts +10 -0
- package/dist/types/content/docs-messages.d.ts +10 -0
- package/dist/types/content/feed-messages.d.ts +15 -0
- package/dist/types/content/file-browser-messages.d.ts +33 -0
- package/dist/types/content/file-view-messages.d.ts +30 -0
- package/dist/types/content/index.d.ts +1 -1
- package/dist/types/content/lightbox-messages.d.ts +16 -0
- package/dist/types/content/log-entries-messages.d.ts +8 -0
- package/dist/types/content/markdown-info-block-messages.d.ts +12 -0
- package/dist/types/content/markdown-reference-messages.d.ts +15 -0
- package/dist/types/content/pagination-messages.d.ts +17 -0
- package/dist/types/content/pdf-messages.d.ts +20 -0
- package/dist/types/content/range-picker-messages.d.ts +8 -0
- package/dist/types/content/structured-data-messages.d.ts +9 -0
- package/dist/types/content/timeline-messages.d.ts +29 -0
- package/dist/types/content/video-messages.d.ts +10 -0
- package/dist/types/content/viewport-messages.d.ts +12 -0
- package/dist/types/feedback/install-messages.d.ts +50 -0
- package/dist/types/feedback/prompt-messages.d.ts +31 -0
- package/dist/types/feedback/toast-messages.d.ts +9 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/inputs/completion-messages.d.ts +10 -0
- package/dist/types/inputs/date-picker.d.ts +7 -0
- package/dist/types/inputs/file-drop-messages.d.ts +30 -0
- package/dist/types/inputs/file-drop.d.ts +3 -3
- package/dist/types/inputs/file-input-messages.d.ts +28 -0
- package/dist/types/inputs/icon-messages.d.ts +9 -0
- package/dist/types/inputs/input-messages.d.ts +17 -0
- package/dist/types/inputs/markdown/editor-messages.d.ts +20 -0
- package/dist/types/inputs/markdown/toolbar-messages.d.ts +18 -0
- package/dist/types/inputs/qr-messages.d.ts +11 -0
- package/dist/types/inputs/select-messages.d.ts +30 -0
- package/dist/types/inputs/tag-messages.d.ts +20 -0
- package/dist/types/inputs/template-messages.d.ts +9 -0
- package/dist/types/internal/render-error-messages.d.ts +8 -0
- package/dist/types/internal/text-selection.d.ts +18 -0
- package/dist/types/intl/messages.d.ts +6 -544
- package/dist/types/layout/AppWorkspace.d.ts +19 -4
- package/dist/types/layout/PageTitle.d.ts +64 -0
- package/dist/types/layout/app-workspace-controller.d.ts +4 -0
- package/dist/types/layout/app-workspace-state.d.ts +3 -2
- package/dist/types/layout/floating-window-messages.d.ts +12 -0
- package/dist/types/layout/index.d.ts +3 -0
- package/dist/types/layout/navigation-model.d.ts +7 -0
- package/dist/types/layout/page-title-controller.d.ts +13 -0
- package/dist/types/layout/panel-dialog-messages.d.ts +8 -0
- package/dist/types/layout/panes-messages.d.ts +22 -0
- package/dist/types/layout/refresh-messages.d.ts +8 -0
- package/dist/types/layout/settings-messages.d.ts +25 -0
- package/dist/types/layout/workspace-messages.d.ts +26 -0
- package/dist/types/surfaces/avatar-messages.d.ts +11 -0
- package/dist/types/surfaces/resource-messages.d.ts +11 -0
- package/dist/types/widgets/Widget.d.ts +5 -1
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { i18n } from "@k2b/stdlib";
|
|
2
|
+
import { useLocale } from "../intl/locale";
|
|
3
|
+
const renderErrorMessages = i18n.define({
|
|
4
|
+
baseLocale: "en",
|
|
5
|
+
messages: {
|
|
6
|
+
en: {
|
|
7
|
+
couldNotDisplayContent: "This content could not be displayed."
|
|
8
|
+
},
|
|
9
|
+
de: {
|
|
10
|
+
couldNotDisplayContent: "Dieser Inhalt konnte nicht angezeigt werden."
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
/** Resolved from the inherited render locale. */
|
|
15
|
+
export const useRenderErrorMessages = () => {
|
|
16
|
+
const locale = useLocale();
|
|
17
|
+
return () => renderErrorMessages.resolve([locale()]).t;
|
|
18
|
+
};
|
|
19
|
+
export const checkRenderErrorMessages = () => renderErrorMessages.check();
|
|
20
|
+
//# sourceMappingURL=render-error-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["internal/render-error-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst renderErrorMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n couldNotDisplayContent: \"This content could not be displayed.\",\n },\n de: {\n couldNotDisplayContent: \"Dieser Inhalt konnte nicht angezeigt werden.\",\n },\n },\n});\n\nexport type RenderErrorMessages = ReturnType<(typeof renderErrorMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useRenderErrorMessages = (): (() => RenderErrorMessages) => {\n const locale = useLocale();\n return () => renderErrorMessages.resolve([locale()]).t;\n};\n\nexport const checkRenderErrorMessages = () => renderErrorMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;EACtC,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,sBAAsB,EAAE;IAC1B,CAAC;IACD,EAAE,EAAE;MACF,sBAAsB,EAAE;IAC1B;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,sBAAsB,GAAG,MAAmC;EACvE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,OAAO,MAAM,wBAAwB,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { ErrorBoundary, untrack } from "solid-js";
|
|
|
4
4
|
import { Button } from "../actions/Button";
|
|
5
5
|
import { useUiMessages } from "../intl/messages";
|
|
6
6
|
import Placeholder from "../surfaces/Placeholder";
|
|
7
|
+
import { useRenderErrorMessages } from "./render-error-messages";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Guards a Solid root that @k2b/ui creates itself, such as a dialog or a floating window. These roots are mostly
|
|
@@ -30,10 +31,11 @@ export function RenderErrorBoundary(props) {
|
|
|
30
31
|
}
|
|
31
32
|
function RenderErrorNotice(props) {
|
|
32
33
|
const messages = useUiMessages();
|
|
34
|
+
const renderErrorMessages = useRenderErrorMessages();
|
|
33
35
|
return _$createComponent(Placeholder, {
|
|
34
36
|
state: "error",
|
|
35
37
|
get title() {
|
|
36
|
-
return
|
|
38
|
+
return renderErrorMessages().couldNotDisplayContent;
|
|
37
39
|
},
|
|
38
40
|
get action() {
|
|
39
41
|
return _$memo(() => !!props.onClose)() ? _$createComponent(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["internal/render-error.tsx"],"sourcesContent":["import { ErrorBoundary, type JSX, untrack } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { useUiMessages } from \"../intl/messages\";\nimport Placeholder from \"../surfaces/Placeholder\";\n\n/**\n * Guards a Solid root that @k2b/ui creates itself, such as a dialog or a floating window. These roots are mostly\n * opened from a click handler, outside any owner and any island boundary. Without a boundary of their own, content\n * that throws on an update throws into the code that wrote the signal and leaves other parts of the page stale.\n * The content is created untracked, as `render()` and components create it, so a signal it reads directly does not\n * rebuild it. `onClose` adds a Close button for a root whose content draws its own close control.\n */\nexport function RenderErrorBoundary(props: { content: () => JSX.Element; onClose?: () => void; onError?: () => void }): JSX.Element {\n return (\n <ErrorBoundary\n fallback={(error: unknown) => {\n globalThis.reportError(error);\n props.onError?.();\n return <RenderErrorNotice onClose={props.onClose} />;\n }}\n >\n {untrack(props.content)}\n </ErrorBoundary>\n );\n}\n\nfunction RenderErrorNotice(props: { onClose?: () => void }): JSX.Element {\n const messages = useUiMessages();\n return (\n <Placeholder\n state=\"error\"\n title={
|
|
1
|
+
{"version":3,"names":[],"sources":["internal/render-error.tsx"],"sourcesContent":["import { ErrorBoundary, type JSX, untrack } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { useUiMessages } from \"../intl/messages\";\nimport Placeholder from \"../surfaces/Placeholder\";\nimport { useRenderErrorMessages } from \"./render-error-messages\";\n\n/**\n * Guards a Solid root that @k2b/ui creates itself, such as a dialog or a floating window. These roots are mostly\n * opened from a click handler, outside any owner and any island boundary. Without a boundary of their own, content\n * that throws on an update throws into the code that wrote the signal and leaves other parts of the page stale.\n * The content is created untracked, as `render()` and components create it, so a signal it reads directly does not\n * rebuild it. `onClose` adds a Close button for a root whose content draws its own close control.\n */\nexport function RenderErrorBoundary(props: { content: () => JSX.Element; onClose?: () => void; onError?: () => void }): JSX.Element {\n return (\n <ErrorBoundary\n fallback={(error: unknown) => {\n globalThis.reportError(error);\n props.onError?.();\n return <RenderErrorNotice onClose={props.onClose} />;\n }}\n >\n {untrack(props.content)}\n </ErrorBoundary>\n );\n}\n\nfunction RenderErrorNotice(props: { onClose?: () => void }): JSX.Element {\n const messages = useUiMessages();\n const renderErrorMessages = useRenderErrorMessages();\n return (\n <Placeholder\n state=\"error\"\n title={renderErrorMessages().couldNotDisplayContent}\n action={\n props.onClose ? (\n <Button variant=\"secondary\" onClick={() => props.onClose?.()}>\n {messages().close}\n </Button>\n ) : undefined\n }\n />\n );\n}\n"],"mappings":";;AAAA,SAAS,aAAa,EAAY,OAAO,QAAQ,UAAU;AAC3D,SAAS,MAAM,QAAQ,mBAAmB;AAC1C,SAAS,aAAa,QAAQ,kBAAkB;AAChD,OAAO,WAAW,MAAM,yBAAyB;AACjD,SAAS,sBAAsB,QAAQ,yBAAyB;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,mBAAmB,CAAC,KAAiF,EAAe;EAClI,yBACG,aAAa;IACZ,QAAQ,EAAG,KAAc,IAAK;MAC5B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;MAC7B,KAAK,CAAC,OAAO,GAAG,CAAC;MACjB,yBAAQ,iBAAiB;QAAA,IAAC,OAAO;UAAA,OAAE,KAAK,CAAC,OAAO;QAAA;MAAA;IAClD,CAAC;IAAA;MAAA,OAEA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IAAA;EAAA;AAG7B;AAEA,SAAS,iBAAiB,CAAC,KAA+B,EAAe;EACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC;EAChC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,CAAC;EACpD,yBACG,WAAW;IACV,KAAK;IAAA,IACL,KAAK;MAAA,OAAE,mBAAmB,CAAC,CAAC,CAAC,sBAAsB;IAAA;IAAA,IACnD,MAAM;MAAA,OACJ,oBAAK,CAAC,OAAO,wBACV,MAAM;QAAC,OAAO;QAAa,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC;QAAA;UAAA,OACzD,QAAQ,CAAC,CAAC,CAAC,KAAK;QAAA;MAAA,KAEjB,SAAS;IAAA;EAAA;AAIrB","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A pointer drag sweeps across page text. No engine may turn that sweep into a
|
|
3
|
+
* text selection: iPadOS starts a mouse or trackpad selection through the
|
|
4
|
+
* system's text interaction, which a prevented `pointerdown` does not stop and
|
|
5
|
+
* which reads only the prefixed `-webkit-user-select`. Every engine gets both
|
|
6
|
+
* properties, a cancelled `selectstart`, and a selection the press or the drag
|
|
7
|
+
* made anyway is cleared. Outside a drag, text selection is untouched.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const properties = ["user-select", "-webkit-user-select", "-webkit-touch-callout"];
|
|
11
|
+
const markSelection = () => {
|
|
12
|
+
const selection = document.getSelection();
|
|
13
|
+
if (!selection || selection.isCollapsed) return null;
|
|
14
|
+
const {
|
|
15
|
+
anchorNode,
|
|
16
|
+
anchorOffset,
|
|
17
|
+
focusNode,
|
|
18
|
+
focusOffset
|
|
19
|
+
} = selection;
|
|
20
|
+
return {
|
|
21
|
+
anchorNode,
|
|
22
|
+
anchorOffset,
|
|
23
|
+
focusNode,
|
|
24
|
+
focusOffset
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The selection as the last press found it. A drag may start only after a
|
|
30
|
+
* threshold, when the press has already begun a selection of its own; that one
|
|
31
|
+
* goes, a selection from before the press stays.
|
|
32
|
+
*/
|
|
33
|
+
let selectionAtPress = null;
|
|
34
|
+
if (typeof window !== "undefined") window.addEventListener("pointerdown", () => selectionAtPress = markSelection(), true);
|
|
35
|
+
|
|
36
|
+
/** One release per active drag; the page selects text again once all are released. */
|
|
37
|
+
const holds = new Set();
|
|
38
|
+
let restore = null;
|
|
39
|
+
const preventSelectStart = event => event.preventDefault();
|
|
40
|
+
const releaseAll = () => {
|
|
41
|
+
for (const release of [...holds]) release();
|
|
42
|
+
};
|
|
43
|
+
const engage = () => {
|
|
44
|
+
const style = document.documentElement.style;
|
|
45
|
+
const previous = properties.map(property => [property, style.getPropertyValue(property), style.getPropertyPriority(property)]);
|
|
46
|
+
for (const property of properties) style.setProperty(property, "none");
|
|
47
|
+
const kept = selectionAtPress;
|
|
48
|
+
const clearDragSelection = () => {
|
|
49
|
+
const current = markSelection();
|
|
50
|
+
if (!current) return;
|
|
51
|
+
if (kept && current.anchorNode === kept.anchorNode && current.anchorOffset === kept.anchorOffset && current.focusNode === kept.focusNode && current.focusOffset === kept.focusOffset) return;
|
|
52
|
+
document.getSelection()?.removeAllRanges();
|
|
53
|
+
};
|
|
54
|
+
clearDragSelection();
|
|
55
|
+
document.addEventListener("selectstart", preventSelectStart, true);
|
|
56
|
+
// WebKit reports no `selectionchange` for a selection in content that has
|
|
57
|
+
// just become unselectable, so every move of the drag looks as well.
|
|
58
|
+
document.addEventListener("selectionchange", clearDragSelection);
|
|
59
|
+
window.addEventListener("pointermove", clearDragSelection, true);
|
|
60
|
+
window.addEventListener("blur", releaseAll);
|
|
61
|
+
return () => {
|
|
62
|
+
clearDragSelection();
|
|
63
|
+
document.removeEventListener("selectstart", preventSelectStart, true);
|
|
64
|
+
document.removeEventListener("selectionchange", clearDragSelection);
|
|
65
|
+
window.removeEventListener("pointermove", clearDragSelection, true);
|
|
66
|
+
window.removeEventListener("blur", releaseAll);
|
|
67
|
+
for (const [property, value, priority] of previous) {
|
|
68
|
+
if (value) style.setProperty(property, value, priority);else style.removeProperty(property);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Keeps the page from selecting text while the pointer `pointerId` drags.
|
|
75
|
+
* Call it when the drag starts and the returned function when it ends; the
|
|
76
|
+
* function is safe to call more than once. The pointer's `pointerup` or
|
|
77
|
+
* `pointercancel` and a window `blur` end the hold as well, so a drag that
|
|
78
|
+
* misses its own cleanup cannot leave the page unselectable. Overlapping drags
|
|
79
|
+
* share one hold, and the last release restores the page's inline styles
|
|
80
|
+
* exactly.
|
|
81
|
+
*/
|
|
82
|
+
export const suppressTextSelection = pointerId => {
|
|
83
|
+
if (typeof document === "undefined") return () => {};
|
|
84
|
+
const end = event => {
|
|
85
|
+
if (event.pointerId === pointerId) release();
|
|
86
|
+
};
|
|
87
|
+
const release = () => {
|
|
88
|
+
if (!holds.delete(release)) return;
|
|
89
|
+
window.removeEventListener("pointerup", end, true);
|
|
90
|
+
window.removeEventListener("pointercancel", end, true);
|
|
91
|
+
if (holds.size > 0) return;
|
|
92
|
+
restore?.();
|
|
93
|
+
restore = null;
|
|
94
|
+
};
|
|
95
|
+
restore ??= engage();
|
|
96
|
+
holds.add(release);
|
|
97
|
+
window.addEventListener("pointerup", end, true);
|
|
98
|
+
window.addEventListener("pointercancel", end, true);
|
|
99
|
+
return release;
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=text-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["internal/text-selection.ts"],"sourcesContent":["/**\n * A pointer drag sweeps across page text. No engine may turn that sweep into a\n * text selection: iPadOS starts a mouse or trackpad selection through the\n * system's text interaction, which a prevented `pointerdown` does not stop and\n * which reads only the prefixed `-webkit-user-select`. Every engine gets both\n * properties, a cancelled `selectstart`, and a selection the press or the drag\n * made anyway is cleared. Outside a drag, text selection is untouched.\n */\n\nconst properties = [\"user-select\", \"-webkit-user-select\", \"-webkit-touch-callout\"] as const;\n\ntype SelectionMark = { anchorNode: Node | null; anchorOffset: number; focusNode: Node | null; focusOffset: number };\n\nconst markSelection = (): SelectionMark | null => {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) return null;\n const { anchorNode, anchorOffset, focusNode, focusOffset } = selection;\n return { anchorNode, anchorOffset, focusNode, focusOffset };\n};\n\n/**\n * The selection as the last press found it. A drag may start only after a\n * threshold, when the press has already begun a selection of its own; that one\n * goes, a selection from before the press stays.\n */\nlet selectionAtPress: SelectionMark | null = null;\nif (typeof window !== \"undefined\") window.addEventListener(\"pointerdown\", () => (selectionAtPress = markSelection()), true);\n\n/** One release per active drag; the page selects text again once all are released. */\nconst holds = new Set<() => void>();\nlet restore: (() => void) | null = null;\n\nconst preventSelectStart = (event: Event) => event.preventDefault();\n\nconst releaseAll = () => {\n for (const release of [...holds]) release();\n};\n\nconst engage = (): (() => void) => {\n const style = document.documentElement.style;\n const previous = properties.map((property) => [property, style.getPropertyValue(property), style.getPropertyPriority(property)] as const);\n for (const property of properties) style.setProperty(property, \"none\");\n const kept = selectionAtPress;\n const clearDragSelection = () => {\n const current = markSelection();\n if (!current) return;\n if (\n kept &&\n current.anchorNode === kept.anchorNode &&\n current.anchorOffset === kept.anchorOffset &&\n current.focusNode === kept.focusNode &&\n current.focusOffset === kept.focusOffset\n )\n return;\n document.getSelection()?.removeAllRanges();\n };\n clearDragSelection();\n document.addEventListener(\"selectstart\", preventSelectStart, true);\n // WebKit reports no `selectionchange` for a selection in content that has\n // just become unselectable, so every move of the drag looks as well.\n document.addEventListener(\"selectionchange\", clearDragSelection);\n window.addEventListener(\"pointermove\", clearDragSelection, true);\n window.addEventListener(\"blur\", releaseAll);\n return () => {\n clearDragSelection();\n document.removeEventListener(\"selectstart\", preventSelectStart, true);\n document.removeEventListener(\"selectionchange\", clearDragSelection);\n window.removeEventListener(\"pointermove\", clearDragSelection, true);\n window.removeEventListener(\"blur\", releaseAll);\n for (const [property, value, priority] of previous) {\n if (value) style.setProperty(property, value, priority);\n else style.removeProperty(property);\n }\n };\n};\n\n/**\n * Keeps the page from selecting text while the pointer `pointerId` drags.\n * Call it when the drag starts and the returned function when it ends; the\n * function is safe to call more than once. The pointer's `pointerup` or\n * `pointercancel` and a window `blur` end the hold as well, so a drag that\n * misses its own cleanup cannot leave the page unselectable. Overlapping drags\n * share one hold, and the last release restores the page's inline styles\n * exactly.\n */\nexport const suppressTextSelection = (pointerId: number): (() => void) => {\n if (typeof document === \"undefined\") return () => {};\n const end = (event: PointerEvent) => {\n if (event.pointerId === pointerId) release();\n };\n const release = () => {\n if (!holds.delete(release)) return;\n window.removeEventListener(\"pointerup\", end, true);\n window.removeEventListener(\"pointercancel\", end, true);\n if (holds.size > 0) return;\n restore?.();\n restore = null;\n };\n restore ??= engage();\n holds.add(release);\n window.addEventListener(\"pointerup\", end, true);\n window.addEventListener(\"pointercancel\", end, true);\n return release;\n};\n"],"mappings":"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","ignoreList":[]}
|